Lister les ports ouverts et les processus les utilisant

Le listing des ports ouverts et des processus qui les utilisent peut être obtenu par la commande « lsof » dont le rôle est de lister les fichiers ouverts. Comme sous Linux tout est fichier, « lsof » permet avec l’option « -i » le listing de tous les « fichiers réseaux ».

23:18 srv ~ # lsof -i
COMMAND     PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd       3297   root    3r  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 (ESTABLISHED)
sshd       3297   root    7u  IPv4 429247      0t0  TCP srv.rez0.lan:41899->ldap.rez0.lan:ldap (ESTABLISHED)
sshd       3316    fhh    3u  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 (ESTABLISHED)
named      5202  named   20u  IPv4  14108      0t0  TCP 10.0.2.254:domain (LISTEN)
named      5202  named   21u  IPv4  14110      0t0  TCP localhost:domain (LISTEN)
named      5202  named   22u  IPv4  14111      0t0  TCP localhost:rndc (LISTEN)
named      5202  named  512u  IPv4  14107      0t0  UDP 10.0.2.254:domain
named      5202  named  513u  IPv4  14109      0t0  UDP localhost:domain
automount  5390   root    7u  IPv4  14419      0t0  TCP srv.rez0.lan:34002->ldap.rez0.lan:ldap (ESTABLISHED)
dhcpd      5517   dhcp    3u  IPv4  14619      0t0  UDP *:bootps
fcron      5716   root    6u  IPv4  14926      0t0  TCP srv.rez0.lan:34005->ldap.rez0.lan:ldap (ESTABLISHED)
nscd       5998   root   10u  IPv4  15716      0t0  TCP srv.rez0.lan:34009->ldap.rez0.lan:ldap (ESTABLISHED)
sshd       6128   root    3u  IPv4  15545      0t0  TCP *:22 (LISTEN)
ntpd      27169   root   16u  IPv4 185602      0t0  UDP *:ntp
ntpd      27169   root   17u  IPv4 185604      0t0  UDP 10.0.2.254:ntp
ntpd      27169   root   18u  IPv4 185605      0t0  UDP srv.rez0.lan:ntp
ntpd      27169   root   19u  IPv4 185606      0t0  UDP localhost:ntp

Les arguments passés à « lsof -i » permettent

  • de cibler les adresses en IPv4, IPv6 ou les deux;
  • une ou des ip(s) cible(s) ou un/des nom(s) de machine(s) (en les faisant précéder par ‘@’);
  • les connexions associées à un port ou à un service.

La syntaxe, décrite dans le « manpage » de « lsof » est du type :

[46] [protocole][@nom_hôte|adresse_hôte][:service|port]

Quelques exemples d’utilisation

Affichage de toutes les connexions IPv4 en UDP depuis la machine ou sur l’ip 10.0.2.254 sur le port ntp (123) :

00:04 srv ~ # lsof -i 4UDP@10.0.2.254:ntp
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ntpd    27169 root   17u  IPv4 185604      0t0  UDP 10.0.2.254:ntp

Affichage de toutes les connexions IPv4 sur port ntp (123) :

00:04 srv ~ # lsof -i 4:ntp
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ntpd    27169 root   16u  IPv4 185602      0t0  UDP *:ntp
ntpd    27169 root   17u  IPv4 185604      0t0  UDP 10.0.2.254:ntp
ntpd    27169 root   18u  IPv4 185605      0t0  UDP srv.rez0.lan:ntp
ntpd    27169 root   19u  IPv4 185606      0t0  UDP localhost:ntp

Sortie de toutes les connexions IPv4 ou IPv6 depuis l’IP ou sur l’IP 10.0.2.254 :

00:04 srv ~ # lsof -i @10.0.2.254
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
named    5202 named   20u  IPv4  14108      0t0  TCP 10.0.2.254:domain (LISTEN)
named    5202 named  512u  IPv4  14107      0t0  UDP 10.0.2.254:domain
ntpd    27169  root   17u  IPv4 185604      0t0  UDP 10.0.2.254:ntp

Sortie des connexions entrante ou sortante IPv4 ou 6 sur le port 22 (ssh) ou sur le port de mysql (3306) :

00:05 srv ~ # lsof -i :22,mysql
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    3297 root    3r  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 (ESTABLISHED)
sshd    3316  fhh    3u  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 (ESTABLISHED)
mysqld  5634 mysql   14u  IPv4  14826      0t0  TCP localhost:mysql (LISTEN)
sshd    6128 root    3u  IPv4  15545      0t0  TCP *:22 (LISTEN)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *