GNU/Linux >> Tutoriels Linux >  >> Linux

Dépannage Linux :configuration d'un écouteur TCP avec ncat

La vie d'un administrateur système est mouvementée, précipitée et souvent frustrante. Donc, ce dont vous avez vraiment besoin, c'est d'une boîte à outils remplie d'outils que vous reconnaissez facilement et que vous pouvez utiliser rapidement sans autre courbe d'apprentissage lorsque les choses vont mal. Un de ces outils est le ncat commande.

ncat - Concatenate and redirect sockets

Le ncat La commande a de nombreuses utilisations, mais celle pour laquelle je l'utilise est le dépannage des problèmes de connectivité réseau. C'est un outil pratique, rapide et facile à utiliser dont je ne peux pas me passer. Suivez-nous et voyez si vous décidez de l'ajouter également à votre boîte à outils.

À partir de la page de manuel ncat :

Ncat est un utilitaire de mise en réseau riche en fonctionnalités qui lit et écrit des données sur les réseaux à partir de la ligne de commande. Ncat a été écrit pour le projet Nmap et est l'aboutissement de la famille actuellement éclatée des incarnations de Netcat. Il est conçu pour être un outil back-end fiable pour fournir instantanément une connectivité réseau à d'autres applications et utilisateurs. Ncat fonctionnera non seulement avec IPv4 et IPv6, mais fournira à l'utilisateur un nombre pratiquement illimité d'utilisations potentielles.

Parmi le grand nombre de fonctionnalités de Ncat, il y a la possibilité d'enchaîner des Ncats; redirection des ports TCP, UDP et SCTP vers d'autres sites ; Prise en charge SSL ; et connexions proxy via les proxys SOCKS4, SOCKS5 ou HTTP (avec également une authentification proxy facultative).

Problème de pare-feu ou autre ?

Vous venez d'installer et vous ne pouvez pas vous y connecter à partir d'un autre ordinateur sur le même réseau. C'est frustrant. Le service est activé. Le service est démarré. Vous pensez avoir créé la bonne exception de pare-feu pour lui, mais il ne répond toujours pas.

Votre vie de dépannage commence. Dans ce qui peut s'étendre de quelques minutes à des jours à l'infini et au-delà, vous tentez de résoudre le problème. Il peut s'agir de plusieurs choses :une exception de pare-feu mal configurée (ou non configurée), un problème de liaison de carte réseau, un problème logiciel quelque part dans le code du service, une mauvaise configuration du service, un problème de compatibilité étrange ou quelque chose d'autre sans rapport avec le réseau ou le blocage du service. accéder. C'est votre scénario. Par où commencer une fois que vous avez vérifié tous les endroits évidents ?

La commande ncat à la rescousse

Le ncat La commande devrait faire partie de votre distribution Linux de base, mais si ce n'est pas le cas, installez le nmap-ncat package et vous en aurez la dernière version. Vérifiez le ncat page de manuel pour l'utilisation, si vous êtes intéressé par ses nombreuses fonctionnalités au-delà de ce simple exercice de dépannage.

Utilisation du ncat , vous configurerez un écouteur TCP, qui est un service TCP qui attend une connexion d'un système distant sur un port spécifié. La commande suivante démarre un socket d'écoute sur le port TCP 9999.

$ sudo ncat -l 9999

Cette commande "bloquera" votre terminal. Vous pouvez placer la commande en mode arrière-plan, pour fonctionner comme un démon de service en utilisant le & (esperluette). Votre invite reviendra.

$ sudo ncat -l 8080 &

Depuis un système distant, utilisez la commande suivante pour tenter une connexion :

$ telnet <IP address of ncat system> 9999

La tentative devrait échouer comme indiqué :

Trying <IP address of ncat system>...
telnet: connect to address <IP address of ncat system>: No route to host

Cela peut être similaire au message que vous recevez lorsque vous tentez de vous connecter à votre service d'origine. La première chose à essayer est d'ajouter une exception de pare-feu au ncat système :

