GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser Netcat pour analyser les ports ouverts sous Linux

Le Netcat (en bref NC) est un utilitaire de mise en réseau informatique, de débogage et d'investigation riche en fonctionnalités qui prend en charge une large gamme de commandes pour gérer les réseaux et surveiller le flux de données de trafic réseau entre les systèmes utilisant le protocole de contrôle de transmission (TCP) et le protocole de datagramme utilisateur. (UDP).

Netcat peut être un outil très utile pour les administrateurs réseau et système pour reconnaître rapidement les performances de leur réseau et le type d'activité réseau qui se produit dans le système.

Dans cet article, nous expliquerons comment installer et utiliser cet utilitaire polyvalent netcat pour effectuer des analyses de port simples afin d'identifier les ports ouverts dans les systèmes Linux.

Installer Netcat sous Linux

Netcat devrait être disponible sur presque toutes les distributions Linux modernes en utilisant le gestionnaire de packages par défaut, comme indiqué.

$ sudo yum install nc         [On CentOS/RHEL/Rocky Linux/AlmaLinux]
$ sudo dnf install nc         [On Fedora 22+ and RHEL 8]
$ sudo apt install Netcat     [On Debian/Ubuntu]

Analyse des ports Linux avec les commandes Netcat

Une fois que vous avez installé l'utilitaire Netcat sur votre serveur Linux, vous pouvez commencer à effectuer une analyse des ports réseau, qui inspectera l'état de tous les ports sur le domaine ou l'adresse IP spécifié afin que vous puissiez découvrir si un pare-feu ou un autre mécanisme de blocage est en place. lieu.

Par exemple, nous pouvons analyser tous les ports jusqu'à 1000 en exécutant la commande suivante en utilisant le -z option, qui ne fera qu'un scan au lieu d'essayer d'ouvrir une connexion, et -v option pour notifier à netcat de produire des informations plus détaillées.

$ netcat -z -v google.com 1-1000
Or
$ nc -z -v google.com 1-1000

La sortie ressemblera à ceci :

netcat: connect to google.com port 1 (tcp) failed: Connection timed out
netcat: connect to google.com port 1 (tcp) failed: Network is unreachable
netcat: connect to google.com port 2 (tcp) failed: Connection timed out
netcat: connect to google.com port 2 (tcp) failed: Network is unreachable
netcat: connect to google.com port 3 (tcp) failed: Connection timed out
netcat: connect to google.com port 3 (tcp) failed: Network is unreachable
netcat: connect to google.com port 4 (tcp) failed: Connection timed out
netcat: connect to google.com port 4 (tcp) failed: Network is unreachable
netcat: connect to google.com port 5 (tcp) failed: Connection timed out
netcat: connect to google.com port 5 (tcp) failed: Network is unreachable
....

Vous pouvez également effectuer une analyse de port pour l'adresse IP en utilisant le -n option pour définir que vous n'avez pas besoin de résoudre l'adresse IP à l'aide de DNS.

$ netcat -z -n -v 192.168.0.173 1-1000
OR
$ nc -z -n -v 192.168.0.173 1-1000

La sortie ressemblera à ceci :

netcat: connect to 192.168.0.173 port 1 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 2 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 3 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 4 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 5 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 6 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 7 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 8 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 9 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 10 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 11 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 12 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 13 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 14 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 15 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 16 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 17 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 18 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 19 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 20 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 21 (tcp) failed: Connection refused
Connection to 192.168.0.173 22 port [tcp/*] succeeded!
netcat: connect to 192.168.0.173 port 23 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 24 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 25 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 26 (tcp) failed: Connection refused
netcat: connect to 192.168.0.173 port 27 (tcp) failed: Connection refused
...

À partir de la sortie ci-dessus, vous pouvez clairement voir que le port SSH traditionnel est ouvert dans la plage de 1-1000 sur la machine distante.

Si vous souhaitez uniquement imprimer les ports ouverts à l'écran, vous devez filtrer la sortie avec la commande grep comme indiqué.

$ netcat -z -n -v 192.168.0.173 1-1000 2>&1 | grep succeeded
OR
$ nc -z -n -v 192.168.0.173 1-1000 2>&1 | grep succeeded

Sortie :

Connection to 192.168.0.173 22 port [tcp/*] succeeded!
Connection to 192.168.0.173 80 port [tcp/*] succeeded!

Vous pouvez également analyser des ports individuels.

$ nc -zv 192.168.0.173 80
$ nc -zv 192.168.0.173 22
Or
$ nc -zv 192.168.0.173 http
$ nc -zv 192.168.0.173 ssh

[ Vous pourriez également aimer :Comment rechercher et fermer des ports ouverts sous Linux ]

Pour plus d'informations et d'utilisation, lisez les pages de manuel de netcat.


Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment j'utilise cron sous Linux

  3. Comment trouver la liste de tous les ports ouverts sous Linux

  4. Comment utiliser la commande Su sous Linux

  5. Comment lister les ports ouverts sur le serveur Linux/Unix

Comment faire une analyse de port sous Linux

Comment vérifier les ports ouverts sous Linux

Comment ouvrir un port sur Ubuntu 20.04

Comment vérifier qu'un port est ouvert sur un système Linux distant

Comment rechercher et fermer des ports ouverts sous Linux

Comment vérifier les ports ouverts sous Linux ?