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.