加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – wireshark和tcpdump -r:奇怪的tcp窗口大小

发布时间:2020-12-14 01:48:06 所属栏目:Linux 来源:网络整理
导读:我正在使用tcpdump捕获http流量,并且对TCP慢启动和窗口大小增加感兴趣: $sudo tcpdump -i eth1 -w wget++.tcpdump tcp and port 80 当我使用Wireshark查看转储文件时,窗口大小的进展看起来正常,即5840,5888,8576,11264等…… 但是当我查看转储文件时 $tcpdu
我正在使用tcpdump捕获http流量,并且对TCP慢启动和窗口大小增加感兴趣:

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

当我使用Wireshark查看转储文件时,窗口大小的进展看起来正常,即5840,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,timestamp 2485833728 24220583,wscale 6>
: . ack 1 win 46 <nop,timestamp 24220604 2485833728>
: . 1:1419(1418) ack 1 win 46 <nop,timestamp 24220604 2485833728>
: P 1419:2002(583) ack 1 win 46 <nop,timestamp 24220604 2485833728>
: . ack 1419 win 133 <nop,timestamp 2485833824 24220604>
: . ack 2002 win 178 <nop,timestamp 2485833830 24220604>

有没有办法在命令行上获得正常/绝对窗口大小?

解决方法

窗口大小是正确的 – 它们只是未缩放.

连接启动器已将wscale(窗口缩放系数)设置为7,因此其后续的win值必须乘以128才能获得以字节为单位的窗口大小.因此,胜利46表示5888字节的窗口.

连接接收者已将wscale设置为6,因此其win值必须乘以64.因此,win 133表示8512字节的窗口,win 178表示11392字节.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读