Как рассчитать потерю пакета из двоичного файла TCPDUMP
Наше подключение к одному удаленному серверу через порт 80 через Интернет не работает должным образом. (Время от времени это работает, а иногда нет)
Это должна быть какая-то потеря пакетов, потому что с другими клиентами проблем нет. Это просто происходит от одного клиента к удаленному серверу.
Обычно я связываю потерю пакетов с ping, но удаленный сервер блокирует ICMP.
Я сделал двоичный файл TCPDUMP. Как я могу увидеть, есть ли потеря пакета?
захват был сделан на клиенте. у нас нет ssh доступа к удаленному серверу.
2 ответа
Вы можете измерить повторные передачи пакетов от клиента к серверу, посчитав количество повторяющихся порядковых номеров.
Повторная передача пакета с сервера на клиент может быть измерена путем подсчета дублированных номеров Ack.
Обратите внимание, что повторная передача инициируется не только полной потерей (= время ожидания); если удаленный компьютер отклоняет пакет или пакет поврежден, локальный компьютер также должен повторить передачу.
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
====================================================================================