$ sudo firewall-cmd --add-port=9999/tcp

Cette commande permet aux requêtes TCP sur le port 9999 de passer par un démon d'écoute sur le port 9999.

Réessayez la connexion au ncat système :

$ telnet <IP address of ncat system> 9999

Trying <IP address of ncat system>...
Connected to <IP address of ncat system>.
Escape character is '^]'.

Ce message signifie que vous êtes maintenant connecté au port d'écoute, 9999, sur le système distant. Pour vous déconnecter, utilisez la combinaison clavier, CTRL + ] . Tapez quitter pour revenir à une invite.

$ telnet <IP address of ncat system> 9999

Trying <IP address of ncat system>...
Connected to <IP address of ncat system>.
Escape character is '^]'.
^]
telnet>quit
Connection closed.
$

La déconnexion tuera également le port d'écoute TCP sur le système distant (ncat), donc ne tentez pas une autre connexion tant que vous n'aurez pas réémis le ncat commande. Si vous souhaitez garder le port d'écoute ouvert plutôt que de le laisser s'éteindre à chaque fois que vous vous déconnectez, utilisez l'option -k (garder ouvert). Cette option maintient le port d'écoute actif. Certains administrateurs système n'utilisent pas cette option car ils peuvent laisser un port d'écoute ouvert, ce qui peut entraîner des problèmes de sécurité ou des conflits de port avec d'autres services.

$ sudo ncat -k -l 9999 &

Ce que ncat vous dit

Le succès de la connexion au port d'écoute du ncat système signifie que vous pouvez lier un port à la carte réseau de votre système. Vous pouvez créer avec succès une exception de pare-feu. Et vous pouvez vous connecter avec succès à ce port d'écoute à partir d'un système distant. Les échecs le long du chemin aideront à déterminer où se situe votre problème.

Ce que ncat ne vous dit pas

Malheureusement, il n'y a pas de solution aux problèmes de connectivité dans cette technique de dépannage qui ne soit pas liée à la liaison, à l'écoute de port ou aux exceptions de pare-feu. Il s'agit d'une session de dépannage à portée limitée, mais elle est rapide, facile et définitive. Ce que j'ai découvert, c'est que la plupart des problèmes de connectivité se résument à l'un de ces trois problèmes. Ma prochaine étape dans le processus serait de supprimer et de réinstaller le package de service. Si cela ne fonctionne pas, téléchargez une autre version du package et voyez si cela fonctionne pour vous. Essayez de remonter au moins deux révisions jusqu'à ce que vous en trouviez une qui fonctionne. Vous pouvez toujours mettre à jour vers la dernière version une fois que vous avez un service fonctionnel.

Récapitulez

Le ncat La commande est un outil de dépannage utile. Cet article ne s'est concentré que sur un petit aspect des nombreuses utilisations de ncat . Le dépannage est autant un art qu'une science. Vous devez savoir quelles réponses vous avez et lesquelles vous n'avez pas. Vous n'avez pas besoin de dépanner ou de tester des choses qui fonctionnent déjà. Explorer ncat de et voyez si vos problèmes de connectivité disparaissent plus rapidement qu'auparavant.

[ Le réseau devient incontrôlable ? Découvrez l'automatisation du réseau pour tous, un livre gratuit de Red Hat. ]


Linux
  1. Surveillez votre système Linux dans votre terminal avec procps-ng

  2. Améliorez les performances du système Linux avec noatime

  3. Comprendre les appels système sous Linux avec strace

  4. Commande d'arrêt Linux (avec exemples)

  5. Planification des tâches système avec Cron sous Linux

Commande de disponibilité Linux avec exemples

Premiers pas avec le système d'exploitation Linux

Trouver des informations sur le matériel du système Linux avec Hwinfo

Comment afficher les statistiques du système Linux avec Saidar

Mes commandes de dépannage du réseau Linux

Configurer un cluster Linux avec Keepalived :Configuration de base