PktFilter使用参考
创建时间:2003-07-20
文章属性:整理
文章提交: tombkeeper (tombkeeper_at_126.com)
PktFilter使用参考
tombkeeper@whitecell.org
/*
这份文档主要是基于PktFilter 所附带的PktFilter.pdf,修正了一些原文的错误,增
加了一些我自己的使用经验。
我喜欢这个防火墙主要是因为资源占用比较少,UNIX风格,没有图形界面,没有讨厌的
的系统托盘图标。
和IP Filter一样,这个防火墙不是为对安全一无所知或者略有所知的人设计的,要打
算使用它请确定你了解TCP/IP 协议等基础知识。如果对程序有问题,请写信问程序作
者:Jean-Baptiste.Marchand@hsc.fr。如果对使用有问题,也请写信问作者。我对这
份文档、规则生成脚本、修改过的程序不提供任何支持。
*/
PktFilter是一个运行在Windows 2000/XP/2003上的包过滤防火墙。
PktFilter自己并没有实现网络过滤驱动,事实上它是系统本身包过滤机制的一个配置
界面。Windows 2000以上的操作系统都有一个IpFilterDriver 服务,但是系统本身却
没有提供好用的配置界面。
因为是调用系统自身的机制,所以PktFilter工作得很稳定,占用资源也较少,但也正
因为如此,PktFilter的功能实现也受限于系统。
PktFilter的规则语法其实是IP Filter4的一个子集。可以参考 http://www.ipfilter.org/。
----------
安装使用:
----------
为PktFilter创建一个目录,将pktfltsrv.exe和pktctl.exe拷贝进来。
创建规则文件。大家可以根据下面介绍的语法自己编写规则。如果把PktFilter安装在
一台作为网关的机器上,并编写相应的规则,那么PktFilter 可以很好地作为一个网
络防火墙工作。
如果只是用来保护个人计算机,不需要设置太复杂的规则,那么你可以使用我写的脚本
rulesbuild.cmd。只需设置文件开头的一些变量,就可以迅速地生成一个规则。
安装启动服务:
C:/PktFilter> pktfltsrv -i "C:/PktFilter/PktFilter.conf" "C:/PktFilter/PktFilter.log"
C:/PktFilter> net start pktfilter
-------------
过滤规则介绍:
-------------
全局选项
option
small_frags, 拒绝太小的的分片包,默认small_frags是指小于16 bytes的
分片包。这个值可以通过建立注册表
HKLM/SYSTEM/CurrentControlSet/Services/IpFilterDriver/FragmentThreshold
来设定。
strong_host, 这个文档里面没说,但是程序支持,MSDN的解释是
“Causes a check of the destination address of incoming packets.”
check_frags,这个文档里面没说,但是程序支持,MSDN的解释是
“Causes a check of the fragments from the cache.”
过滤动作
pass, 允许
block, 阻塞
方向
in, 进来的
out, 出去的
协议
proto, 包括:
tcp, TCP 协议
udp, UDP 协议
icmp, ICMP 协议
[number], 指定其他的IP协议号
[empty], 所有协议
源地址
from [addr], 指定一个IPv4地址
from [subnet/mask],指定一个网络
源端口(仅限TCP/UDP协议)
port [表达式] [端口号]
表达式包括:
=
>=
>
<=
<
>< 端口范围
目标地址
to [addr], 指定一个IPv4地址
to [subnet/mask],指定一个网络
目标端口(仅限TCP/UDP协议)
port [表达式] [端