Utilisation de la commande netstat
![]()
La commande netstat, sous Linux, a des fonctionalités bien pratique. Elle peut par exemple, permettre de connaître le nombre exact de connexions sur un port donné.
Ici, on veut afficher le nombre de connexions sur le port 80 :
netstat -an | egrep ".*:80" | tr -s " " | cut -f6 -d " " | sort | uniq -c
On peut également afficher toutes les connexions tcp et sur quelles adresses distantes :
netstat -tn
Tous les ports en attente de connexion tcp (et donc ouvert) avec le programme associé :
netstat -lptn
Ou encore, obtenir des statistiques :
netstat -s
Voici une liste des différents états qui existe (trouvé sur Internet) :
- ESTABLISHED: la socket a une connexion établie
- SYN_SENT: la socket attend activement d'établir une connexion
- SYN_RECV: une requête de connexion a été reçue du réseau
- FIN_WAIT1: la socket est fermée, et la connexion est en cours de terminaison
- FIN_WAIT2: la connexion est fermée, et la socket attend une terminaison du distant
- TIME_WAIT: la socket attend la fin du traitement avant d'entreprendre la fermeture
- CLOSED: la socket n'est pas utilisée
- CLOSE_WAIT: le distant a arrêté, attendant la fermeture de la socket
- LAST_ACK: le distant termine, et la socket est fermée. Attente d'acquittement
- LISTEN: la socket est à l'écoute de connexions entrantes
- CLOSING: les deux prises sont arrêtées mais toutes les données locales n'ont pas encore été envoyées
- UNKNOWN: l'état de la prise est inconnu


Créé en 2005, Tux-planet est un site qui a pour ambition de regrouper des articles sur Linux et le monde des logiciels libres. 





5 Commentaires pour "Utilisation de la commande netstat"
Flux des commentaires de cet article Ajouter un commentaireSympa !!
Un peu de sécurité en plus.
Je rajoute une commande netstat un peu particulière, qui permet d'avoir le nombre de connexions à un moment donnée. L'avantage ici, est que les données sont formatés sur une seule ligne, ce qui permet de mettre la commande en crontab et permet ensuite d'exporter les données dans un tableur.
La commande en une seule ligne :
Ce qui peux donner en syntaxe crontab (ici exécution toutes les minutes) :
Merci pti-seb pour la petite ligne de commande qui va bien. Je vais tester ça de suite dans un cron. Pour surveiller certains comportement un peu bizarre de mon dédié...
Choa
1. Quel est le rôle de la commande netstat -tua
2. Quels sont les fichiers et/ou les services utilisés pour la résolution des noms lors de l'exécution de la commande netstat -tua ? Justifiez votre réponse ?
3. Quelle est la commande la plus rapide netstat -tua ou netstat -tuan ? Justifier votre réponse ?
@Anonymous : la façon dont tu as écris ton commentaire fait penser à un devoir auquel tu n'as pas répondu.
Allez, je t'aide un peu quand même. La réponse est dans le man de la commande netstat.
Voici la correspondance des options, qui te permet au passage de savoir ce que fait la commande :
-t : on affiche les connexions TCP
-u : on affiche les connexions UDP
-a : on affiche à la fois les sockets en écoute et celle qui ne le sont pas
Sinon, l'opion supplémentaire -n permet de désactiver la résolution de noms (FQDN). Ce mode est donc plus rapide, car on affiche uniquement les adresses IP et non le nom associé. Et on peut le prouver avec la commande time :