Commandes Linux · 8 min read · Sep 19, 2025
Tutoriel sur la commande netstat de Linux pour les débutants (8 exemples)
Si vous êtes nouveau dans la ligne de commande Linux et que vous êtes intéressé par l’apprentissage des choses liées au réseau, il existe de nombreux utilitaires en ligne de commande dont vous devriez être conscient. Un de ces outils est netstat. Dans cet article, nous allons discuter de cette commande en utilisant quelques exemples faciles à comprendre.
Mais avant cela, il convient de mentionner que tous ces exemples ont été testés sur une machine Ubuntu 16.04 LTS.
Commande netstat de Linux
La commande netstat vous permet d’imprimer les connexions réseau, les tables de routage, les statistiques d’interface, les connexions masquées et les adhésions multicast. Voici sa syntaxe :
netstat [OPTIONS]Voici comment la page man l’explique :
Netstat imprime des informations sur le sous-système de mise en réseau Linux. Le
type d'informations imprimées est contrôlé par le premier argument, comme
suit :
(aucun)
Par défaut, netstat affiche une liste de sockets ouverts. Si vous ne
spécifiez aucune famille d'adresses, alors les sockets actifs de toutes les
familles d'adresses configurées seront imprimés.
--route , -r
Affiche les tables de routage du noyau. Voir la description dans route(8) pour
plus de détails. netstat -r et route -e produisent la même sortie.
--groups , -g
Affiche les informations d'adhésion aux groupes multicast pour IPv4 et IPv6.
--interfaces, -i
Affiche un tableau de toutes les interfaces réseau.
--masquerade , -M
Affiche une liste de connexions masquées.
--statistics , -s
Affiche des statistiques sommaires pour chaque protocole.Voici quelques exemples sous forme de questions-réponses qui devraient vous donner une bonne idée de la façon dont la commande netstat fonctionne.
Q1. Comment utiliser la commande netstat ?
L’utilisation de base est assez simple - il suffit d’exécuter la commande netstat sans aucune option.
netstatPar exemple, dans mon cas, la sortie suivante a été produite :
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État
tcp 0 0 192.168.1.7:59510 mails11.telegram.:https ÉTABLI
tcp 0 0 192.168.1.7:57318 13.70.5.200:https ÉTABLI
tcp 0 1 192.168.1.7:51238 52.114.32.7:https SYN_ENVOYÉ
tcp 390 0 192.168.1.7:60392 del03s09-in-f10.1:https ÉTABLI
tcp 0 1 192.168.1.7:51240 52.114.32.7:https SYN_ENVOYÉ
tcp 0 0 192.168.1.7:50196 del03s10-in-f10.1:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:41996 maa05s05-in-f4.1e:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:56680 wa-in-f94.1e100.n:https ÉTABLI
tcp 0 0 192.168.1.7:54578 del03s10-in-f14.1:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:51310 del03s10-in-f2.1e:https TEMPS_ATTENTEDonc, par défaut, la commande affiche une liste de tous les sockets ouverts.
Q2. Comment faire en sorte que netstat affiche des adresses numériques ?
Par défaut, la commande netstat essaie de déterminer les noms d’hôtes, de ports ou d’utilisateurs symboliques. Cela peut ralentir l’outil. Cependant, si vous êtes d’accord avec des valeurs numériques, vous pouvez faire en sorte que l’outil affiche des valeurs numériques en utilisant l’option de ligne de commande -n.
netstat -nPar exemple, dans mon cas, la sortie suivante a été produite :
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État
tcp 0 0 192.168.1.7:59510 149.154.171.22:443 ÉTABLI
tcp 0 0 192.168.1.7:57318 13.70.5.200:443 ÉTABLI
tcp 0 0 192.168.1.7:51682 52.114.32.7:443 TEMPS_ATTENTE
tcp 0 0 192.168.1.7:54884 172.217.161.14:443 TEMPS_ATTENTE
tcp 0 0 192.168.1.7:35112 172.217.161.5:443 ÉTABLI
tcp 0 0 192.168.2.97:45662 148.251.237.53:21 ÉTABLI
tcp 0 0 192.168.1.7:50892 149.154.164.224:443 ÉTABLI
tcp 0 0 192.168.1.7:58772 172.217.194.189:443 TEMPS_ATTENTE
tcp 0 1 192.168.1.7:47728 144.76.158.93:443 SYN_ENVOYÉ
tcp 0 1 192.168.1.7:47730 144.76.158.93:443 SYN_ENVOYÉ
tcp 0 0 192.168.1.7:59548 149.154.171.22:443 ÉTABLI
tcp 0 0 192.168.1.7:35818 169.55.74.50:443 ÉTABLI
tcp 0 0 192.168.1.7:50888 149.154.164.224:443 ÉTABLI
tcp 0 0 192.168.1.7:44156 152.195.11.6:443 ÉTABLI
tcp 0 0 192.168.1.7:58478 52.229.174.94:443 ÉTABLI
tcp 52 0 127.0.0.1:60342 127.0.1.1:139 ÉTABLI
tcp 0 0 192.168.1.7:58820 172.217.161.3:443 ÉTABLI
tcp 0 0 192.168.1.7:45588 52.175.17.224:443 TEMPS_ATTENTE
tcp 0 0 192.168.1.7:50890 149.154.164.224:443 ÉTABLI
tcp 0 0 192.168.1.7:58192 52.77.195.144:443 ÉTABLI
tcp 0 0 192.168.1.7:54224 172.217.31.2:443 ÉTABLI
tcp 0 0 127.0.1.1:139 127.0.0.1:60342 ÉTABLI
tcp 0 0 192.168.1.7:34500 192.241.190.153:443 ÉTABLI
tcp 0 0 192.168.1.7:54888 172.217.161.14:443 ÉTABLIDonc, vous pouvez voir que seules des valeurs numériques ont été produites dans la sortie (dans la colonne Adresse étrangère) cette fois-ci.
Q3. Comment faire en sorte que netstat n’affiche que les connexions tcp ?
Vous pouvez le faire en utilisant l’option de ligne de commande -t.
netstat -tPar exemple, dans mon cas, la sortie suivante a été produite :
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État
tcp 0 0 192.168.1.7:44236 152.195.11.6:https ÉTABLI
tcp 0 0 192.168.1.7:59510 mails11.telegram.:https ÉTABLI
tcp 0 0 192.168.1.7:57318 13.70.5.200:https ÉTABLI
tcp 0 0 192.168.1.7:42706 maa05s05-in-f4.1e:https ÉTABLI
tcp 0 0 192.168.1.7:51984 del03s10-in-f2.1e:https ÉTABLI
tcp 0 0 192.168.1.7:51786 52.114.32.7:https ÉTABLI
tcp 0 0 192.168.1.7:52294 xx-fbcdn-shv-01-m:https ÉTABLI
tcp 0 0 192.168.1.7:54372 del03s01-in-f2.1e:https ÉTABLI
tcp 0 1 192.168.1.7:47788 hyperserver.semse:https SYN_ENVOYÉ
tcp 0 0 192.168.1.7:52298 xx-fbcdn-shv-01-m:https ÉTABLI
tcp 0 0 192.168.1.7:51840 149.154.164.224:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:35258 del03s10-in-f1.1e:https ÉTABLI
tcp 0 0 192.168.2.97:45662 blog.gsmarena.com:ftp ÉTABLI
tcp 0 0 192.168.1.7:50728 del03s10-in-f10.1:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:56468 del03s09-in-f3.1e:https ÉTABLI
tcp 0 0 192.168.1.7:50892 149.154.164.224:https ÉTABLI
tcp 0 0 192.168.1.7:45670 52.175.17.224:https ÉTABLI
tcp 0 0 192.168.1.7:55180 del03s10-in-f14.1:https TEMPS_ATTENTE
tcp 0 1 192.168.1.7:47790 hyperserver.semse:https SYN_ENVOYÉ
tcp 0 0 192.168.1.7:59548 mails11.telegram.:https ÉTABLI
tcp 0 0 192.168.1.7:35818 32.4a.37a9.ip4.st:https ÉTABLI
tcp 0 0 192.168.1.7:50888 149.154.164.224:https ÉTABLI
tcp 0 0 192.168.1.7:33360 del03s10-in-f13.1:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:52332 207.46.140.70:https ÉTABLI
tcp 0 0 192.168.1.7:58478 52.229.174.94:https ÉTABLI
tcp 0 0 192.168.1.7:54374 del03s01-in-f2.1e:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:50216 104.24.1.68:https TEMPS_ATTENTE
tcp 52 0 localhost:60342 ansh:netbios-ssn ÉTABLI
tcp 0 0 192.168.1.7:50890 149.154.164.224:https ÉTABLI
tcp 0 0 192.168.1.7:55200 del03s10-in-f14.1:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:54224 del03s01-in-f2.1e:https ÉTABLI
tcp 0 0 ansh:netbios-ssn localhost:60342 ÉTABLI
tcp 0 0 192.168.1.7:55212 del03s10-in-f14.1:https TEMPS_ATTENTE
tcp 0 1 192.168.1.7:47800 hyperserver.semse:https SYN_ENVOYÉ
tcp 0 0 192.168.1.7:45668 52.175.17.224:https ÉTABLI
tcp 0 0 192.168.1.7:58878 del03s10-in-f3.1e:https TEMPS_ATTENTE
tcp 0 0 192.168.1.7:34500 do-11.lastpass.co:https ÉTABLI
tcp 0 0 192.168.1.7:41844 a23-35-40-198.dep:https ÉTABLIQ4. Comment faire en sorte que netstat n’affiche que les connexions udp
Vous pouvez le faire en utilisant l’option de ligne de commande -u.
netstat -uQ5. Comment faire en sorte que netstat n’affiche que les sockets à l’écoute ?
Ceci est possible en utilisant l’option de ligne de commande -l.
netstat -lPar exemple, la sortie suivante a été produite dans mon cas :
Connexions Internet actives (uniquement serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État
tcp 0 0 ansh:domain *:* ÉCOUTE
tcp 0 0 localhost:ipp *:* ÉCOUTE
tcp 0 0 *:microsoft-ds *:* ÉCOUTE
tcp 0 0 *:netbios-ssn *:* ÉCOUTE
tcp6 0 0 ip6-localhost:ipp [::]:* ÉCOUTE
tcp6 0 0 [::]:microsoft-ds [::]:* ÉCOUTE
tcp6 0 0 [::]:netbios-ssn [::]:* ÉCOUTE
...
...
...Q6. Comment faire en sorte que netstat affiche le nom et le PID des programmes ?
Dans le cas où vous souhaitez que netstat affiche le nom des ID de processus des processus auxquels chaque socket appartient, utilisez l’option de ligne de commande -p.
netstat -pPar exemple :
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse étrangère État PID/Nom du programme
tcp 0 0 192.168.1.7:57318 13.70.5.200:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:36732 13.76.170.95:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:52050 149.154.164.224:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:55974 del03s10-in-f14.1:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:52074 149.154.164.224:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:60590 mails11.telegram.:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:52254 149.154.164.224:https ÉTABLI 3247/firefox
tcp 0 0 192.168.2.97:45662 blog.gsmarena.com:ftp ÉTABLI 3160/filezilla
tcp 0 0 192.168.1.7:35818 32.4a.37a9.ip4.st:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:52528 52.114.32.7:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:55950 del03s10-in-f14.1:https ÉTABLI 3247/firefox
tcp 68 0 localhost:60342 ansh:netbios-ssn ÉTABLI 2625/gvfsd-smb-brow
tcp 0 0 192.168.1.7:44974 152.195.11.6:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:36730 13.76.170.95:https ÉTABLI 3247/firefox
tcp 0 0 ansh:netbios-ssn localhost:60342 ÉTABLI -
tcp 0 0 192.168.1.7:52732 del03s10-in-f2.1e:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:60314 52.229.174.94:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:53072 207.46.140.70:https ÉTABLI 3247/firefox
tcp 0 0 192.168.1.7:34500 do-11.lastpass.co:https ÉTABLI 3247/firefoxVoir la dernière colonne pour les informations sur le PID/le nom du programme.
Q7. Comment faire en sorte que netstat imprime des statistiques réseau ?
Cela peut être fait en utilisant l’option de ligne de commande -s.
netstat -sDans ce cas, l’outil produit des informations telles que le nombre total de paquets reçus, abandonnés, livrés, et bien plus encore. Voici un exemple de sortie lorsque l’option de ligne de commande -s a été utilisée.
Ip:
592215 paquets totaux reçus
41 avec des adresses invalides
0 transférés
0 paquets entrants abandonnés
580699 paquets entrants livrés
539118 demandes envoyées
627 paquets sortants abandonnés
482 abandonnés en raison d'une route manquante
2 fragments échoués
Icmp:
2337 messages ICMP reçus
6 messages ICMP d'entrée échoués.
Histogramme des entrées ICMP:
destination inaccessible: 2337
3917 messages ICMP envoyés
0 messages ICMP échoués
Histogramme des sorties ICMP:
destination inaccessible: 3917
IcmpMsg:
InType3: 2337
OutType3: 3917
Tcp:
10943 ouvertures de connexions actives
127 ouvertures de connexions passives
38 tentatives de connexion échouées
467 réinitialisations de connexion reçues
34 connexions établies
443643 segments reçus
414589 segments envoyés
6929 segments retransmis
428 mauvais segments reçus.
11713 réinitialisations envoyées
...
...
...Q8. Comment faire en sorte que netstat affiche la table de routage du noyau ?
Cela peut être fait en utilisant l’option de ligne de commande -r.
netstat -rVoici la sortie produite dans mon cas :
Table de routage IP du noyau
Destination Passerelle Genmask Flags MSS Fenêtre irtt Interface
par défaut 192.168.1.1 0.0.0.0 UG 0 0 0 wlx18a6f713679b
link-local * 255.255.0.0 U 0 0 0 wlx18a6f713679b
192.168.1.0 * 255.255.255.0 U 0 0 0 wlx18a6f713679bNotez que netstat -r et route -e produisent la même sortie.
Conclusion
Donc, comme vous l’avez compris maintenant, la commande netstat est un outil très important. Il offre de nombreuses fonctionnalités - nous n’avons qu’effleuré la surface ici. Une fois que vous avez terminé de pratiquer tout ce que nous avons discuté dans ce tutoriel, rendez-vous sur la page man de l’outil pour plus d’infos.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.