16 novembre 2012

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
sshd       3297   root    7u  IPv4 429247      0t0  TCP srv.rez0.lan:41899->ldap.rez0.lan:ldap 
sshd       3316    fhh    3u  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 
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 
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 
nscd       5998   root   10u  IPv4  15716      0t0  TCP srv.rez0.lan:34009->ldap.rez0.lan:ldap 
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 
sshd    3316  fhh    3u  IPv4 429144      0t0  TCP srv.rez0.lan:22->10.0.2.10:52813 
mysqld  5634 mysql   14u  IPv4  14826      0t0  TCP localhost:mysql (LISTEN)
sshd    6128 root    3u  IPv4  15545      0t0  TCP *:22 (LISTEN)

Aucun commentaire :

Enregistrer un commentaire