缓解tcpdump丢包的方法

转自:https://www.aliyun.com/jiaocheng/129396.html

在高速网络(10Gbps及以上)中运行tcpdump,XXX packets dropped by kernel是十分常见的现象。有两个方法缓解,都是在缓冲区方面下功夫: 
1. 使用-s参数,比如-s 80,这样每个包只抓40个字节。2. 使用-B参数,增加缓冲区大小。

tcpdump抓包命令会在内核中分配缓冲区来存放数据包,如果tcpdump无法及时响应,内核将会用新的数据包覆盖旧的数据包,导致丢包情况的发生。 解决这个问题的方法有几个。首先,可以尝试避免tcpdump进行dns解析,使用tcpdump的-n参数。这样可以减少tcpdump的工作量。另外,还可以尝试使用其他参数如-nn来进一步减少tcpdump的工作量。 如果丢包问题持续存在,可能是主机无法同时跟上网络流量并进行解码的原因。可以尝试使用tcpdump的-w选项,将原始数据包写入文件中,然后稍后再使用-r选项对文件进行解码。还可以尝试使用-s选项来减小捕获快照的大小。 另外,还可以考虑使用其他基于不同语言或工具的数据包捕捉/监听程序,如基于C#的SharpCap程序,它可以将TCP数据包保存为wireshark的pcap格式,以便后续分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [tcpdump丢包问题](https://blog.csdn.net/moreorless/article/details/5973212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [TCPDUMP抓包程序](https://download.csdn.net/download/lixilin/12914131)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值