免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: meijusan123
打印 上一主题 下一主题

hook中修改ip值,是否同时会发送了arp? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2009-09-01 00:07 |只看该作者
确实,在NF_IP_LOCAL_OUT之前就已经选定路由了,这时候使用的是dst->neighbour。即使改了ip也不会影响了,
具体怎么修改也不太清楚,路由这一章还没看到。是不是需要手动重新调用选路函数?
关注。。

论坛徽章:
0
22 [报告]
发表于 2009-09-01 12:32 |只看该作者
手动修改了ip地址,肯定是需要重新路由的。但是,我试了重新路由的代码。但是没任何效果,就像没路由过一样。不知道错在哪?

代码如下:
struct rtable *rt;
struct flowi fl = {};
fl.nl_u.ip4_u.daddr = iph->daddr;//新修改的dst的ip地址
fl.nl_u.ip4_u.saddr = iph->saddr;//新修改的src的ip地址
fl.nl_u.ip4_u.tos = RT_TOS(iph->tos);
if (ip_route_output_key(&rt, &fl) != 0)//重新路由
        return NF_DROP;

论坛徽章:
0
23 [报告]
发表于 2009-09-01 12:59 |只看该作者
如果 修改IP地址后不重新做route, 那么arp很可能发到别的网口上去了。

论坛徽章:
0
24 [报告]
发表于 2009-09-01 14:02 |只看该作者
原帖由 Arthur_ 于 2009-9-1 12:59 发表
如果 修改IP地址后不重新做route, 那么arp很可能发到别的网口上去了。



Arthur_兄弟说了没错。所以我重新路由后,感觉还是没出现我想要的效果。可能路由代码有问题吧。

论坛徽章:
0
25 [报告]
发表于 2009-09-01 15:27 |只看该作者
有代码吗?

是不是 skb->dst没有更新?!!

还有, 你查下arp cache, 看看有没有对应的条目噻。

论坛徽章:
0
26 [报告]
发表于 2009-09-01 16:30 |只看该作者

回复 #25 Arthur_ 的帖子

struct rtable *rt;
struct flowi fl = {};
fl.nl_u.ip4_u.daddr = iph->daddr;//新修改的dst的ip地址
fl.nl_u.ip4_u.saddr = iph->saddr;//新修改的src的ip地址
fl.nl_u.ip4_u.tos = RT_TOS(iph->tos);
if (ip_route_output_key(&rt, &fl) != 0)//重新路由
        return NF_DROP;

就是重新路由的代码,感觉是对的,但调试结果 不对。哈哈。

论坛徽章:
0
27 [报告]
发表于 2009-09-02 10:23 |只看该作者
现在自己路由后,连发出的包都抓不到啦。肯定是路由失败drop啦。

论坛徽章:
0
28 [报告]
发表于 2009-09-02 22:18 |只看该作者
问题基本解决:
还是之前的代码,少了个skb->dst的重新赋值过程。

论坛徽章:
0
29 [报告]
发表于 2009-09-07 20:57 |只看该作者
你好,我正在做这方面的,的确有发arp包,但是我有个新的问题,路由协议是基于 eth1,我把eth0的包用nat转发后不能走adhoc协议,请高手指点下,ttl也是正常的,包只能走一跳。不知道为什么,我的QQ717063711  我已经做过snat dnat包是没问题的。 高手请指点下。
shiner.chen@qq.com

论坛徽章:
0
30 [报告]
发表于 2009-09-08 09:59 |只看该作者
原帖由 meijusan123 于 2009-9-2 22:18 发表
问题基本解决:
还是之前的代码,少了个skb->dst的重新赋值过程。

能仔细说一下怎样给skb->dst赋值吗?最好能有代码,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP