Chinaunix首页 | 论坛 | 博客
  • 博客访问: 66967
  • 博文数量: 16
  • 博客积分: 72
  • 博客等级: 民兵
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-01 19:35
文章分类
文章存档

2012年(16)

我的朋友

发布时间:2012-12-16 16:12:12

从用户空间来操作内核中Netfilter框架里自定义的HOOK函数          本文承上一篇博客。主要是和大家探讨一下如何从用户空间操作我已经注册到Netfilter中的自定义hook函数。有些童鞋可能就纳闷,难道iptables不能操作到么?如果我们需要让iptables操作我们在Netfilter框架中做过的扩展,那么最有效最直接的办法就是开发一个match或者target。但我们现在注册的这个hook很明显和iptables命令行工具没多大关系,你要让iptables来管理这不是强人所难么。当然如......【阅读全文】

阅读(1862) | 评论(0) | 转发(0)

发布时间:2012-12-16 16:12:03

向Netfilter中注册自己的hook函数         数据包在协议栈中传递时会经过不同的HOOK点,而每个HOOK点上又被Netfilter预先注册了一系列hook回调函数,当每个清纯的数据包到达这些点后会被这些可恶hook函数轮番调戏一番。有时候我们就在想,只让系统自带的这些恶棍来快活,我自己能不能也make一个hook出来和它们同流合污呢?答案是肯定的。        我们来回顾一下目前系统中已经注册了的hook函数可分为以下几类:      &nbs......【阅读全文】

阅读(2018) | 评论(0) | 转发(0)

发布时间:2012-12-16 16:11:58

自己开发一个match模块        今天我们来写一个很简单的match来和大家分享如何为iptables开发扩展功能模块。这个模块是根据IP报文中有效载荷字段的长度来对其进行匹配,支持固定包大小,也支持一个区间范围的的数据包,在用户空间的用法是:          iptables -A FORWARD -m pktsize --size XX[:YY] -j DROP        这条规则在FORWARD链......【阅读全文】

阅读(1529) | 评论(0) | 转发(0)

发布时间:2012-12-16 16:11:54

为netfilter/iptables增添新功能模块:ipp2p    一个防火墙功能模块包含两部分:内核空间的ko模块和用户空间的so模块。如下:    而且文件的命令都非常有讲究。例如我们有个模块名叫AAA,那么内核中该模块的文件名一般为ipt_AAA.c和ipt_AAA.h;对应的用户空间模块叫libipt_AAA.c。今天我通过简单的向防火墙添加ipp2p扩展功能模块的例子,向大家展示一下相关操作和注意事项。   下载ipp2p源码:http://www.ipp2p.org/   &nbs......【阅读全文】

阅读(1525) | 评论(0) | 转发(0)

发布时间:2012-12-16 16:11:50

iptables用户空间和内核空间的交互 iptables目前已经支持IPv4和IPv6两个版本了,因此它在实现上也需要同时兼容这两个版本。iptables-1.4.0在这方面做了很好的设计,主要是由libiptc库来实现。libiptc是iptables control library的简称,是Netfilter的一个编程接口,通常被用来显示、操作(查询、修改、添加和删除)netfilter的规则和策略等。使用libipq库和ip_queue模块,几乎可以实现任何在内核中所实现的功能。         libiptc库位于iptables源......【阅读全文】

阅读(1607) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

ANHUI2010-10-04 14:10

回复  |  举报

大鬼不动2010-10-02 22:22

回复  |  举报
留言热议
请登录后留言。

登录 注册