42.2. 커널의 수락 대기열에 추가된 TCP 연결 표시

커널이 TCP 3방향 핸드셰이크에서 ACK 패킷을 수신한 후 커널은 연결 상태가 IRQ BLISHED 로 변경된 후 SYN 대기열에서 수락 대기열로 이동합니다. 따라서 이 큐에는 성공한 TCP 연결만 표시됩니다.

tcpaccept 유틸리티는 eBPF 기능을 사용하여 커널이 수락 대기열에 추가하는 모든 연결을 표시합니다. 유틸리티는 패킷을 캡처하고 필터링하는 대신 커널의 accept() 함수를 추적하므로 경량입니다. 예를 들어 일반적인 문제 해결에는 tcpaccept 를 사용하여 서버가 수락한 새 연결을 표시합니다.

절차

  1. 다음 명령을 입력하여 커널 허용 대기열 추적을 시작합니다.

    # /usr/share/bcc/tools/tcpaccept
    PID   COMM      IP RADDR         RPORT  LADDR    LPORT
    843   sshd      4  192.0.2.17    50598  192.0.2.1  22
    1107  ns-slapd  4  198.51.100.6  38772  192.0.2.1  389
    1107  ns-slapd  4  203.0.113.85  38774  192.0.2.1  389
    ...

    커널이 연결을 수락할 때마다 tcpaccept 는 연결 세부 정보를 표시합니다.

  2. Ctrl+C 를 눌러 추적 프로세스를 중지합니다.

추가 리소스

  • tcpaccept(8) 도움말 페이지
  • /usr/share/bcc/tools/doc/tcpaccept_example.txt file