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’œil 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 mnémotechnique de retenir un panel d’options (adapté d’une suggestion de Gardouille):
netstat -lataupe
À vous Cognack-Jay