扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现在我们将准备应用试验部分的补丁,比如字符串模式匹配的支持。运行:
make patch-o-matic KERNEL_DIR=/usr/src/linux-2.4.16
在这个交互式的过程中,回答y(yes)以便应用string.patch。程序将遍历所有的可用的补丁,包括那些稳定的。
Testing... string.patch NOT APPLIED ( 2 missing files)
The string patch:
Author: Emmanuel Roger
Status: Working, not with kernel 2.4.9
This patch adds CONFIG_IP_NF_MATCH_STRING which allows you to
match a string in a whole packet.
THIS PATCH DOES NOT WORK WITH KERNEL 2.4.9 !
Do you want to apply this patch [N/y/t/f/q/?] y
其余的补丁也许也让你非常感兴趣,不过它们与本文并不相关。如果你选择安装任何别的补丁,请注意开发者给出的警告信息,其中包括了补丁的功能(比如dropped表的补丁)确定你没有安装MAC过滤的补丁,因为最近发现这个补丁包含一个漏洞。
现在我们开始编译用户空间程序和相关的Libraries:
make KERNEL_DIR=/usr/src/linux-2.4.16
然后我们安装它们(iptables在/usr/local/user/sbin,libraries在/usr/local/lib/iptables)在root身份下执行以下内容:
make install KERNEL_DIR=/usr/src/linux-2.4.16
紧接着我们配置和编译核心:
Now we are ready to compile the user-space code and the libraries:
make KERNEL_DIR=/usr/src/linux-2.4.16
and then install them (iptables program goes in /usr/local/user/sbin and libraries go into /usr/local/lib/iptables). As root:
cd /usr/src/linux-2.4.16
可以使用任何的核心配置方法。有关详细的配置核心的方法,可以查阅Internet资源,Internet上有大量的这方面的文档,比如kernel HOWTO等。以下简要介绍一下:
make xconfig
在GUI界面下,选择Netfilter配置选项,然后在Strings match support前选择m(模块支持)
然后执行通常的操作:
make dep;make bzImage;make modules;make modules_install
现在按照你喜欢的方式安装核心,并重新启动。重新启动系统以后,测试一下iptables是否支持模式匹配功能,在root身份下执行:
/usr/local/sbin/iptables -m string -help
该命令将显示如下标准的iptables帮助信息:
STRING match v1.2.4 options:
--string [!] string Match a string in a packet
该功能允许你对匹配数据包的内容,我们可以通过netcat或者telnet来测试这一功能,从而确定我们确实可以获得数据包的内容。
运行:
iptables -A INPUT -m string --string "test" -j LOG --log-level
info --log-prefix "TEST"
然后启动一个netcat的服务器:
nc -l -p 3456
然后连接该netcat服务器:
telnet localhost 3456
然后输入:
test
whatevertestdoes
这样将引起iptables产生一个简单的记录,我们在记录文件中将会看到如下的信息(当然你需要设置了记录信息的级别为info)
Nov 27 23:16:53 pua kernel:
TEST IN=lo OUT=MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00
SRC=127.0.0.1 DST=127.0.0.1 LEN=2154 TOS=0x00 PREC=0x00 TTL=64
ID=42880 DF PROTO=TCP SPT=3128 DPT=33018 WINDOW=32767 RES=0x00 ACK PSH URGP=0
Nov 27 23:16:53 pua kernel:
TEST IN=lo OUT=MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00
SRC=127.0.0.1 DST=127.0.0.1LEN=1830 TOS=0x00 PREC=0x00 TTL=64
ID=17451 DF PROTO=TCP SPT=8000 DPT=33017 WINDOW=32767 RES=0x00 ACK PSH URGP=0
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。