Назад | Перейти на главную страницу

как рассчитать потерю пакетов из двоичного файла TCPDUMP

Наше соединение только с одним удаленным сервером через порт 80 через Интернет не работает должным образом. (Время от времени работает, а иногда нет)

Это должна быть какая-то потеря пакетов, потому что с другими клиентами проблем нет. Это просто происходит от одного клиента к удаленному серверу.

Обычно я сообщаю о потере пакетов с помощью команды ping, но удаленный сервер блокирует ICMP.

Я сделал двоичный файл TCPDUMP. Как я могу узнать, есть ли потеря пакетов?


захват производился на клиенте. у нас нет доступа ssh к удаленному серверу.

tshark жестяная банка фильтр повторная передача, дублирующийся ACK, потерянный сегмент, ...

$ 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"

Вот пример результата:

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 
====================================================================================

Вы можете измерить количество повторных передач пакетов от клиента к серверу, подсчитав количество повторяющихся порядковых номеров.

Повторные передачи пакетов от сервера к клиенту могут быть измерены путем подсчета повторяющихся номеров Ack.

Обратите внимание, что повторная передача вызвана не только полной потерей (= тайм-аут); если удаленная машина отклоняет пакет или пакет поврежден, локальная машина также должна повторно передать.