Netcat (ou nc en bref) est un outil de ligne de commande réseau simple mais puissant utilisé pour effectuer toute opération sous Linux liée aux sockets TCP, UDP ou UNIX.
Netcat peut être utilisé pour l’analyse de port, la redirection de port, en tant qu’écouteur de port (pour les connexions entrantes); il peut également être utilisé pour ouvrir des connexions distantes et bien d’autres choses. En outre, vous pouvez l’utiliser comme une porte dérobée pour accéder à un serveur cible.
dans cet article, nous allons expliquer les commandes D’utilisation Netcat avec des exemples.,
comment installer et utiliser Netcat sous Linux
pour installer le paquet netcat sur votre système, utilisez le gestionnaire de paquets par défaut pour votre distribution Linux.
$ yum install nc $ dnf install nc $ sudo apt-get install Netcat
Une fois le paquet netcat installé, vous pouvez continuer à apprendre l’utilisation de la commande netcat dans les exemples suivants.
analyse de Port
Netcat peut être utilisé pour l’analyse de port: pour savoir quels ports sont ouverts et les services en cours d’exécution sur une machine cible. Il peut analyser un seul ou plusieurs ports ou une gamme de ports ouverts.,
Voici un exemple, l’option-z
définit nc pour rechercher simplement les démons d’écoute, sans leur envoyer de données. L’option-v
active le mode verbose et-w
spécifie un délai d’expiration pour la connexion qui ne peut pas être établie.,
Transfert de Fichiers Entre les Serveurs Linux
Netcat permet de transférer des fichiers entre deux ordinateurs Linux ou les serveurs, et ces deux systèmes doivent avoir nc installé.
par exemple, pour copier un fichier image ISO d’un ordinateur à un autre et surveiller la progression du transfert (à l’aide de l’utilitaire pv), exécutez la commande suivante sur l’ordinateur expéditeur/serveur (où le fichier ISO existe).,
Cela va lancer nc en mode d’écoute (-l
drapeau) sur le port 3000.
$ tar -zcf - debian-10.0.0-amd64-xfce-CD-1.iso | pv | nc -l -p 3000 -q 5
Et sur le récepteur/l’ordinateur client, exécutez la commande suivante pour obtenir le fichier.
$ nc 192.168.1.4 3000 | pv | tar -zxf -
Créer une Ligne de Commande du Serveur de Chat
Vous pouvez également utiliser Netcat pour créer une simple ligne de commande du serveur de messagerie instantanée., Comme dans l’exemple d’utilisation précédent, nc doit être installé sur les deux systèmes utilisés pour la salle de chat.
sur un système, exécutez la commande suivante pour créer le serveur de chat en écoute sur le port 5000.
$ nc -l -vv -p 5000
Sur l’autre système, exécutez la commande suivante pour lancer une session de chat pour une machine où le serveur de messagerie est en cours d’exécution.,
$ nc 192.168.56.1 5000
Créer un Serveur Web de Base
avec le -l
option de commande nc utilisé pour créer une base, l’insécurité, le serveur web de servir web statique des fichiers à des fins d’apprentissage. Pour le démontrer, créez un fichier.html
comme indiqué.
$ vim index.html
ajoutez les lignes HTML suivantes dans le fichier.
<html> <head> <title>Test Page</title> </head> <body> <p>Serving this file using Netcat Basic HTTP server!</p> </body></html>
Sauvegarder les modifications dans le fichier et quittez.,
servez ensuite le fichier ci-dessus sur HTTP en exécutant la commande suivante, ce qui permettra au serveur HTTP de s’exécuter en continu.
$ while : ; do ( echo -ne "HTTP/1.1 200 OK\r\n" ; cat index.html; ) | nc -l -p 8080 ; done
Ensuite, ouvrez un navigateur web et accéder au contenu à l’aide de l’adresse suivante.,
Notez que vous pouvez pour arrêter le Netcat serveur HTTP en appuyant sur .
dépannage de la connexion au serveur Linux
Une autre utilisation utile de Netcat consiste à résoudre les problèmes de connexion au serveur. Ici, vous pouvez utiliser Netcat pour vérifier quelles données un serveur envoie en réponse aux commandes émises par le client.
La commande suivante récupère la page d’accueil de example.com.,
$ printf "GET / HTTP/1.0\r\n\r\n" | nc text.example.com 80
La sortie de la commande ci-dessus inclut les en-têtes envoyés par le serveur web qui peuvent être utilisés à des fins de dépannage.
trouver un Service S’exécutant sur le Port
Vous pouvez également utiliser Netcat pour obtenir des bannières de port. Dans ce cas, il vous dira quel service fonctionne derrière un certain port. Par exemple, pour savoir quel type de service s’exécute derrière le port 22 sur un serveur spécifique, exécutez la commande suivante (remplacez 192.168.56.110 par l’adresse IP du serveur cible). L’indicateur-n
signifie désactiver les recherches DNS ou de service.,
$ nc -v -n 192.168.56.110 80
Create a Stream Sockets
Netcat also supports creation of UNIX-domain stream sockets. The following command will create and listen on a UNIX-domain stream socket.
$ nc -lU /var/tmp/mysocket &$ ss -lpn | grep "/var/tmp/"
Create a Backdoor
You can as well run Netcat as a backdoor., Cependant, cela demande plus de travail. Si Netcat est installé sur un serveur cible, vous pouvez l’utiliser pour créer une porte dérobée, pour obtenir une invite de commande à distance.
pour agir une porte dérobée, vous avez besoin que Netcat écoute sur un port choisi (par exemple le port 3001) sur le serveur cible, puis vous pouvez vous connecter à ce port à partir de votre machine comme suit.
c’est la commande destinée à s’exécuter sur le serveur distant où l’option-d
désactive la lecture depuis stdin, et-e
spécifie la commande à exécuter sur le système cible.,
$ nc -L -p 3001 -d -e cmd.exe
enfin, Netcat peut être utilisé comme proxy pour différents services / protocoles, y compris HTTP, SSH et bien d’autres. Pour plus d’informations, consultez sa page de manuel.
$ man nc
dans cet article, nous avons expliqué 8 exemples pratiques D’utilisation des commandes Netcat. Si vous connaissez d’autres cas d’utilisation pratiques, partagez-les avec nous via le formulaire de commentaires ci-dessous. Vous pouvez poser une question ainsi.