免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1301 | 回复: 1
打印 上一主题 下一主题

[系统管理] 正常数据包被大量的过滤掉,该怎么处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-11-22 19:53 |只看该作者 |倒序浏览
本帖最后由 huarte 于 2015-11-22 19:55 编辑

如图:数据包应该有10670条左右,但实际被应用处理的才5个包,另外一万多个正常的包都被过滤了。。。。。。。
我的应该是接收UDP514的数据包的,大概每秒有1000条左右数据量,但在控制台看到只有几条,通过抓包发现,系统kernel把我需要的数据包基本上都过滤掉了,请问需要怎么处理,应用层才能正常接收这些数据包。
希望坛友们,提供下帮助,比较急,先谢谢了。

clipboardforiptables.png (11.59 KB, 下载次数: 39)

抓包

抓包

论坛徽章:
45
2016猴年福章徽章
日期:2016-02-18 16:42:24平安夜徽章
日期:2015-12-27 09:46:0315-16赛季CBA联赛之八一
日期:2015-12-15 17:08:23黄金圣斗士
日期:2015-12-11 09:16:31天蝎座
日期:2015-12-11 09:16:22戌狗
日期:2015-12-11 09:16:19程序设计版块每周发帖之星
日期:2015-12-11 09:15:21操作系统版块每周发帖之星
日期:2015-12-11 09:15:16IT运维版块每周发帖之星
日期:2015-12-11 09:15:09IT运维版块每月发帖之星
日期:2015-12-11 09:15:01CU十四周年纪念徽章
日期:2015-12-11 09:14:40操作系统版块每日发帖之星
日期:2015-12-11 09:13:36
2 [报告]
发表于 2015-11-25 07:58 |只看该作者
(网上搜索)
    造成这种丢包的原因是由于libcap抓到包后,tcpdump上层没有及时的取出,导致libcap缓冲区溢出,从而 覆盖了未处理包,此处即显示为dropped by

kernel,注意,这里的kernel并不是说是被linux内核抛弃的,而是被tcpdump的内核,即libcap抛弃掉的,上层监听到 1234端口的server可以正常的获取数据。


解决方法:
     根据以上分析,可以通过改善tcpdump上层的处理效率来减少丢包率,下面的几步根据需要选用,每一步都能减少一定的丢包率  

     1.最小化抓取过滤范围,即通过指定网卡,端口,包流向,包大小减少包数量

     2. 添加-n参数,禁止反向域名解析  tcpdump -i eth0 dst port 1234 and udp -s 2048 -n -X -tt >a.pack 大多数情况这样

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP