47.8. Affichage des informations sur les changements d'état de TCP
Au cours d'une session TCP, l'état TCP change. L'utilitaire tcpstates
utilise les fonctions eBPF pour suivre ces changements d'état et affiche les détails, y compris la durée de chaque état. Par exemple, utilisez tcpstates
pour identifier si les connexions passent trop de temps dans l'état d'initialisation.
Procédure
Utilisez la commande suivante pour commencer à suivre les changements d'état de TCP :
# /usr/share/bcc/tools/tcpstates SKADDR C-PID C-COMM LADDR LPORT RADDR RPORT OLDSTATE -> NEWSTATE MS ffff9cd377b3af80 0 swapper/1 0.0.0.0 22 0.0.0.0 0 LISTEN -> SYN_RECV 0.000 ffff9cd377b3af80 0 swapper/1 192.0.2.1 22 192.0.2.45 53152 SYN_RECV -> ESTABLISHED 0.067 ffff9cd377b3af80 818 sssd_nss 192.0.2.1 22 192.0.2.45 53152 ESTABLISHED -> CLOSE_WAIT 65636.773 ffff9cd377b3af80 1432 sshd 192.0.2.1 22 192.0.2.45 53152 CLOSE_WAIT -> LAST_ACK 24.409 ffff9cd377b3af80 1267 pulseaudio 192.0.2.1 22 192.0.2.45 53152 LAST_ACK -> CLOSE 0.376 ...
Chaque fois qu'une connexion change d'état,
tcpstates
affiche une nouvelle ligne avec les détails actualisés de la connexion.Si plusieurs connexions changent d'état en même temps, utilisez l'adresse du socket dans la première colonne (
SKADDR
) pour déterminer quelles entrées appartiennent à la même connexion.- Appuyez sur Ctrl C pour arrêter le processus de traçage.
Ressources supplémentaires
-
tcpstates(8)
page de manuel -
/usr/share/bcc/tools/doc/tcpstates_example.txt
fichier