首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux上使用netfilter进行IP包解析

2012-07-05 
Linux下使用netfilter进行IP包解析一.netfilter最近因为工作的原因,要用到netfilter进行IP包的解析和过滤,

Linux下使用netfilter进行IP包解析
一.netfilter

最近因为工作的原因,要用到netfilter进行IP包的解析和过滤,所以对netfilter进行了一些了解,目前网上比较容易搜索到的应该是这两篇文章http://alexanderlaw.blog.hexun.com/8960896_d.html,《Linux netfilter 源码解析》,

https://www.ibm.com/developerworks/cn/linux/l-ntflt/,《Linux Netfilter实现机制和扩展技术》

这两篇文章对于Linux netfilter进行了一个详细的介绍,第一篇还对其源码进行了剖析,至于其具体实现,网上也能够找到一些例子,但是问题在于,那些例子大部分都是基于老版本的linux kernel,而在2.6以上的linux内核中,关于netfilter的变动是巨大的,整个变化主要体现在skubuff.h这个头文件中,2.6以上的linux内核抛弃了以前的那种union的方式,老版本中的nh不再存在。至于更加详细的内容变化,可以直接去Google,我就不再赘述了。

另外一个需要注意的是,很多网上的例子程序给的接口是这样的


这是我使用的Makefile,需要注意的是,因为编译内核模块需要使用内核中的头文件,所以需要

sudo make

编译完成之后,将.ko文件加载到内核中就可以了

sudo insmod ./sample.ko

内核模块的输出printk不是直接打印到系统终端的,而是在系统日志中

你可以使用

dmesg

或者直接去/var/log/目录下查看syslog文件


热点排行