免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8070 | 回复: 10

[网络子系统] 让 Linux 实现交换机的端口镜像功能 [复制链接]

论坛徽章:
0
发表于 2012-09-16 14:27 |显示全部楼层
之前写的一个让 Linux 实现交换机端口镜像功能的程序,可以随意镜像任何端口的任何数据到某个指定网卡输出。
写得不好,欢迎拍砖!

https://github.com/platinum-PT/MIRROR

论坛徽章:
0
发表于 2012-09-17 00:17 |显示全部楼层
性能咋样?
这个特性很棒,担心这样处理后性能下降太多

论坛徽章:
0
发表于 2012-09-17 10:31 |显示全部楼层
lofeng410 发表于 2012-09-17 00:17
性能咋样?
这个特性很棒,担心这样处理后性能下降太多

没有真正对比实测过性能,但根据程序逻辑分析,损耗应该相当低,未经过协议栈处理直接从另一个网卡投递

论坛徽章:
0
发表于 2012-09-17 11:39 |显示全部楼层
那个sent的device要开混杂模式吧? 要不会不会底下驱动拒绝发送不是自己的mac的包出去?  

好像内核有个 给桥接用的 rx_handler什么接口,代码写起来应该更简练,不用注册协议。

论坛徽章:
0
发表于 2012-09-17 11:50 |显示全部楼层
hmsghnh 发表于 2012-09-17 11:39
那个sent的device要开混杂模式吧? 要不会不会底下驱动拒绝发送不是自己的mac的包出去?  

好像内核有个  ...

发包不用混杂
这个需求不是仅针对桥
发包网卡不用配置 IP,仅需 up 起来即可

论坛徽章:
0
发表于 2013-11-20 16:06 |显示全部楼层
本帖最后由 237663598 于 2013-11-20 16:07 编辑

回楼主:dev_add_pack,使得包在netif_receive_skb当中处理。因此,楼主这个方法是不是只能把某端口收到的数据报文镜像到其他端口,而不能把某端口收到的数据报文也镜像到一个端口。
如:只能把eth1收到的报文镜像到eth0。而不能把eth1发送的报文镜像到eth0


另外:想问楼主,对于以太网和无线网通用吗?我试了在无线网上,将wlan0的数据镜像到eth0。好像会收不到。wireshark没抓到包啊

论坛徽章:
0
发表于 2013-11-22 07:22 |显示全部楼层
237663598 发表于 2013-11-20 16:06
回楼主:dev_add_pack,使得包在netif_receive_skb当中处理。因此,楼主这个方法是不是只能把某端口收到的数 ...

双向数据都是经过那个 hook 点的,进出都可以
当然你可以进一步完善,变成可以控制方向的

对于无线网络设备我没有尝试过,也没见过业内有这样的镜像设备这样做的

论坛徽章:
0
发表于 2013-11-24 11:03 |显示全部楼层
帮UP一下。哈哈

论坛徽章:
0
发表于 2013-11-25 17:11 |显示全部楼层
没仔细看,好像通过配置ingress qdisc通过action mirred就可以达到同样的效果

论坛徽章:
0
发表于 2014-01-04 11:20 |显示全部楼层
你的这个帖子在哪里,能给个链接吗??谢谢回复 1# platinum


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

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP