como calcular a perda de pacotes a partir de um arquivo TCPDUMP binário

4

Nossa conexão com apenas um servidor remoto na porta 80 pela Internet não está funcionando corretamente. (De vez em quando está funcionando e às vezes não)

Deve haver algum tipo de perda de pacotes, porque de outros clientes não há problemas. Está acontecendo apenas de um cliente para o servidor remoto.

Normalmente, eu mensumo a perda de pacotes com ping, mas o servidor remoto está bloqueando o ICMP.

Eu fiz um arquivo TCPDUMP binário. Como posso ver se há perda de pacotes?

a captura foi feita no cliente. nós não temos acesso ssh ao servidor remoto.

    
por JMW 01.12.2011 / 12:29

2 respostas

8

Você pode medir retransmissões de pacotes do cliente para o servidor contando o número de números de sequência duplicados.

As retransmissões de pacotes do servidor para o cliente podem ser medidas contando números de Ack duplicados.

Observe que uma retransmissão é acionada por mais do que apenas perda total (= tempo limite); se a máquina remota rejeitar o pacote ou o pacote estiver corrompido, a máquina local também deve retransmitir.

    
por 01.12.2011 / 13:56
14

tshark pode filtrar retransmissão, ACK duplicado, segmento perdido, ...

$ tshark -r file.pcap -q -z io,stat,1,\
"COUNT(tcp.analysis.retransmission) tcp.analysis.retransmission",\
"COUNT(tcp.analysis.duplicate_ack)tcp.analysis.duplicate_ack",\
"COUNT(tcp.analysis.lost_segment) tcp.analysis.lost_segment",\
"COUNT(tcp.analysis.fast_retransmission) tcp.analysis.fast_retransmission"

Veja um exemplo de resultado:

IO Statistics
Interval: 1.000 secs
Column #0: COUNT(tcp.analysis.retransmission) tcp.analysis.retransmission
Column #1: COUNT(tcp.analysis.duplicate_ack)tcp.analysis.duplicate_ack
Column #2: COUNT(tcp.analysis.lost_segment) tcp.analysis.lost_segment
Column #3: COUNT(tcp.analysis.fast_retransmission) tcp.analysis.fast_retransmission
                |   Column #0    |   Column #1    |   Column #2    |   Column #3    
Time            |          COUNT |          COUNT |          COUNT |          COUNT 
000.000-001.000                 0                0                0                0 
001.000-002.000                 0                0                0                0 
002.000-003.000                 0                0                0                0 
003.000-004.000                 0                0                0                0 
004.000-005.000                 0                0                0                0 
005.000-006.000                 0                0                0                0 
006.000-007.000                 1                2                1                0 
007.000-008.000                 3                1                0                0 
008.000-009.000                 0                0                0                0 
009.000-010.000                 1                0                1                0 
010.000-011.000                 0                0                0                0 
011.000-012.000                 0                0                0                0 
012.000-013.000                 0                0                0                0 
013.000-014.000                 1                0                0                0 
====================================================================================
    
por 02.12.2011 / 10:15