Installation de NetCat dans Linux
Pour commencer, sur les distributions Linux basées à Debian, exécutez la commande ci-dessous pour installer Netcat.
sudo apt installer netcatSur les distributions Linux basées sur Red Hat, vous pouvez installer NetCat en exécutant la commande ci-dessous.
Yum Install -y NCAnalyser un port à l'aide de NC
NetCAT ou NC peut être utilisé pour scanner les ports. La syntaxe pour scanner un seul port est la suivante.
NC -zvnComme vous pouvez le voir, la syntaxe appelle Netcat avec les options choisies (expliquées ci-dessous) suivie de l'adresse IP cible et du port cible, comme indiqué dans l'exemple pratique suivant.
NC -Zvn 172.67.209.252 80Où:
Analyser plusieurs ports avec NC
Vous pouvez également utiliser NetCAT / NC pour scanner plusieurs ports. La syntaxe est la même que celle indiquée précédemment; Ajoutez simplement un espace et les ports que vous souhaitez scanner, comme indiqué dans l'exemple ci-dessous dans lequel les ports 80, 22 et 53 sont scannés.
NC -Zvn 172.67.209.252 80 22 53Scanning Port Ranges avec NetCAT
Vous pouvez scanner des plages de port en implémentant un trait d'union, comme le montre l'exemple suivant dans lequel tous les ports de 80 à 89 (inclus) sont scannés.
NC -Zvn 172.67.209.252 80-89Banner saisissant avec Netcat
La saisie des bannières est une technique utilisée pour apprendre la version logicielle exécutée sur une cible. Les administrateurs système l'utilisent pour garder un inventaire des logiciels sur disque. Les pirates l'utilisent également dans le cadre du processus d'empreinte.
La saisie des bannières analyse les réponses du réseau pour essayer de deviner ou d'apprendre le logiciel derrière notre cible. L'exemple suivant montre comment l'utilisation de NC ou NetCat sans options (ou l'utilisation du -V option) conduit à des informations sur la version cible du serveur FTP.
NC 198.54.116.197 21Comme vous pouvez le voir, Netcat a détecté le pur-FTPD sur la cible. La sortie nous permet également de savoir que la connexion anonyme est interdite, et le serveur prend en charge IPv6.
NC 172.67.209.252 80Transfert de fichiers à l'aide de NC (répertoire actuel)
NetCAT (NC) est également utile pour transférer des fichiers entre les appareils. Dans l'exemple suivant, un fichier nommé Linuxhint.txt sera transféré d'un appareil à un autre.
Le périphérique dans lequel le fichier sera envoyé sur le périphérique de réception, exécutez la commande ci-dessous, où l'option -l indique à Netcat de rester en mode d'écoute en attendant les connexions entrantes. L'option -p définit le numéro de port et > [Nom de fichier] Spécifie le fichier à recevoir. Exécutez la commande ci-dessous sur le périphérique de réception, en remplaçant linuxhint.SMS avec le nom du fichier que vous souhaitez transférer.
NC -L -P 9899> Linuxhint.SMSL'ordinateur à partir duquel le fichier est envoyé sur le périphérique d'envoi, exécutez la commande ci-dessous où le -w L'option spécifie le délai d'attente (2 secondes dans ce cas). Sur le périphérique d'envoi, le port ne nécessite pas l'option -p. Le < [FileName] Spécifie le fichier à envoyer.
NC -W 2 192.168.1.102 9899 < linuxhint.txtComme vous pouvez le voir sur le périphérique de destination, le fichier a été transféré correctement.
LSEnvoi de fichiers stockés dans un autre répertoire à l'aide de NC
L'exemple précédent montre comment envoyer un fichier stocké dans le répertoire actuel. Si l'expéditeur souhaite envoyer un fichier qui n'est pas stocké dans le répertoire actuel, il peut spécifier un chemin à envoyer.
Sur le dispositif de réception, exécutez la même commande de l'exemple précédent sans modifications, comme indiqué ci-dessous.
NC -L 9899> Linuxhint.SMSLe seul changement que nous appliquerons sur le périphérique d'envoi est l'inclusion du répertoire où le fichier est stocké. Pour cet exemple, j'ai déplacé le linuxhint.SMS au linuxhintdir annuaire. Comme vous pouvez le voir, l'ensemble du chemin vers le fichier est spécifié comme < linuxhintdir/linuxhint.txt, where linuxhintdir est un sous-répertoire du répertoire actuel.
NC -W 2 192.168.1.102 9899 < linuxhintdir/linuxhint.txtLe fichier que vous souhaitez envoyer se trouve dans votre répertoire domestique et votre répertoire actuel est différent; La commande exécutée sur le périphérique d'expéditeur serait la suivante.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtRecevoir des fichiers et les stocker dans un autre répertoire à l'aide de NC
Contrairement au scénario précédent, le récepteur peut ne pas vouloir stocker le fichier transféré dans le répertoire actuel. Lors de l'activation du mode d'écoute pour les connexions entrantes sur l'ordinateur de réception, vous pouvez définir le répertoire pour stocker des fichiers. La syntaxe est la même que lors de l'envoi de fichiers à partir d'un sous-répertoire; Spécifiez simplement le sous-répertoire et le nom de fichier comme indiqué ci-dessous.
NC -L -P 8999> Sous-direction / Linuxhint.SMSSur le deuxième ordinateur, utilisez les mêmes commandes expliquées précédemment; Dans cet exemple, le fichier à envoyer est stocké à la maison, pas dans le répertoire actuel.
NC -W 2 192.168.1.102 9899 < /home/linuxhint/linuxhint2.txtEt comme vous pouvez le voir, le fichier est stocké dans le répertoire défini. De plus, le nom de fichier est passé à partir de linuxhint2.SMS pour linuxhint.SMS tel que défini dans la commande d'ordinateur récepteur.
Affichage des progrès du transfert de fichiers lorsque vous utilisez NC
Le PV La mise en œuvre de la commande affiche la progression du transfert à travers le tuyau. Avec cette commande, nous pouvons ajouter des informations de progression lors de l'utilisation de Netcat.
À installer PV Dans les distributions Linux basées à Debian, exécutez la commande ci-dessous.
sudo apt install pvAjouter un tuyau après le port sur le dispositif de réception, suivi du PV Commande, le chemin d'accès et le nom de fichier que vous souhaitez enregistrer, comme indiqué dans l'exemple ci-dessous.
Netcat -L 9899 | pv> Linuxhint2.SMSEnvoyez le fichier à partir du périphérique d'expéditeur:
Vous verrez les progrès dans le dispositif de réception où vous avez ajouté le PV commande.
Compression et transfert de fichiers à la volée avec NC
Vous pouvez également compresser des fichiers lors de l'envoi via NetCAT avec une seule exécution à l'aide de tuyau. L'exemple suivant montre comment comprimer le linuxhint2 répertoire et envoyez-le via Netcat.
Laisser l'écoute NC pour les connexions entrantes; Vous pouvez implémenter la commande PV pour voir les progrès.
NC -L -P 9899 | pv> Linuxhint2Sur l'expéditeur, compressez le répertoire ou le fichier à l'aide de la commande TAR avec les options appropriées et affiché ci-dessous. Puis ajoutez le tuyau et envoyez comme normal sans spécifier le fichier, déjà spécifié lors de la compression.
TAR CFVZ - LinuxHint2 | NC -W 2 192.168.1.102 9899Comme vous pouvez le voir, le fichier a été transféré et extrait correctement.
Transfert d'un disque ou d'une partition entier à l'aide de NC
Le dernier exemple de ce tutoriel montre comment transférer une partition ou un disque entier à l'aide de NetCAT.
Sur le dispositif de réception, exécutez la commande ci-dessous.
NC -P 9899 -L | BZIP2 -D | dd de = / dev / sda1Sur l'expéditeur, tapez la commande suivante, remplacez / dev / sda1 pour le disque ou la partition que vous souhaitez transférer.
bzip2 -c / dev / sda1 | NC 192.168.1.102 9899Conclusion
Netcat est un outil très basique que tout utilisateur ou utilisateur de Linux traitant de la mise en réseau doit connaître. L'utiliser est assez simple, comme le montre ce tutoriel. NetCAT est conçu pour être utilisé par d'autres programmes ou scripts; C'est une bonne aide pour les développeurs.
J'espère que ce tutoriel Netcat expliquant 10 usages différents vous a été utile. Continuez à suivre l'astuce Linux pour plus de conseils et de tutoriels Linux.