Commande Netcat Sous Linux - Un Guide Complet

Commande Netcat Sous Linux – Un Guide Complet

Nc ou la commande Netcat est un outil de ligne de commande de réseau sous Linux. Il fonctionne comme un outil d’analyse de port, un outil de sécurité ou un outil de surveillance de réseau. Il s’agit d’un utilitaire important que les administrateurs système doivent connaître et est souvent appelé le couteau suisse des outils de mise en réseau.

La commande netcat peut être utilisée pour les actions suivantes :

  • Analyse des ports
  • Copie de fichiers sur un serveur
  • Création d’un serveur de discussion en ligne de commande
  • Redirection de port
  • Création de serveurs proxy
  • Extraction des informations de bannière à partir de machines distantes
  • Hébergement de serveurs Web
  • Création de backdoors

Installation De La Commande Netcat

Tout d’abord, dans la plupart des systèmes Ubuntu, Netcat est disponible sous forme de package installé, mais si ce n’est pas le cas, vous pouvez le télécharger avec la commande suivante :

€ miam installer nc 


Modes De Fonctionnement

Il existe deux modes de fonctionnement utilisant nectat, en tant que Client ou en tant que Serveur .

La syntaxe pour les deux modes peut être représentée comme :

connectez-vous quelque part : (client)

 NC 

écouter les appels entrants : (serveur)

nc –l –p port 

Lorsque vous utilisez Netcat pour vous connecter à quelque chose, c’est lorsque vous utilisez le premier des deux. Vous travaillez essentiellement en mode Client car vous utilisez votre machine pour obtenir des informations d’une autre machine.

Lorsque vous utilisez Netcat pour écouter les connexions entrantes, la machine agit comme un serveur. Le -l représente l’écoute.

Numérisation Des Ports Avec Netcat

L’une des utilisations les plus basiques et les plus courantes de Netcat est de déterminer quels ports sont ouverts. Il existe trois indicateurs principaux utilisés pour l’analyse des ports :

Il existe trois manières de spécifier les ports d’écoute :

Ecoute sur un seul port :

€ nc -v -w 2 z 127.0.0.1 20

Ecoute sur plusieurs ports :

€ nc -v -w 2 z 127.0.0.1 20 25 30

Écouter une gamme de ports :

€ nc -v -w 2 z 127.0.0.1 20-25 

écouter plusieurs ports

Copie De Fichiers à L’aide De La Commande Netcat Sous Linux

La commande netcat peut être utilisée pour transférer un fichier d’un système à un autre même s’il est obsolète par rapport à ssh/scp. Cela peut être fait en utilisant les commandes suivantes.

Cela fonctionne en envoyant les informations du fichier de la machine source à la machine réceptrice via un canal. La machine réceptrice fonctionne en mode d’écoute et écoute les données sur un port particulier. La machine émettrice envoie les données en établissant une connexion avec le récepteur. Cela crée un modèle serveur-client utilisant Netcat.

Les opérateurs de redirection < , > sont utilisés pour écrire vers et depuis les fichiers.

Sur la machine d’écoute (destination) :

€ nc -l 8080 > fichier.txt
€ nc 192.168.1.100 8080 < data.txt

Si vous ne mentionnez pas les fichiers et les opérateurs de redirection, les mêmes commandes fonctionnent comme un modèle de discussion. On verra ça par la suite :

Serveur De Conversation En Ligne De Commande Utilisant NC

Netcat peut être utilisé pour créer un serveur de discussion en ligne de commande de base qui peut être utilisé par deux systèmes pour discuter en ligne de commande.

Exécutez la commande sur l’un des serveurs :

€ nc -l 8080

Sur une machine distante, utilisez la commande suivante pour vous connecter :

€ nc 127.0.0.1 8080

Cela établira une connexion et tout ce qui est écrit sur un terminal sera affiché sur l’autre.

Cela fonctionnera dans les deux sens.

Exécuter deux instances du terminal et créer un serveur de discussion entre les deux :

discuter via Netcat discuter via Netcat

Changer Le Mode De Connexion à UDP

Le mode de connexion par défaut dans Netcat est TCP, mais il existe un autre mode de connexion appelé UDP qui peut être choisi.

Cela peut être fait en utilisant l’ option ‘ -u ‘ dans la commande Netcat.

*TCP signifie Transfer Control Protocol tandis que UDP signifie User Defined Datagram.

€ nc -l -u 55

UDP

Cela se connecte au port 55 UDP. Nous pouvons voir que le type de connexion est UDP au lieu de TCP en utilisant l’ option ‘ -v’ :

Vérification UDP

Vous pouvez l’utiliser pour créer un serveur de discussion UDP en utilisant -u dans l’exemple de serveur de discussion ci-dessus. La seule différence serait que maintenant le protocole UDP serait utilisé pour l’échange au lieu de TCP.

Saisir Des Bannières

Netcat peut également être utilisé pour récupérer les informations de la bannière à partir d’un système distant.

Cela peut être fait en se connectant au port 80 de l’adresse Web, puis en envoyant un HEAD /

Vous pouvez également utiliser CONNECT, DELETE, DEBUG, OPTIONS, GET au lieu de HEAD.

€ nc 80
DIRIGER / 

après avoir écrit la deuxième ligne, appuyez sur Entrée plusieurs fois.

Saisie de la bannière à l’aide de HEAD/ Saisie de la bannière à l’aide d’OPTIONS / Saisie de la bannière à l’aide de GET /

Utiliser Netcat Comme Serveur Proxy

Pour créer un serveur proxy, nous devons créer un canal qui permet l’envoi et la réception d’informations. Le simple fait de rediriger les connexions entrantes créerait un serveur qui ne fonctionne que dans un sens. La réponse, dans ce cas, serait rejetée.

La commande pour créer un serveur est :

€ nc -l 8080 | nc 192.168.1.200 80

Pour faire ces deux manières, nous utilisons :

€ mkfifo 2wayPipe

La commande mkfifo sous Linux est utilisée pour créer des tuyaux. De par leur nature, les tuyaux sont premier entré, premier sorti (fifo) et aident principalement deux processus sous Linux à communiquer.

2wayPipe est le nom du tuyau que nous avons choisi arbitrairement.

Cela permet d’envoyer et de recevoir des informations sur le serveur proxy Netcat .

Créer Un Serveur Web De Base

Disons qu’il existe un fichier HTML de base que vous souhaitez héberger. Le fichier est nommé index.html sur votre système. Ensuite, vous pouvez utiliser la commande suivante pour créer un serveur Netcat local et héberger le fichier HTML. Nous utiliserons la boucle while dans les scripts shell pour nous assurer que le serveur continue d’écouter sur le port 8080 et servira notre page index.html pour chaque requête.

€ tandis que : ; faire (écho -ne "

L’utilisation d’une boucle while sans condition d’arrêt permet au serveur de s’exécuter jusqu’à ce qu’il soit arrêté manuellement. La page Web peut être consultée en tapant

Basculer Entre IPV6 Et IPV4

Si vous devez connecter une version spécifique d’IP, vous pouvez utiliser l’une des balises de commande ci-dessous pour le faire.

Par exemple, dans notre modèle de discussion en ligne de commande ci-dessus, nous pouvons utiliser l’un de ces indicateurs pour nous connecter à IPv4 ou IPv6, comme indiqué ci-dessous.

Pour IPV4 :

€ nc -4 -l 8080
€ nc -4 192.168.1.100 8080

Pour IPV6 :

€ nc -6 -l 8080
€ nc -6 192.168.1.100 8080

Utiliser Netcat Pour Créer Une Porte Dérobée Système

Netcat est utilisé pour créer des portes dérobées dans votre système, une méthode très populaire souvent utilisée par les pirates. Les pirates peuvent utiliser une porte dérobée pour accéder à votre système d’une manière qui contourne les mécanismes de sécurité habituels du système. Cela utilise l’ option -e disponible avec la commande Netcat . La commande -e est utilisée dans Netcat pour exécuter un programme spécifié lorsqu’un client s’y connecte.

La commande pour cela est :

€ nc -l 5500 -e /bin/bash

Cela attache le port 5500 à votre bin/bash auquel une machine distante peut accéder pour exécuter des commandes en tapant :

€ nc 10.10.10.100 5500

Continuer L’écoute Après Une Déconnexion

Lorsqu’un serveur est configuré à l’aide de Netcat, une déconnexion même du côté client entraîne l’arrêt du serveur. Pour éviter cela, nous utilisons l’ indicateur -k qui force le serveur à rester actif quelle que soit la connexion avec le côté client.

€ nc -k -l 8080

Cela garantit que le serveur fonctionne même après la déconnexion du client.

Conclusion

Linux Mint 17.2 “Rafaela”
  • Update Manager, It shows more information, it looks better, it feels faster, and...
  • Driver Manager, The Driver Manager is now able to install drivers without a...
  • Login Screen, Multi-monitor support was improved:
  • Language Settings, A new "Language Settings" tool was introduced. It replaces...
  • Menu Improvements, The menu applet received two mintMenu features: Right-click...
Site Athletics A Real Professional in Linux 1 Guaranteed 2 Hoodie Dark Silver
  • Good hoodie with good standards of quality.
  • Wash Cold, Dry Low.
  • The final product is made of 100% cotton.
  • This is a very comfortable hoodie to wear and also perfect as a gift to your...
  • High printing quality as well.
Linux Academy
  • Complete Linux Academy Courses!
  • Save videos for offline viewing!
  • Use notecards to increase learning!
  • English (Langue de Publication)
Promo
Linux All-in-One For Dummies
  • English (Langue de Publication)
  • Éditeur: For Dummies
Promo
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
  • No Starch Press
  • Hardcover Book
  • English (Langue de Publication)
  • Éditeur: No Starch Press
UNIX and Linux System Administration Handbook (5th Edition)
  • English (Langue de Publication)
  • Éditeur: Addison-Wesley Professional
Linux
  • English (Langue de Publication)
  • Éditeur: QuickStudy
Promo
The Linux Command Line, 2nd Edition: A Complete Introduction
  • English (Langue de Publication)
  • Éditeur: No Starch Press