Cela peut être fait en utilisant tcpprobe , qui est un module qui insère un hook dans le chemin de traitement tcp_recv en utilisant kprobe enregistre l'état d'une connexion TCP en réponse aux paquets entrants.
Supposons que vous souhaitiez tester la connexion TCP sur le port 443, vous devez procéder comme suit :
sudo modprobe tcp_probe port=443 full=1
sudo chmod 444 /proc/net/tcpprobe
cat /proc/net/tcpprobe > /tmp/output.out &
pid=$!
complet=1 :se connecte à chaque paquet d'accusé de réception reçu
complet=0 :connectez-vous uniquement aux changements de condo (si vous l'utilisez, votre sortie peut être vide)
Maintenant pid est le processus qui enregistre la sonde. Pour arrêter, tuez simplement ce processus :
kill $pid
Le format de output.out (selon la source à la ligne 198) :
[time][src][dst][length][snd_nxt][snd_una][snd_cwnd][ssthresh][snd_wnd][srtt][rcv_wnd]