免费注册 查看新帖 |

Chinaunix

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

[网络] linux下多块网卡抓包的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-07 16:02 |只看该作者 |倒序浏览
我的服务器有多块网卡,连着多个不同的网段,我想在其中一个网卡eht1上抓mac包,现在可以用raw socket抓到mac帧,但是好像两块网卡的包都被抓到了,怎么设置让raw socket只抓eth1上的mac包。

有人提出用
setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, “eht0”, 4);
函数绑定,但我试过了好像不管用。

论坛徽章:
0
2 [报告]
发表于 2013-01-07 17:31 |只看该作者
最好给出代码。

你是用于做什么的,是自己实现一个特定的功能,还是单纯想抓包?在Linux上抓包的话还是用PF_PACKET更好一些,Raw socket应该有一些限制,许多包不能抓上来。PF_PACKET可以指定网口,Raw socket没怎么用过不清楚,不过你实在要用raw socket,可以看一下内核中相关的代码,原来我用PF_PACKET时在网上找到的例子部分是错的,最后还是看内核中的实现搞定怎么用了。不管是raw socket还是PF_PACKET,内核中相关部分比较简单。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP