GNU/Linux >> Tutoriels Linux >  >> Linux

Vérifier les ports d'écoute avec netstat

Si vous dépannez un service dont vous savez qu'il fonctionne normalement, l'étape suivante consiste à vous assurer qu'il écoute sur le bon port réseau.

Le netstat La commande affiche les services écoutant les ports sur un serveur Linux et les détails de toutes les connexions actuellement établies avec eux. PID) et le nom du programme.

Vous devez exécuter netstat sur le serveur qui exécute le service.Netstat n'est pas affecté par la configuration de votre pare-feu.

Remarque : Vous pouvez également utiliser le lsof et ss commandes pour vérifier les ports. La plupart des indicateurs de commande contenus dans cet article sont les mêmes lorsque vous exécutez le lsof et ss commandes. Cependant, la sortie renvoyée lorsque vous utilisez ces commandes peut ne pas ressembler à la sortie de netstat outil. Pour plus d'informations sur les deux commandes, consultez le lsof et ss manuels de commande.

Vérifier les ports

Pour répertorier les ports TCP en cours d'écoute, ainsi que le nom du démon de chaque écouteur et son PID, exécutez la commande suivante :

sudo netstat -plnt

L'exemple suivant montre la sortie de trois programmes courants qui écoutent sur trois prises différentes.

$ sudo netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      3686/mysqld
tcp        0      0 :::443                      :::*                        LISTEN      2218/httpd
tcp        0      0 :::80                       :::*                        LISTEN      2218/httpd
tcp        0      0 :::22                       :::*                        LISTEN      1051/sshd

Filtrer la liste

Si la liste des démons d'écoute est longue, vous pouvez utiliser grep pour le filtrer.Par exemple, pour filtrer tout sauf le port de serveur Web par défaut 80 , exécutez la commande suivante :

$ sudo netstat -plnt | grep ':80'
tcp        0      0 :::80                       :::*                        LISTEN      8448/httpd

Analyser les résultats

Les résultats courants incluent les résultats suivants :

  • Rien n'écoute sur le port. Vérifiez les fichiers de configuration du service, puis redémarrez le service.
  • Le bon service écoute sur le bon port. Dans ce cas, vous devez tester le service de manière plus approfondie. Passez à l'article testant le service d'écoute pour une réponse à l'aide de netcat.
  • Quelque chose d'autre que le service attendu semble être à l'écoute sur le port.

Remarque :Un super-serveur, tel que xinetd, peut être à l'écoute sur le port. Vérifiez votre configuration xinetd pour vous assurer que ce comportement est acceptable.

Si quelque chose d'autre écoute sur le port, vous pouvez désactiver le programme en exécutant sudo service httpd stop , ou modifier sa configuration afin qu'il n'écoute plus sur le port. Quand netstat indique que le port est libre, activez le bon service (par exemple sudo service vsftpd start ).

Si vous apportez des modifications parce que le mauvais service écoute, exécutez le netstat commander à nouveau. Si netstat n'affiche pas le programme écoutant sur le bon port, vous devez régler sa configuration avant d'aller plus loin.

Si vous apportez des modifications à ce stade, assurez-vous de tester votre configuration pour vérifier que vous avez résolu votre problème.

Si vous utilisez le netstat n'a pas résolu vos problèmes de port, continuez à tester les connexions au service à l'aide de la commande netcat.


Linux
  1. Vérifier quel service écoute sur un port Linux donné

  2. Comment vérifier quels signaux un processus écoute ?

  3. Vérifiez les autorisations de fichiers Linux avec ls

  4. Vérifier les ports d'écoute avec netstat

  5. Vérifier les services en cours d'exécution sous Linux

Commande Netstat sous Linux - 28 commandes avec exemples

Comment exécuter des conteneurs en tant que service Systemd avec Podman

Comment vérifier les ports d'écoute sous Linux (ports utilisés)

Gestion des cgroups avec systemd

Premiers pas avec systemctl

Comment vérifier les ports ouverts sous Linux ?