免费注册 查看新帖 |

Chinaunix

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

[内核入门] netfilter钩子点构造的包配合iptable导致系统崩溃 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2016-02-12 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-11-22 23:42 |只看该作者 |倒序浏览
问题是这样的:
在前段时间实现了编写个内核模块,调用netif_receive_skb函数来发送一个自己构造的IP(或UDP,或TCP包)到本机的协议栈中去,能很好的运行,特别是
UDP数据包,当把这个UDP包配置信息为经过FORWARD点进行转发外,目标机器的"nc -u -l 8786"程序能收到信息。这应该说明数据包基本没错吧。
不过现在问题来了,当我配置了一个iptables准则“iptables -I INPUT -s 192.168.122.43 -j DROP” (192.168.122.43是本机地址后),只要一运行自己的
内核模块尝试发UDP包,系统就会崩溃,,多方查找,最终发现是:

unlink_anon_vmas+0x52/0x160
PDG 0
Oops:000 [#1] SMP

这类型的信息,就是段错误了。
这就不明白了,当用nc命令在本机和另外一台机器上发包的时候,iptables命令可以很好的运行,但一运行自己的发包程序,就段错误。
这是不是构造的SKB包还缺少什么参数呢?
请各位神牛了解的不吝讲解一下啊,谢谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP