Linux: network: tcpdump:通过分析应该抓到包了,却没找不到的另一个原因:-s

284 篇文章 ¥59.90 ¥99.00
239 篇文章 ¥59.90 ¥99.00
在排查网络问题时,研发和现场技术使用tcpdump抓包发现不同结果。问题出在-s选项,它指定固定抓取包的大小。设置过小可能导致包抓取不全或被截断,表现为"[|proto]"。虽然这不是本次问题的原因,但提醒我们注意tcpdump参数的正确使用,以避免丢失关键信息。实际问题的根源还需进一步分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近又遇到一个类似的问题,也是在tcpdump抓到的包里没有找到应该看到的包,搞得很迷惑。这次是现场技术给研发挖了一个坑,给带偏了。研发自己抓包,发现根本就是没有丢在主机和虚拟机之间,也不是Linux内核丢掉了包。

那怎么回事呢?如果研发从主机上抓的没有问题,而是技术支持在虚拟机上抓的有问题。就这个对比问题的发生情况,我们有几个怀疑点,一个是就是人与人的不同,另一个是抓的地方不一样,经过缜密的分析,环境的问题不大,倒是人的差别不小。因为大家对于tcpdump的使用习惯非常的不同,现场由于对现场产品的操作的高要求,可能会考虑所抓包的大小问题,当然是期望在抓取文件比较小的时候,同时可以定位问题;而研发的这种潜意识要小一些,不是将磁盘空间的大小排在第一位,而是将调查问题的原因考虑在第一位。这样导致的一个差别,就是tcpdump工具使用的选项上有区别。
比如这个-s的使用:-s snaplen;这个是固定抓取包的大小,如果实际的包太大,也会抓取不全。
–snapshot-length=snaplen

Snarf snaplen bytes of data from each packet rather than the default of 262144 bytes. Packets truncated because of a limited snapshot are indicated in the output with ``[|proto]‘’, where protois the name of the protocol level at which the truncation has occurred.
Note that taking larger snapshots both increases the

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzhan017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值