netstat
netstat
, pour « network statistics », est une ligne de commande affichant des informations sur les connexions réseau, les tables de routage et un certain nombre de statistiques dont ceux des interfaces, sans oublier les connexions masquées, les membres multicast, et enfin, les messages netlink. La commande est disponible sous Unix (et ses dérivés dont Linux) et sous Windows NT compatibles.
Utilisations
Les paramètres utilisés avec cette commande doivent être préfixés avec un « tiret » plutôt qu'un slash (/).
-a : Affiche toutes les connexions TCP actives et les ports TCP et UDP sur lesquels l'ordinateur écoute.
-b : Affiche le nom du programme impliqué dans la création de chaque connexion et ports ouverts (Windows uniquement).
-p : Affiche le nom du programme impliqué dans la création de chaque connexion et le PID associé (Linux uniquement).
-e : Affiche les statistiques ethernet comme le nombre d'octets et de paquets envoyés et reçus. Ce paramètre peut être combiné avec -s.
-n : Affiche les connexions TCP actives, cependant les adresses et les ports sont affichés au format numérique, sans tentative de résolution de nom.
-o : Affiche les connexions TCP actives et inclut l'identifiant du processus (PID) pour chaque connexion. Vous pouvez retrouver la correspondance entre les PID et les applications dans le gestionnaire des tâches de Windows. Ce paramètre peut être combiné avec -a, -n et -p. Ce paramètre est disponible sous Windows XP, et Windows 2003 Server mais pas sous Windows 2000.
-i : Affiche les interfaces réseaux et leurs statistiques (non disponibles sous Windows).
-r : Affiche le contenu de la table de routage (équivalent à route print sous Windows).
-s : Affiche les statistiques par protocole. Par défaut, les statistiques sont affichées pour IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP et UDPv6. L'option -p peut être utilisée pour spécifier un sous-jeu de la valeur par défaut.
/? : Affiche l'aide (seulement sous Windows).
Spécificités pour Windows
Sur les plateformes Windows, les informations retournées peuvent être retrouvées par l'appel de la fonction API GetTcpTable() et GetUdpTable() implémentées dans la bibliothèque IPHLPAPI.DLL. Les informations retournées sont les adresses IP locales et distantes, les ports locaux et distants et pour GetTcpTable() les codes de statut TCP. La commande est valable lorsque le protocole TCP/IP est installé comme composant dans les propriétés de la connexion réseau.
Exemple
Dans cet exemple on voit deux connexions établies sur les ports 1922 et 1924 entre un serveur appelé SRVX et un des serveurs de Wikipédia :
C:\>netstat
Connexions actives
Proto Adresse locale Adresse distante Etat
TCP SRVX:1922 rr.knams.wikimedia.org:http ESTABLISHED
TCP SRVX:1924 rr.knams.wikimedia.org:http ESTABLISHED
Pour déterminer le service qui écoute le port 22 sur Ubuntu (en étant connecté en SSH du 192.168.0.3 sur le 192.168.0.2) :
netstat -pano |grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 5359/sshd off (0.00/0/0)
tcp 0 64 192.168.0.2:22 192.168.0.3:29637 ESTABLISHED 7826/1 sur (0,40/0/0)
tcp6 0 0 :::22 :::* LISTEN 5359/sshd off (0.00/0/0)