wireshark и tcpdump-r: странные размеры окна TCP

Я получаю трафик HTTP с tcpdump и интересуюсь TCP медленный запуск и как размеры окна увеличиваются:

$ sudo tcpdump -i eth1 -w wget++.tcpdump tcp and port 80

Когда я просматриваю файл дампа с Wireshark, прогрессия размеров окна выглядит нормальной, т.е. 5840, 5888, 5888, 8576, 11264, и т.д...

Но когда я просматриваю файл дампа через

$ tcpdump -r wget++.tcpdump -tnN | less

Я получаю то, что, кажется, бессмысленные размеры окон (IP-адреса, опущенные для краткости):

: S 1069713761:1069713761(0) win 5840 <mss 1460,sackOK,timestamp 24220583 0,nop,wscale 7>
: S 1198053215:1198053215(0) ack 1069713762 win 5672 <mss 1430,sackOK,timestamp 2485833728 24220583,nop,wscale 6>
: . ack 1 win 46 <nop,nop,timestamp 24220604 2485833728>
: . 1:1419(1418) ack 1 win 46 <nop,nop,timestamp 24220604 2485833728>
: P 1419:2002(583) ack 1 win 46 <nop,nop,timestamp 24220604 2485833728>
: . ack 1419 win 133 <nop,nop,timestamp 2485833824 24220604>
: . ack 2002 win 178 <nop,nop,timestamp 2485833830 24220604>

Существует ли способ стать нормальным / абсолютные размеры окна на командной строке?

5
задан Robert S. Barnes 15 July 2010 в 10:14
поделиться

1 ответ

Размеры окна правильные - они просто немасштабированы.

Инициатор соединения установил wscale (коэффициент масштабирования окна) равным 7, поэтому его последующие значения win должны быть умножены на 128, чтобы получить размер окна в байтах. Таким образом, win 46 указывает окно размером 5888 байт.

Получатель соединения установил wscale равным 6, поэтому его значения win необходимо умножить на 64. Таким образом, win 133 указывает окно размером 8512 байт. , а win 178 означает 11392 байта.

10
ответ дан 18 December 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: