免费注册 查看新帖 |

Chinaunix

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

在链路层修改包并送回协议栈 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-04 21:31 |只看该作者 |倒序浏览
请问有没有方法能在以太网桢进入协议栈之前,在链路层截取以太网桢,对以太网桢头做修改后,再送回内核协议栈处理?

试过用libnetfilter_queue处理,但好像只能修改IP层以上的部分。

有其它办法吗?用netfilter的hook可以吗?或者有更方便的方法?

谢谢!

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2011-05-04 21:57 |只看该作者
你想修改什么内容, MAC 头部吗

论坛徽章:
0
3 [报告]
发表于 2011-05-04 21:58 |只看该作者
嗯,是的

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2011-05-05 09:47 |只看该作者
你的目的是什么,为什么要修改 MAC,源 or 目的?

论坛徽章:
0
5 [报告]
发表于 2011-05-05 12:15 |只看该作者
你的目的是什么,为什么要修改 MAC,源 or 目的?
Godbach 发表于 2011-05-05 09:47


其实是这样的。。是我自己的一个实验性的想法

我们学校上网用的是锐捷认证,基于802.1X认证那种。在通过认证之前,应该只有802.1X包才能通过交换机,所以内网的机器虽然连在同一个交换机上,还是不能通信。我的想法是,把正常的IP数据封装在802.1X包里,发送出去。接收到包的机器上再作相应处理,取出IP部分,这样两台内网的机器在通过认证前也能通信了。

所以就有了之前的那个需求。第一,要自己填写源MAC和目的MAC,因为ARP也不起作用了。第二,MAC头的协议部分要写成802.1X(0x888e),以通过交换机。

现在的问题是,如果理论上这个想法可行,用哪种方法实现最方便? netfilter hook? 或者TAP/TUN可以吗?

论坛徽章:
2
申猴
日期:2013-12-26 22:11:31天秤座
日期:2014-12-23 10:23:19
6 [报告]
发表于 2011-05-05 12:42 |只看该作者
在netif_receive_skb里改

论坛徽章:
0
7 [报告]
发表于 2011-05-05 17:46 |只看该作者
netfilter 是在IP层注册的钩子.
因此使用netfilter的钩子来修改L2层的数据似乎不行。

回复 5# morfast

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
8 [报告]
发表于 2011-05-05 18:23 |只看该作者
回复 7# asweisun_shan

NF 在二层也有实现

论坛徽章:
0
9 [报告]
发表于 2011-05-05 20:20 |只看该作者
回复 8# Godbach


    版主的意思,就用NF hook来实现? 我试试看

论坛徽章:
0
10 [报告]
发表于 2011-05-05 21:37 |只看该作者
ebtable不行吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP