Thème Jannah La licence n'est pas validée, Rendez-vous sur la page des options du thème pour valider la licence, Vous avez besoin d'une seule licence pour chaque nom de domaine.

Comment utiliser la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

6 utilisations de la commande nc sous Linux dans la mise en réseau

Commande nc Sur les systèmes Linux, c'est un outil polyvalent qui permet de gérer les réseaux avec simplicité et flexibilité. Que vous souhaitiez vérifier les ports ouverts, tester la connectivité entre deux appareils ou même transférer rapidement des fichiers sur le réseau, nc offre des solutions simples sans outils complexes. Sa simplicité et sa capacité à effectuer des tâches avancées, utiles aux administrateurs réseau comme aux utilisateurs souhaitant diagnostiquer des problèmes de connectivité, sont ses atouts majeurs. Dans les lignes qui suivent, vous découvrirez ses principales utilisations pratiques et comment il peut simplifier la gestion de diverses situations réseau.

Méthodes d'utilisation de la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

L'outil netcat est très populaire auprès des administrateurs réseau. Cependant, il peut également vous être utile au quotidien, en tant qu'utilisateur Linux. Au cours de mes recherches, j'ai découvert d'excellents cas d'utilisation de la commande nc.

6. Créer des connexions réseau

Je commencerai par la fonction la plus simple et la plus importante de la commande nc : établir une connexion TCP ou UDP directe entre deux appareils. C'est la pierre angulaire de nombreuses utilisations plus avancées.

Supposons que vous ayez deux systèmes Linux. À titre d'exemple, j'utiliserai une machine Ubuntu et une machine Linux Mint. Ubuntu jouera le rôle de serveur ou d'écouteur, tandis que Linux Mint jouera le rôle de client ou de connecteur.

Tout d’abord, allumez l’auditeur.

nc -l -p 12345

L'option -l permet de définir le mode d'écoute. L'option -p permet de spécifier le port. Ici, nous utilisons le port 12345, mais vous pouvez utiliser n'importe quel autre port, sauf s'il est déjà utilisé. Après avoir exécuté cette commande, votre appareil restera en attente d'une connexion.

Maintenant, à partir du périphérique de connexion, procédez comme suit :

nc adresse_ip numéro_de_port

Remplacez l'adresse IP par celle de votre serveur. Le numéro de port sera celui utilisé dans l'écouteur. Dans mon cas, il est le suivant :

nc 192.168.100.4 12345

 

Établissement d'une connexion réseau entre deux machines à l'aide de NC

Cela crée une connexion TCP entre les deux appareils. De plus, il ne s'agit pas d'une connexion unidirectionnelle, car seul le serveur peut envoyer des données ; les deux parties peuvent envoyer et recevoir des données.

Pour établir une connexion UDP, utilisez l'option -u. Sur le périphérique d'écoute, exécutez :

nc -u -l -p 12345

Sur la machine cliente, exécutez :

nc -u 192.168.100.4 12345

Établissement d'une connexion réseau UDP entre deux machines à l'aide de NC

Les connexions UDP sont moins fiables que les connexions TCP. Cependant, elles sont privilégiées lorsque la vitesse est essentielle et que la perte de données est acceptable.

5. Analyse des ports

En plus de se connecter à un seul port, NC peut analyser un groupe entier de ports pour identifier ceux qui sont ouverts. Cela peut faciliter le dépannage ou l'inventaire des services. C'est pourquoi NC est parfois surnommé le « couteau suisse » des réseaux.

Supposons que vous souhaitiez connaître les ports TCP ouverts sur le serveur depuis le client. Créez un écouteur sur le serveur comme précédemment.

nc -l -p 12345

Ensuite, à partir du client, exécutez :

nc -z -v 192.168.100.4 20-130

Méthodes d'utilisation de la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

L'option -z indique à netcat d'utiliser le mode zéro E/S. Cela signifie que netcat doit uniquement vérifier les démons en écoute, sans envoyer de données. L'option -v active le mode détaillé, qui affiche mieux les résultats. Nous spécifions également la plage de ports souhaitée (20 à 130).

Avertissement
Analysez uniquement les systèmes dont vous êtes propriétaire ou que vous avez expressément autorisé à analyser. Toute analyse non autorisée peut être illégale ou perçue comme hostile.

Dans la démo, presque tous les ports ont refusé de se connecter car ils étaient fermés, à l'exception du port 80. De la même manière, vous pouvez également scanner les ports UDP.

4. Transférer des fichiers

Netcat peut envoyer des fichiers directement via TCP ou UDP sans passer par FTP, SCP ou des dossiers partagés. Il est donc idéal pour les transferts rapides, notamment lorsque d'autres méthodes sont impossibles. Envoyons un fichier depuis Linux Mint vers une machine Ubuntu.

J'ai un fichier nommé test.txt, que j'appelle « Fichier de test de transfert de fichiers NC ». Commencez par créer un écouteur sur l'appareil vers lequel vous souhaitez transférer le fichier. Ensuite, redirigez la sortie de la connexion vers un fichier, comme illustré ci-dessous.

nc -l -p 12345 > reçu.txt

Ensuite, sur la machine de l'expéditeur, redirigez le contenu du fichier vers votre connexion nc comme ceci.

nc 192.168.100.4 12345

Transférer des fichiers entre machines à l'aide de la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

Pour vérifier la réussite du transfert, utilisez la commande ls pour vérifier l'existence du fichier, puis la commande cat pour lire son contenu. Vous pouvez également inverser le processus et envoyer les fichiers dans le sens inverse. Il suffit d'inverser les rôles à l'aide des commandes présentées ci-dessus.

3. Créer un serveur Web

Netcat agit comme un simple serveur HTTP, écoutant un port et envoyant des fichiers HTML bruts à toute personne se connectant. Bien sûr, il ne remplace pas Apache ou Nginx. Cependant, il est idéal pour les démonstrations rapides, le débogage ou l'exploration des requêtes HTTP.

Tout d'abord, créez un fichier HTML statique (que j'appelle page.html) sur votre serveur. Pour moi, c'est Ubuntu.

echo -e "HTTP/1.1 200 OK\r\nType de contenu : texte/html\r\n\r\n Bonjour de Netcat " > page.html

Dans ce fichier, j'ai inclus la ligne d'état HTTP, l'en-tête Content-Type et du texte HTML simple. Les séquences \r\n sont essentielles dans HTTP pour séparer les en-têtes du corps.

Maintenant, exécutez le serveur Web netcat sur la même machine :

tant que c'est vrai ; faire nc -l -p 8080

Nous utilisons ici une boucle while pour maintenir le serveur actif même après chaque requête. Nous écoutons sur le port 8080 et envoyons un fichier HTML en réponse. Ouvrez ensuite un navigateur web depuis la machine cliente (Linux Mint dans mon cas) et visitez la page HTML statique en spécifiant l'adresse IP et le port.

http://192.168.100.4:8080

Création d'un serveur Web minimal à l'aide de la commande NC sous Linux pour tester les réseaux et résoudre les problèmes de connexion

Vous pouvez également utiliser la commande curl pour récupérer une page HTML.

curl http://192.168.100.4:8080

Création d'un serveur Web minimal à l'aide de la commande nc et récupération du contenu à l'aide de curl

2. Créez une application de chat simple

Netcat peut connecter deux terminaux, de sorte que tout ce que vous saisissez sur l'un s'affiche instantanément sur l'autre. Grâce à une simple astuce d'interface utilisateur, vous pouvez le transformer en outil de chat instantané. Aucune application de chat externe n'est nécessaire.

Pour ce faire, créez une connexion réseau comme décrit dans la première section. Créez un écouteur sur l'un des appareils :

nc -l -p 12345

Connectez-vous ensuite à celui-ci depuis un autre appareil.

nc 192.168.100.4 12345

Création d'une application de chat simple à l'aide de la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

Une fois la connexion établie, vous pouvez saisir n'importe quel texte sur un appareil et le texte apparaîtra sur l'autre. Vous pouvez ensuite saisir n'importe quel texte sur le deuxième appareil et le texte apparaîtra sur le premier.

Vous pouvez désormais saisir du texte dans le terminal pour envoyer des messages d'un ordinateur à un autre. J'ai essayé de voir si je pouvais également ajouter le nom de l'expéditeur aux messages correspondants. Cela faciliterait le suivi de l'expéditeur.

Pour ce faire, ajoutez le nom de l'expéditeur à l'aide des commandes echo et while. Voici la configuration : exécutez ceci sur le serveur :

pendant la lecture du message ; faire echo "Ubuntu : $msg" ; terminé | nc -l -p 12345

Ceci est sur la machine de Mossoul :

pendant la lecture du message ; faire echo "LM : $msg" ; terminé | nc 192.168.100.4 12345

Création d'une application de chat simple à l'aide de la commande nc sous Linux pour tester les réseaux et résoudre les problèmes de connexion

La commande ci-dessus attend une entrée, la préfixe et l'envoie. À la réception, le préfixe apparaît exactement comme s'il avait été envoyé. Même s'il y a plus de deux utilisateurs, vous pourrez ainsi suivre les messages.

1. Dépannage réseau

Enfin, vous pouvez utiliser la commande nc pour résoudre certains problèmes réseau courants. En cas de panne réseau, elle permet de déterminer s'il s'agit d'un problème de connexion, de service ou de pare-feu. Elle permet de tester les ports, de simuler les services et de vérifier les réponses initiales.

Supposons qu'une application ne réponde pas, vous pouvez utiliser la commande nc pour voir si vous pouvez vous connecter à son port.

nc -zv 192.168.100.4 22

S'il plante ou si le message « Connexion refusée » apparaît, le port est fermé ou filtré.

Vous pouvez communiquer manuellement avec le service pour vérifier s'il répond comme prévu. Par exemple, vérifiez la réponse d'un service HTTP local.

nc 192.168.100.4 8080

Si le service réussit, il enverra un en-tête de réponse HTTP et éventuellement du code HTML. Ceci est idéal pour déboguer les applications web qui ne fonctionnent pas correctement sans navigateur.

Si vous pensez qu'une application peut se connecter à un port, mais n'envoie pas les données correctes, vous pouvez vous faire passer pour le service et capturer les données envoyées par l'application. Ceci est utile pour déboguer les protocoles client/serveur personnalisés. Avec netcat, vous pouvez rapidement exécuter ces petits tests et identifier les points faibles de votre réseau et les résoudre.

Netcat offre de nombreuses possibilités. Si cela vous intéresse, vous pouvez consulter la page du manuel. Utilisateur officiel de nc. Il existe de nombreuses autres commandes réseau Linux que nous vous recommandons d’explorer.

La commande nc n'est pas un simple outil Linux traditionnel ; c'est un moyen intelligent de diagnostiquer les réseaux et de garantir l'intégrité des connexions entre les appareils. Sa simplicité d'utilisation et ses multiples fonctionnalités en font un choix idéal pour ceux qui recherchent un outil d'analyse réseau pratique et fiable. Essayez-le et vous découvrirez comment il peut vous faire gagner beaucoup de temps et d'efforts face aux problèmes de connectivité du quotidien.

Aller au bouton supérieur