github项目filter_firewall说明

本文编写的目的:

本文是对上传到github上的项目进行说明。github链接:filter_firewall有任何意见或者建议可以Email:[email protected]

项目介绍:

包过滤型防火墙,对访问本地网络的数据包进行操作,包括允许访问(Accept)和阻止访问(Drop)两种方式。

开发环境:

  操作系统:Ubuntu 12.04, Linux内核为3.15版本

  开发工具:vim

  开发语言:C

  开发作者:

模块描述

1.数据包拦截

  内核模块,采用netfilter框架进行数据包过滤,在网络层捕获数据包,查看过滤规则表,如果是需要过滤的,则Drop掉数据包,不允许进入用户空间。如果不在过滤规则表的,则允许进入,正常访问。

2.用户配置过滤规则

  用户空间模块,与内核模块进行交互,采用命令行参数的方式进行配置命令行选项如下:

选项 含义 取值 状态
-A append规则链 NA 完成
-D delete规则链 NA 未完成
-p 端口 short 完成
-I 操作Input链 NA 完成
-O 操作Output链 NA 未完成
-F 操作Forward链 NA 未完成
-r 操作结果 drop | accept 完成
-f 来源IP ip值 完成
-t 转发IP ip值 未完成

对于未完成的命令行选项避免使用。

For Example:

filter_client -A -p 80 -I -r drop -f 192.168.1.105

通过配置以上链能够阻塞ip地址为192.168.1.105对本机80号端口的访问。

关于如何使用本项目:

  首先声明本项目主要用于学习交流,作者水平有限,对本项目有任何意见或者建议可以email:[email protected](注:18277973721非作者正在使用的手机号码).

  下面介绍如何使用本项目.

  重新编译源代码=====>>加载内核模块======>>利用用户模块配置重定向信息。下面给出些许步骤命令

  cd kernelspace

  make clean

  make

  make install

  ==================================

  cd userspace

  make clean

  make

  ./filter_client -A -p 80 -I -r drop -f 192.168.1.105

  查看log:tail /var/log/syslog或者tail /var/log/message 或者dmesg

 最后:

  最近陆陆续续往github上贴代码,处于学习阶段希望多吸收些开发者的经验。

 

你可能感兴趣的:(filter)