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é.
Pour connaître les connexions actives sur la machine
netstat -tanpu
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
Liste des différents états:
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.