Linux/Unix

Netstat : Les 14 commandes les plus utilisées

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 :

Laisser un commentaire

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