免费注册 查看新帖 |

Chinaunix

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

[内核模块] netfilter 修改目的IP后,应用层收到服务器返回的包,但是应用层没接收【已解决】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-09 16:32 |只看该作者 |倒序浏览
本帖最后由 lcsmm 于 2013-07-11 17:37 编辑

我在NF_IP_PRE_ROUTING 上钩到符合我要求的数据包,更改目标地址 ,然后再在NF_IP_POST_ROUTING上钩到刚刚更改的包,将源地址改成本机。通过抓包发现包是发出去了,而且链路地址都是正确的。 目标机网卡也抓到了。但是应用层没有去接收我的这个数据包。换成ping包的话 就没有给我回包。求大侠帮忙看下是什么问题啊?

论坛徽章:
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 [报告]
发表于 2013-07-09 17:02 |只看该作者
回复 1# lcsmm
应用层只能看到有载荷的报文。对于 TCP 的话,要经过三次握手之后的数据包。

你改的是什么包呢,TCP 的握手改了吗?


   

论坛徽章:
0
3 [报告]
发表于 2013-07-09 17:06 |只看该作者
回复 2# Godbach
我改的是一个DNS的包,修改了他的目的地址,校验和什么的都做了,客户端也收到DNS服务器返回的IP,但是ping那个网址的话还是不通


   

论坛徽章:
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 [报告]
发表于 2013-07-09 17:15 |只看该作者
回复 3# lcsmm
二分法判断一下,IP 层通过 iptables LOG 规则,看看报文到了你的 INPUT 链中没有


   

论坛徽章:
0
5 [报告]
发表于 2013-07-09 17:27 |只看该作者
回复 4# Godbach

我不是用的IPTABLES做的,而且报文都走到我的钩子了,客户端收到的报文的源IP也是我改后的,看着跟不做处理的报文没啥区别,但应用层好像就是跟不认识它一样。


   

论坛徽章:
0
6 [报告]
发表于 2013-07-09 17:30 |只看该作者
回复 4# Godbach

是不是在更改了IP后还需要改其他的什么地方啊?麻烦您给指点下。


   

论坛徽章:
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
7 [报告]
发表于 2013-07-09 22:54 |只看该作者
回复 5# lcsmm

我指的你在接收的那个目标机器上二分法测试一下你的数据包到哪里了。

你不是说抓包可以看到吗,我的意思就是你查看一下到了 IP 层 INPUT 的那块没有

   

论坛徽章:
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 [报告]
发表于 2013-07-09 23:18 |只看该作者
回复 6# lcsmm
你不是说你修改后的报文都已经可以发出去,被另外一台机器接收了吗。这种情况下,基本应该没有问题了。

或者,可以把你修改后的报文,抓包出来看看。

   

论坛徽章:
0
9 [报告]
发表于 2013-07-10 09:54 |只看该作者
回复 8# Godbach

谢谢版主大哥啊,问题找到了,是UDP的校验和算错了,如果客户机已经收到包但是客户机又没接收的话,最可能的原因是不是就是校验和的问题了啊?


   

论坛徽章:
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
10 [报告]
发表于 2013-07-10 09:56 |只看该作者
本帖最后由 Godbach 于 2013-07-10 09:56 编辑

回复 9# lcsmm
原因应该有多种,校验和错误的话是会有这个问题的。

我记得 UDP 校验和不是必须的啊,所以昨天我想问这个呢,后来想了一下没问。可以直接置 0 代表不做校验的。


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP