免费注册 查看新帖 |

Chinaunix

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

内核模块编程求救 [复制链接]

论坛徽章:
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
21 [报告]
发表于 2008-12-20 19:20 |只看该作者
我想是我自己没把问题说清楚,我现在就是要自己写个内核模块,截获通过内核的包,就是skb结构,然后分析这个结构,然后决定这个包是drop还是accept或者其它处理....
也许我的程序最开始的思路就是错误的
还望指点


你在17楼的程序就可以。不过需要进行一些修改。这个程序只能捕获所有从本机发出的IP数据包。记住,不符合你处理要求的包直接return NF_ACCEPT.

论坛徽章:
0
22 [报告]
发表于 2008-12-20 19:26 |只看该作者
沉了...

论坛徽章:
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
23 [报告]
发表于 2008-12-20 22:48 |只看该作者
原帖由 iptabler 于 2008-12-20 19:26 发表
沉了...

论坛徽章:
0
24 [报告]
发表于 2008-12-21 10:43 |只看该作者
原帖由 Godbach 于 2008-12-20 22:48 发表


难道不是沉了,我也知道drop,我也知道程序还有问题.
我现在就是想知道这个模块加载成功后,iptables如何加载...

论坛徽章:
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
25 [报告]
发表于 2008-12-21 11:41 |只看该作者
原帖由 iptabler 于 2008-12-21 10:43 发表

难道不是沉了,我也知道drop,我也知道程序还有问题.
我现在就是想知道这个模块加载成功后,iptables如何加载...


你的程序已经设计好了如何处理数据包了。不需要iptables了。

论坛徽章:
0
26 [报告]
发表于 2008-12-21 12:08 |只看该作者
要想测试这个target,还得写一个用户层的程序,并通过iptables命令加载这个target才行
dreamice版主的这句话又和解?????
我tail -f /var/log/message根本就没有printk的信息

论坛徽章:
0
27 [报告]
发表于 2008-12-21 12:11 |只看该作者
我curl外网,让同学ping我都try过了,tail -f /var/log/messages都没有printk的信息
以前在2.6.18上是有的,18那个程序

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
28 [报告]
发表于 2008-12-21 12:16 |只看该作者
原帖由 iptabler 于 2008-12-21 12:08 发表
要想测试这个target,还得写一个用户层的程序,并通过iptables命令加载这个target才行
dreamice版主的这句话又和解?????
我tail -f /var/log/message根本就没有printk的信息



通常你要限制什么,你是不是需要:
iptables —t [table] -p[protocol] -m [match] -j [target]
你写好一个target,没有match,没有加载,如何能调度到它?
因此,你就必须加载这个target。
question: 如何加载这个target?
必须写一个用户层的解析函数,仿照iptables的例子吧,编译成动态链接库的形式,然后把它拷贝到你系统的
iptable存放动态链接库的目录下,调用iptables命令,进行加载。
这些,我昨天给你的文档上面讲的很详细啊。

论坛徽章:
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
29 [报告]
发表于 2008-12-21 12:18 |只看该作者
原帖由 iptabler 于 2008-12-21 12:08 发表
要想测试这个target,还得写一个用户层的程序,并通过iptables命令加载这个target才行
dreamice版主的这句话又和解?????
我tail -f /var/log/message根本就没有printk的信息


首先,完善一下你的程序。程序有问题。

其次,对于测试,你这里面是是要截取什么数据包,如果是TCP包,就从本机发一个TCP连接之类的包就可以。
做法:
insmod  yourmod.ko
然后直接从本机发送符合你要求发包,然后观察日志。

记住,你这里是在某个HOOk点上注册了hook函数,那么经过该hook点的数据包就肯定要经过你的hook函数处理。你这你的函数里面进行判断,然后决定ACCEPT还是DROP就可以了。

不要考虑iptables的东西。这里暂时还不需要。

[ 本帖最后由 Godbach 于 2008-12-21 12:30 编辑 ]

论坛徽章:
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
30 [报告]
发表于 2008-12-21 12:20 |只看该作者

回复 #27 dreamice 的帖子

他写的相当于对数据包处理的内核模块。所有从从本机发出的IP报文都会经过它的模块的。他可以在这个模块内部对数据包进行处理的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP