Netstat est un programme de lignes de commandes qui vous permet d’afficher les connexions TCP actives sur une machine et
lister l’ensemble des ports TCP et UDP ouverts.Vous pouvez ainsi voir des services qui n’ont pas besoin d’être lancés et par conséquent les arrêter et donc éviter qu’il soient exploités par des pirates.
Je vous présentes dans cet article les 14 commandes de Netstat avec différentes options les plus utilisées :
1-Lister tous les ports :
[root@server ~]# netstat -a Connexions Internet actives (serveurs et établies) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 server:ssh 192.168.162.1:60235 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:60234 ESTABLISHED tcp 0 36 server:ssh 192.168.162.1:64254 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:64255 ESTABLISHED tcp 0 0 server:44302 ftp.udc.es:http TIME_WAIT
2-Lister tous les ports TCP :
[root@server ~]# netstat -at Connexions Internet actives (serveurs et établies) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp 0 0 server:ssh 192.168.162.1:60235 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:60234 ESTABLISHED tcp 0 36 server:ssh 192.168.162.1:64254 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:64255 ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN
3-Lister tous les ports UDP :
[root@server ~]# netstat -au Connexions Internet actives (serveurs et établies) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
4-Lister tous les ports en écoute :
[root@server ~]# netstat -l Connexions Internet actives (seulement serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN udp 0 0 0.0.0.0:bootpc 0.0.0.0:* raw6 0 0 [::]:ipv6-icmp [::]:* 7 Sockets du domaine UNIX actives(seulement serveurs) Proto RefCnt Flags Type State I-Node Chemin unix 2 [ ACC ] STREAM LISTENING 13584 /run/systemd/private unix 2 [ ACC ] STREAM LISTENING 8730 /run/systemd/journal/stdout unix 2 [ ACC ] STREAM LISTENING 17972 /var/run/vmware/guestServicePipe unix 2 [ ACC ] STREAM LISTENING 21258 private/tlsmgr unix 2 [ ACC ] STREAM LISTENING 21247 public/pickup unix 2 [ ACC ] STREAM LISTENING 21261 private/rewrite unix 2 [ ACC ] STREAM LISTENING 21251 public/cleanup unix 2 [ ACC ] STREAM LISTENING 21264 private/bounce
5-Lister uniquement les ports TCP en écoutes :
[root@server ~]# netstat -lt Connexions Internet actives (seulement serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:smtp [::]:* LISTEN
6-Lister uniquement les ports UDP en écoutes :
[root@server ~]# netstat -lu Connexions Internet actives (seulement serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat udp 0 0 0.0.0.0:bootpc 0.0.0.0:*
7-Afficher les statistique de tous les ports :
[root@server ~]# netstat -s Ip: 146222 total packets received 0 forwarded 0 incoming packets discarded 145736 incoming packets delivered 68597 requests sent out Icmp: 9 ICMP messages received 0 input ICMP message failed. Histogramme d'entrée ICMP echo requests: 6 echo replies: 3 14 ICMP messages sent 0 ICMP messages failed Histogramme de sortie ICMP
8-Affichier les statistique des Port TCP :
[root@server ~]# netstat -st IcmpMsg: InType0: 3 InType8: 6 OutType0: 6 OutType3: 5 OutType8: 3 Tcp: 23 active connections openings 16 passive connection openings 0 failed connection attempts 6 connection resets received 4 connections established 145564 segments received 86188 segments send out 4 segments retransmited 0 bad segments received. 6 resets sent
9-Affichier les statistique des Port UDP :
[root@server ~]# netstat -su IcmpMsg: InType0: 3 InType8: 6 OutType0: 6 OutType3: 5 OutType8: 3 Udp: 184 packets received 0 packets to unknown port received. 0 packet receive errors 184 packets sent 0 receive buffer errors 0 send buffer errors UdpLite: IpExt:
10- Affiche le nom du programme et le PID associé :
Cette commande est très utile lorsque vous souhaitez connaitre quel programme est exécuté sur un port particulier.
[root@server ~]# netstat -p Connexions Internet actives (sans serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat PID/Program name tcp 0 0 server:ssh 192.168.162.1:60235 ESTABLISHED 16640/sshd: root@no tcp 0 0 server:ssh 192.168.162.1:60234 ESTABLISHED 16635/sshd: root@pt tcp 0 0 server:ssh 192.168.162.1:64254 ESTABLISHED 24314/sshd: root@pt tcp 0 0 server:ssh 192.168.162.1:64255 ESTABLISHED 24320/sshd: root@no Sockets du domaine UNIX actives(sans serveurs) Proto RefCnt Flags Type State I-Node PID/Program name Chemin unix 3 [ ] DGRAM 8710 1/systemd /run/systemd/notify unix 2 [ ] DGRAM 8712 1/systemd /run/systemd/cgroups-agent unix 5 [ ] DGRAM 8733 1/systemd /run/systemd/journal/socket unix 17 [ ] DGRAM 8735 1/systemd /dev/log unix 2 [ ] DGRAM 13608 1/systemd /run/systemd/shutdownd unix 3 [ ] STREAM CONNECTE 21287 1201/master unix 3 [ ] STREAM CONNECTE 21286 1201/master unix 3 [ ] STREAM CONNECTE 19431 762/NetworkManager unix 2 [ ] DGRAM 16912 692/auditd
11- Afficher directement les IP et pas de résolution de nom :
Pour afficher toutes les connexions et tous les ports en écoute mais n’affiche que les adresses IP sans la résolutions des noms.
[root@server ~]# netstat -an Connexions Internet actives (serveurs et établies) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 192.168.162.131:22 192.168.162.1:60235 ESTABLISHED tcp 0 0 192.168.162.131:22 192.168.162.1:60234 ESTABLISHED tcp 0 36 192.168.162.131:22 192.168.162.1:64254 ESTABLISHED tcp 0 0 192.168.162.131:22 192.168.162.1:64255 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:25 :::* LISTEN udp 0 0 0.0.0.0:68 0.0.0.0:* raw6 0 0 :::58 :::* 7 Sockets du domaine UNIX actives(serveurs et établies) Proto RefCnt Flags Type State I-Node Chemin
12-Affiche le numéro d’identification des processus (PID) associé à chaque connexion :
[root@server ~]# netstat -o Connexions Internet actives (sans serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat Timer tcp 0 0 server:ssh 192.168.162.1:60235 ESTABLISHED keepalive (3340,42/0/0) tcp 0 0 server:ssh 192.168.162.1:60234 ESTABLISHED keepalive (3340,42/0/0) tcp 0 36 server:ssh 192.168.162.1:64254 ESTABLISHED on (0,24/0/0) tcp 0 0 server:ssh 192.168.162.1:64255 ESTABLISHED keepalive (5109,89/0/0) Sockets du domaine UNIX actives(sans serveurs) Proto RefCnt Flags Type State I-Node Chemin unix 3 [ ] DGRAM 8710 /run/systemd/notify unix 2 [ ] DGRAM 8712 /run/systemd/cgroups-agent unix 5 [ ] DGRAM 8733 /run/systemd/journal/socket unix 17 [ ] DGRAM 8735 /dev/log unix 2 [ ] DGRAM 13608 /run/systemd/shutdownd
13- Afficher la table de routage IPV4 et IP6 :
[root@server ~]# netstat -r Table de routage IP du noyau Destination Passerelle Genmask Indic MSS Fenêtre irtt Iface default gateway 0.0.0.0 UG 0 0 0 ens33 192.168.162.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
14- Affichage à un interval de temps régulier en seconde :
netstat -t « temps en seconde » ( Exemple : netstat -t 5 )
[root@server ~]# netstat -t 5 Connexions Internet actives (sans serveurs) Proto Recv-Q Send-Q Adresse locale Adresse distante Etat tcp 0 0 server:ssh 192.168.162.1:60235 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:60234 ESTABLISHED tcp 0 36 server:ssh 192.168.162.1:64254 ESTABLISHED tcp 0 0 server:ssh 192.168.162.1:64255 ESTABLISHED
Voici une vidéo de « netstat » que je trouve intéressant et je vous invite à le voir, il donne plus de détaille sur netstat :
D’autres articles qui peuvent vous intéresser :
nmap : les 12 commandes que vous devez connaître.
Comment configurer une addresse IP avec l’outil ‘nmtui’
nmap : les 12 commandes que vous devez connaître
Virsh : La gestion des Vm en ligne de commande
DNS round robin
Protocole du routage
Fail2Ban : How to protect Linux services