Linux netfilter扩展开发的坑

2 篇文章 0 订阅
2 篇文章 0 订阅

最近在工作中需要实现一个Linux防火墙相关的功能:将从ip1到ip2的第二个包给丢掉

在开发过程中发现网上关于netfilter的代码大都比较老了,已经不适用于现在的Linux,同时在学习过程中也同样参考了许多博客,这里记录一下遇到的坑(类Ubuntu的Linux应该都能参考,CentOS可能会有问题)

由于netfilter网上相关介绍很多也很详细,我就不重复造轮子了,推荐几个我看过的博客:
netfilter代码快速理解

netfilter代码参数详细介绍

Makefile文件的编写
将里面的sample.o换成自己c程序的名字.o就可以了,其余不用改,网上好多博客没有给出Makefile。注意将.c文件和Makefile放在同一目录

新版本Linux会遇到的问题
第一个和第三个问题都被说中了。第一个问题中nf_register_net_hook(&init_net, reg)的reg就是老版本nf_unregister_hook(&nfho)中的&nfho,注意带上&。

然后就是.c文件和Makefile文件放在同一个目录就行了,具体的哪个目录无所谓,我是放在用户目录就编译成功了
.c文件和Makefile都有了之后只需要在那个目录执行make就能得到.ko文件,然后再执行insmod xxx.ko文件就能运行,可以使用lsmod | grep xxx 来查看运行情况,rmmod xxx停止运行,dmesg命令可以查看.c文件里printk()函数输出的东西,可以用作调试。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值