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. C'est le 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.
Ici, à LinuxAPT, nous examinerons "Netcat", une commande qui est utilisée pour lire et écrire des disques sur des réseaux en utilisant les protocoles TCP et UDP sur Ubuntu 20.04 (Linux OS).
En savoir plus sur Netcat ?
Netcat peut être un outil utile pour toute équipe informatique, même si la croissance des services réseau gérés en interne et du cloud computing fait de cet environnement particulier un choix naturel.
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.
Comment utiliser 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 des ports via Netcat.
- Envoi de fichiers via Netcat.
- Créer un serveur Web via Netcat.
Sa syntaxe est :
$ nc [options] host port
Soit "nc" soit "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
1. Effectuez 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.
un. Pour TCP, pour 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 scanner 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
b. Pour 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
2. Envoyez des 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
3. Créer 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 selon 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