8 Commande Netcat (NC) avec des exemples

8 Commande Netcat (NC) avec des exemples

Netcat (ou NC en bref) est un outil de ligne de commande de réseautage simple mais puissant utilisé pour effectuer toute opération dans Linux liée à TCP, UDP, ou Unix-prises de domaine.

Netcat Peut être utilisé pour la numérisation des ports, redirection du port, en tant qu'auditeur de port (pour les connexions entrantes); Il peut également être utilisé pour ouvrir des connexions distantes et tant d'autres choses. En outre, vous pouvez l'utiliser comme porte dérobée pour accéder à un serveur cible.

Dans cet article, nous expliquerons Netcat Commandes d'utilisation avec des exemples.

Comment installer et utiliser Netcat dans Linux

Pour installer le Package NetCAT Sur votre système, utilisez le gestionnaire de packages par défaut pour votre distribution Linux.

$ yum install nc [sur centos / rhel] $ dnf installer nc [sur fedora 22+ et rhel 8] $ sudo apt-get install netcat [sur Debian / ubuntu] 

Une fois Package NetCAT installé, vous pouvez continuer davantage pour apprendre l'utilisation de commande netcat Dans les exemples suivants.

Balayage de port

Netcat Peut être utilisé pour la numérisation des ports: pour savoir quels ports sont ouverts et exécuter des services sur une machine cible. Il peut scanner une seule ou multiple ou une gamme de ports ouverts.

Voici un exemple, le -z Ensemble d'options NC Pour simplement scruter les démons à écouter, sans leur envoyer de données. Le -V L'option permet le mode verbeux et -w Spécifie un délai d'expiration de connexion qui ne peut pas être établi.

$ nc -v -w 2 z 192.168.56.1 22 #Scan un seul port ou $ nc -v -w 2 z 192.168.56.1 22 80 #SCAN PORTS PLUSIQUES OU $ NC -V -W 2 Z 192.168.56.1 20-25 #Scan Gamme de ports 
Scanner des ports ouverts dans Linux

Transférer des fichiers entre les serveurs Linux

Netcat vous permet de transférer des fichiers entre deux ordinateurs ou serveurs Linux et ces deux systèmes doivent avoir NC installée.

Par exemple, pour copier un fichier image ISO d'un ordinateur à un autre et surveiller les progrès de transfert (à l'aide de l'utilitaire PV), exécutez la commande suivante sur l'ordinateur de l'expéditeur / serveur (où le fichier ISO existe).

Cela fonctionnera 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 l'ordinateur récepteur / client, exécutez la commande suivante pour obtenir le fichier.

$ NC 192.168.1.4 3000 | PV | tar -zxf - 
Transfert de fichiers entre les systèmes Linux

Créer un serveur de chat de ligne de commande

Vous pouvez aussi utiliser Netcat Pour créer un serveur de messagerie de ligne de commande simple instantanément. Comme dans l'exemple d'utilisation précédente, 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 écoutant 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 sur une machine où le serveur de messagerie s'exécute.

$ NC 192.168.56.1 5000 
Créer un serveur de chat dans la ligne de commande

Créer un serveur Web de base

Wit le -l option commande NC Utilisé pour créer un serveur Web de base et non sécurisé pour servir des fichiers Web statiques à des fins d'apprentissage. Pour démontrer cela, créez un .html fichier comme indiqué.

$ index vim.html 

Ajouter les lignes HTML suivantes dans le fichier.

  Page de test   

Servir ce fichier à l'aide du serveur HTTP de base NetCAT!

Enregistrer les modifications dans le fichier et la sortie.

Servez ensuite le fichier ci-dessus sur HTTP en exécutant la commande suivante, ce qui permet au serveur HTTP d'exécuter en continu.

$ while :; faire (écho -ne "http / 1.1 200 ok \ r \ n "; index de chat.html; ) | NC -L -P 8080; fait 
Créer un serveur Web dans la ligne de commande

Ensuite, ouvrez un navigateur Web et peut accéder au contenu en utilisant l'adresse suivante.

http: // localhost: 8080 ou http: // server_ip: 8080 
Tester le serveur Web

Notez que vous pouvez arrêter le Serveur NetCat HTTP en appuyant [Ctrl + C].

Dépanner la connexion du serveur Linux

Une autre utilisation utile de Netcat est de résoudre les problèmes de connexion du serveur. Ici, vous pouvez utiliser Netcat Pour vérifier les données qu'un serveur envoie en réponse aux commandes émises par le client.

La commande suivante récupère la page d'accueil de exemple.com.

$ printf "get / http / 1.0 \ r \ n \ r \ n "| NC Texte.exemple.com 80 

La sortie de la commande ci-dessus comprend les en-têtes envoyés par le serveur Web qui peuvent être utilisés à des fins de dépannage.

Trouvez un service en cours d'exécution sur le port

Vous pouvez aussi utiliser Netcat Pour obtenir des bannières de port. Dans ce cas, il vous dira quel service se déroule derrière un certain port. Par exemple pour savoir quel type de service se déroule derrière le port 22 Sur un serveur spécifique, exécutez la commande suivante (remplacer 192.168.56.110 avec l'adresse IP du serveur cible). Le -n Flag signifie désactiver DNS ou des recherches de services.

$ nc -v -n 192.168.56.110 80 
Trouver le service en cours d'exécution sur le port

Créer un flux de stream

Netcat Prend également en charge la création de prises de flux Unix-Domain. La commande suivante créera et écoutera sur une prise de flux de domaine Unix.

$ nc -lu / var / tmp / mysocket & $ ss -lpn | grep "/ var / tmp /" 
Créer une prise de flux dans la ligne de commande

Créer une porte dérobée

Vous pouvez aussi courir Netcat comme porte dérobée. Cependant, cela nécessite 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 distante.

Pour agir une porte dérobée dont vous avez besoin Netcat écouter sur un port choisi (e.port G 3001) sur le serveur Target, puis vous pouvez vous connecter à ce port à partir de votre machine comme suit.

Il s'agit de la commande destinée à s'exécuter sur le serveur distant où le -d L'option désactive la lecture de stdin, et -e Spécifie la commande pour s'exécuter sur le système cible.

$ nc -l -p 3001 -d -e cmd.exe 

Enfin et surtout, Netcat peut être utilisé comme indicateur de différents services / protocoles, notamment HTTP, SSH et bien d'autres. Pour plus d'informations, consultez sa page homme.

$ man nc 

Dans cet article, nous avons expliqué 8 Exemples d'utilisation des commandes NetCAT. Si vous connaissez d'autres cas d'utilisation pratique, partagez avec nous via le formulaire de rétroaction ci-dessous. Vous pouvez également poser une question.