Como medir o tempo quando um pacote chega?

4

Quando o pacote chega, o NIC gera uma interrupção e o kernel assume o controle. Eu quero medir o tempo em que um pacote de um determinado fluxo TCP chega.

Como faço isso no Linux? Isso que ferramentas como o tcpdump fazem.

    
por Bruce 05.08.2012 / 13:30

3 respostas

2

tcpdump timestamps todos os pacotes. Então você deve poder usar o tcpdump. Caso contrário, você poderia tentar o wireshark, que também monitora tráfego de rede, mas com uma interface agradável e poderosa. Se você não precisa roteirizar esse processo, eu diria que o Wireshark é seu amigo nessa situação.

Você pode dar uma olhada no link para mais informações sobre como usar o Wireshark.

Se você estiver mais interessado em como medir isso sozinho, poderá inspecionar tcpdump com strace ou, conforme sugerido, ler a fonte. strace fornecerá uma lista de chamadas do sistema que você pode usar em seu próprio aplicativo. A solução mais fácil, no entanto, seria executar tcpdump e, em seguida, filtrar a saída por meio de awk ou alguma outra ferramenta capaz de filtrar a coluna de registro de data e hora.

Além disso, você pode encontrar mais informações sobre como usar o tcpdump no link

    
por 08.08.2012 / 15:30
0

Dê uma olhada na ferramenta tcptrack. Você pode medir isso.

    
por 05.08.2012 / 13:36
0

Você quer dizer traceroute ? A opção -p permite escolher o protocolo.

[root@osgiliath ~]# traceroute myserver.mydomain.com -p 443
traceroute to myserver.mydomain.com (10.11.20.30), 30 hops max, 60 byte packets
 1  10.119.9.253 (10.10.10.1)  0.262 ms  0.294 ms  0.360 ms
 2  10.111.225.114 (10.11.20.14)  0.326 ms  0.387 ms  0.466 ms
 3  myserver.mydomain.com (10.11.20.30)  7.558 ms  7.558 ms  7.547 ms
    
por 08.08.2012 / 17:57

Tags