Savoir quels programmes écoutent sur quels ports de votre serveur avec Netstat


Comme je teste pas mal d’applications je me retrouve souvent à avoir nginx, apache, cherokee installés sur la même machine, or des fois j’oublie sur quels ports ils écoutent et m’étonne de ne pouvoir lancer ma nouvelle config nginx toute fraîche alors que l’un des deux autres écoute sur le même port.

Heureusement la plupart des applications vous préviennent que quelqu’un est déjà sur ce port, oui mais qui ?

Pour avoir un rapide coup d’oeil sur les ports utilisés faites:

netstat -ntpul
 
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:80                  0.0.0.0:*                   LISTEN      26586/lighttpd
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      30945/sshd
tcp        0      0 127.0.0.1:199               0.0.0.0:*                   LISTEN      715/snmpd
tcp        0      0 88.234.212.132:3306         0.0.0.0:*                   LISTEN      15186/mysqld
tcp        0      0 127.0.0.1:6379              0.0.0.0:*                   LISTEN      31841/redis-server
tcp        0      0 :::8080                     :::*                        LISTEN      6951/java
tcp        0      0 :::8181                     :::*                        LISTEN      29022/cherokee-work
tcp        0      0 :::22                       :::*                        LISTEN      30945/sshd
tcp        0      0 :::3399                     :::*                        LISTEN      11438/(squid)
udp        0      0 0.0.0.0:161                 0.0.0.0:*                               715/snmpd
udp        0      0 0.0.0.0:50931               0.0.0.0:*                               11438/(squid)
udp        0      0 :::43815                    :::*                                    11438/(squid)

les options:

-n, –numeric

affiche les adresses en format numérique au lieu d’essayer de déterminer le nom symbolique d’hôte, de port ou d’utilisateur.

-p, –programs

affiche le nom et le PID des processus propriétaires de chaque socket décrite. Vous devez être le propriétaire d’un processus pour visualiser les sockets qui lui appartiennent ou être l’utilisateur root pour disposer de toutes les informations.

-l, –listening

Affiche les sockets en écoute

-t

Affiche les connexion TCP

-u

Affiche les connexion UDP

EDIT: On me signale un super moyen mémotechnique de retenir un panel d’options (merci Gardouille):

netstat -lapute

A vous Cognack-Jay

8 thoughts on “Savoir quels programmes écoutent sur quels ports de votre serveur avec Netstat

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.