恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3180|回复: 0

linux系统tcpdump抓包出现丢包问题

[复制链接]
发表于 2019-4-16 15:11 | 显示全部楼层 |阅读模式
本帖最后由 zeng362424 于 2019-4-17 21:29 编辑

一、问题描述
最新的软件版本里面,执行tcpdump指定接口抓包的时候,会卡顿,这个时候,是包抓到了,但是解析不出来丢掉了,导致没有抓到需要的报文。

如果将tcpdump抓到的包写入文件当中,就不会出现这种问题。

二、问题查找
通过版本之间的对比,以及svn源码回溯,最后发现是修改linux下/etc/resolv.conf的文件引起的。
具体修改是以前版本这个文件/etc/resolv.conf一直默认都是空的,后面我修改了这个文件/etc/resolv.conf,给它添加了默认值
  1. nameserver 114.114.114.114
  2. nameserver 8.8.8.8
复制代码


tcpdump就出现抓包卡顿的问题了。


三、解决办法
1、一开始网上查到的解决办法都是Linux ubuntu PF_RING+libpcap 极速捕获千兆网数据包,不丢包),这种方式操作比较复杂

2、将原来这个文件/etc/resolv.conf的修改还原回去,默认为空。这样只能解决用户没有配置dns的情况下才生效,
因为如果用户配置了dns,这个文件/etc/resolv.conf就不为空了,上面问题就又出现了。
3、后面网上查找tcpdump丢包问题的时候找到了问题的根源所在。
原来是当这个文件/etc/resolv.conf不为空的时候,tcpdump抓到了包,会去反向域名解析,
将报文里面的IP地址解析成域名,这个是很消耗时间的,也很容易出现解析失败,如果解析失败,这个报文就会被丢掉。

如果将tcpdump的抓包结果写入文件当中,这个反向域名解析的操作就不会进行,也就不会出现丢包问题了。

4、tcpdump抓包的时候带上-n这个参数,反向域名解析的操作就不会进行,丢包问题就得到解决了。
  1. 添加-n参数,禁止反向域名解析
复制代码



ps:openwrt系统路由器也有相关的问题。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2023-2-7 19:51

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表