42.8. TCP 상태 변경 정보 표시
TCP 세션 중에 TCP 상태가 변경됩니다. tcpstates
유틸리티는 eBPF 함수를 사용하여 이러한 상태 변경 사항을 추적하고 각 상태의 기간을 포함한 세부 정보를 출력합니다. 예를 들어 tcpstates
를 사용하여 연결이 초기화 상태에서 너무 많은 시간을 소비하는지 확인합니다.
절차
다음 명령을 사용하여 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 ...
연결이 해당 상태를 변경할 때마다
tcpstates
는 업데이트된 연결 세부 정보가 포함된 새 행을 표시합니다.여러 연결이 동시에 상태를 변경하는 경우 첫 번째 열의 소켓 주소를 사용하여 동일한 연결에 속하는 항목을 확인합니다.
- Ctrl+C 를 눌러 추적 프로세스를 중지합니다.
추가 리소스
-
tcpstates(8)
매뉴얼 페이지 -
/usr/share/bcc/tools/doc/tcpstates_example.txt
file