wireshark 如何抓到 ip 数据包被分片的情况

2021-03-01 11:30:45 +08:00
 amiwrong123

根据 v 友们的建议,用起来了 wireshark,确实很不错,结合看书。

但现在有个问题,好像我总是抓不到 ip 数据包被分片的情况?

如上图,好像只能找到 dont fragment 的 IP 数据包。

还是我姿势不对啊。。

1532 次点击
所在节点    Wireshark
5 条回复
qakito
2021-03-01 11:41:17 +08:00
TCP 为了传输效率是不允许分片的。如何做到不分片请查阅 MSS 。
最简单就是 ping 大包了:
ping A.B.C.D -l 10000(windows)
ping A.B.C.D -s 10000(linux)
amiwrong123
2021-03-01 11:47:40 +08:00
@qakito #1
嗯嗯,因为 MSS 就是根据 MTU 来的嘛,所以 ip 数据包到了链路层 不会被分片。

不过我好像在哪里看到说:没有一个简单的方法能找到 MTU 。也就是说,TCP 建立连接时确定下来的 MTU 是错的,是不是就是因为这种情况,所以 IP 数据包 才有可能被分片。

晚上回家了,试试你的方法。主要想看下 IP 包被分片后,这些数据在 wireshark 里长什么样子。
amiwrong123
2021-03-01 11:53:29 +08:00
wireshark 节点的帖子,原来不配在首页上的吗
lcdtyph
2021-03-01 12:13:12 +08:00
你直接发个超长 ping request 就能看到分片的 ip 层报文了
qakito
2021-03-01 12:36:27 +08:00
这就牵涉到 path mtu
但 TCP 是置了 DF 位,除非外层有其他 VPN(IPSec/MPLS/GRE 之类的),否则不可能抓到分片报文

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/757193

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX