Red Hat Training

A Red Hat training course is available for RHEL 8

49.9. Exibição das informações de mudança de estado do TCP

Durante uma sessão de TCP, o estado do TCP muda. O utilitário tcpstates usa funções eBPF para rastrear essas mudanças de estado, e imprime detalhes incluindo a duração em cada estado. Por exemplo, use tcpstates para identificar se as conexões gastam muito tempo no estado de inicialização.

Procedimento

  1. Use o seguinte comando para começar a rastrear as mudanças de estado do 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
    ...

    Cada vez que uma conexão muda de estado, tcpstates exibe uma nova linha com detalhes de conexão atualizados.

    Se várias conexões mudarem seu estado ao mesmo tempo, use o endereço da tomada na primeira coluna (SKADDR) para determinar quais entradas pertencem à mesma conexão.

  2. Pressione Ctrl C para interromper o processo de rastreamento.

Recursos adicionais

  • Para mais detalhes, consulte a página de manual tcpstates(8).
  • Para mais detalhes sobre tcpstates e exemplos, veja o arquivo /usr/share/bcc/tools/doc/tcpstates_example.txt.
  • Para exibir o script eBPF tcpstates(8) uploads para o kernel, use o comando /usr/share/bcc/tools/tcpstates --ebpf.