免费注册 查看新帖 |

Chinaunix

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

[其他] 关于双网卡的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-24 14:21 |只看该作者 |倒序浏览
本帖最后由 jetking 于 2014-04-24 14:23 编辑

请教一下大家,写了个程序使用raw socket进行抓包,把程序部署在一个双网卡的机器上,pc和该机器的eth0使用网线对联,eth1没有查网线
按照设想,应该在eth0上抓到arp包后者其他数据,但是问题是,在同一时刻eth1也抓到包了,而且和eth0一样的数据,
如何让eth只抓到他们各自连接的网线上的数据,而不是二者的数据?
ps. eth0和eth1没有做bond。

如果是这样的话,双网卡不是很傻么?一个eth还要接收(处理)另外一个eth的数据?

论坛徽章:
6
酉鸡
日期:2013-11-04 15:30:02巳蛇
日期:2014-01-23 10:36:23双鱼座
日期:2014-01-23 13:08:332015亚冠之鹿岛鹿角
日期:2015-09-03 14:36:002015亚冠之武里南联
日期:2015-09-18 10:48:1315-16赛季CBA联赛之山西
日期:2016-05-05 00:05:33
2 [报告]
发表于 2014-04-24 16:54 |只看该作者
是不是网卡被设置成了混杂模式了?

论坛徽章:
0
3 [报告]
发表于 2014-04-24 21:36 |只看该作者
谢谢各位,找到问题了。
之前socket建立后用了SOL_BINDTODEVICE项来绑定网卡,但貌似对raw socket不起作用。这样建立的socket,2个网卡上的数据都能收了。
参考pcap的源码,发现它使用ioctl带SIOCSIFINDEX(开发机不在手头,可能拼错了)来绑定网卡。按照它的改动,就ok了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP