La lecture et l'écriture sont les opérations de base qui peuvent être appliquées aux données dans chaque système. TCP est l'abréviation de Transmission Control Protocol et est un protocole de communication orienté connexion qui permet aux ordinateurs d'un réseau d'envoyer et de recevoir plus facilement des messages. Il s'agit du protocole le plus largement utilisé dans les réseaux qui utilisent le protocole Internet (IP) ; il est parfois appelé TCP/IP lorsqu'il est utilisé conjointement. UDP, abrégé en User Datagram Protocol, est un protocole de communication utilisé pour construire des connexions à faible latence et tolérantes aux pertes entre les applications sur Internet. Dans cet article, nous aborderons la commande "Netcat", qui est utilisée pour lire et écrire des disques sur des réseaux à l'aide des protocoles TCP et UDP sur Ubuntu 20.04 (Linux OS).
L'application utilitaire Netcat comprend plusieurs instructions pour gérer les réseaux et surveiller le niveau de données entre les systèmes. Les protocoles TCP et UDP sont à la base des réseaux informatiques, comme Internet. Il est considéré comme le couteau suisse des outils de mise en réseau et fait partie des outils les plus efficaces de l'arsenal des administrateurs réseau et système. Netcat est un programme multiplateforme qui s'exécute sous Linux, Windows, Mac OS X et BSD. Netcat peut être utilisé pour déboguer et analyser les problèmes de connectivité, rechercher les ports ouverts, transférer des données et agir en tant que proxy.
Utilisation de Netcat pour lire et écrire des données sur le réseau
Sur macOS et les distributions Linux courantes telles que Ubuntu et Debian, le package Netcat est préinstallé. Certains des utilitaires "Netcat" sont mentionnés ci-dessous.
- Effectuer une analyse de port via Netcat
- Envoi de fichiers via Netcat
- Créer un serveur Web via Netcat
Syntaxe :
$ nc [options] host port |
Soit "nc" ou "netcat" est utilisé sur les systèmes Ubuntu.
Une connexion TCP sera établie pour fournir l'hôte/les hôtes et le port/les ports par Netcat par défaut. Utilisez l'option -u si vous souhaitez créer une connexion UDP.
$ nc -u host port |
Effectuer une analyse de port via Netcat
L'une des applications Netcat les plus répandues est l'analyse des ports. Vous avez la possibilité d'analyser un seul port ou une plage de ports.
TCP :
Rechercher les ports ouverts :
Pour analyser les ports ouverts dans la plage de 30 à 60 à l'aide de Netcat, exécutez la commande mentionnée ci-dessous :
$ nc -z -v 10.0.2.15 30-60 |
-z demandera à NC de simplement rechercher les ports ouverts et de ne pas leur envoyer de données.
-v indique les informations sur le verbeux.
Filtrez le résultat à l'aide de la commande grep :
$ nc -z -v 10.0.2.15 2>&1 | grep succeeded |
Aucune connexion n'a réussi dans cette plage.
UDP :
Ajoutez simplement le paramètre -u au script pour vérifier les ports UDP dans la commande mentionnée ci-dessous :
$ nc -z -v -u 10.0.2.15 30-60 |
Il n'y a pas de port UDP dans cette plage.
Envoi de fichiers via Netcat
En établissant un modèle de base de client ou de serveur, Netcat peut être utilisé pour transporter des données d'un hôte à un autre. Ceci est accompli en utilisant l'option -l sur l'hôte de réception pour configurer Netcat pour qu'il écoute sur un certain port, puis en créant une connexion TCP standard à partir de plusieurs ordinateurs et en transférant le fichier sur celui-ci.
Exécutez la commande mentionnée ci-dessous sur le côté récepteur, qui ouvre le port 6666 pour les connexions entrantes et détourne le résultat de sortie vers le fichier :
$ nc -l 6666 > linux1.txt |
Linux1.txt est le nom du fichier à ouvrir en écriture, et vous pouvez modifier le nom du fichier selon vos besoins.
Maintenant, l'hôte de réception sera connecté à l'hôte d'envoi et enverra le fichier :
$ nc google.com 6666 < linux2.txt |
Création d'un serveur Web via Netcat
Tout d'abord, créez un simple fichier HTML "linux, html" en utilisant la commande nano :
$ nano linux.html |
Tapez le contenu mentionné ci-dessous ou vous pouvez ajouter du contenu en fonction de vos besoins en suivant les règles du fichier html.
<html> <head> <title> Linux<title> <head> <html> |
Enregistrez par "Ctrl+S" et fermez le fichier par "Ctrl+X".
$ printf 'HTTP/1.1 200 OK\n\n%s' "$(cat linux.html)" | netcat -l 8888 |
Maintenant dans le navigateur, vous pouvez accéder au fichier par le lien ci-dessous :
http://server-ip:8888 |
Conclusion :
Netcat est un utilitaire Linux de base qui utilise les protocoles TCP/UDP pour lire et écrire des données sur les connexions réseau. Il est destiné à être un outil backend fiable qui peut être utilisé directement ou simplement par d'autres applications et programmes. Cet article donne des informations sur l'utilisation de Netcat avec les protocoles TCP et UDP et sur d'autres utilisations telles que l'analyse des ports, l'envoi de fichiers et la création d'un serveur Web.