github项目filter_firewall说明
本文编写的目的:
本文是对上传到github上的项目进行说明。github链接:filter_firewall有任何意见或者建议可以Email:18277973721@sina.cn
项目介绍:
包过滤型防火墙,对访问本地网络的数据包进行操作,包括允许访问(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:18277973721@sina.cn(注: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上贴代码,处于学习阶段希望多吸收些开发者的经验。
github项目filter_firewall说明的更多相关文章
- 利用Travis CI 让你的github项目持续构建
Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列 ...
- 优秀大数据GitHub项目一览
http://blog.csdn.net/yaoxtao/article/details/50540485 优秀大数据GitHub项目一览 VMware CEO Pat Gelsinger曾说: 数据 ...
- 用tortoiseGit管理GitHub项目代码(完整教程)
一.为什么要写这篇博客呢,因为在一开始用tortoiseGit来管理项目的时候,在百度上找了很多教程,但是感觉说的都不是很全,有些东西以及操作没写清楚,所以想写一片比较完整用tortoiseGit管理 ...
- Github项目推荐-图神经网络(GNN)相关资源大列表
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | AI研习社 作者|Zonghan Wu 这是一个与图神经网络相关的资源集合.相关资源浏览下方 ...
- Eclipse安装git插件以及关联导入GitHub项目
一.Eclipse配置git 1.查看自己eclipse的版本 打开eclipse 导航: help->AboutEclipse 如图: 2.检查Eclipse中是否已安装Git插件 菜单栏He ...
- Keras RetinaNet github项目
https://github.com/fizyr/keras-retinanet 根据此网站的方法,利用Pascal VOC 2007数据集开始训练,出现error: D:\JupyterWorkSp ...
- Keras RetinaNet github项目安装
在存储库目录/keras-retinanet/中,执行pip install . --user 后,出现错误: D:\>cd D:\JupyterWorkSpace\keras-retinane ...
- github项目
一.github项目地址: https://github.com/fairy1231/gitLearning/tree/master 二.github的重要性: Git 是一个快速.可扩展的分布式版本 ...
- 【全网最全的博客美化系列教程】01.添加Github项目链接
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
随机推荐
- Asp.Net 之 抓取网页内容
一.获取网页内容——html ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题. 需要三个类:WebRequest.WebResponse.StreamRea ...
- 用DAEMON TOOLS打开rational ross 的bin文件并安装过程梳理
最近要开始准备毕业设计了,学习熟悉了一些UML用例图.类图之类的,开始准备用自家PC电脑画图的时候发现Rational Ross没安装. 本以为简单,却碰上bin文件.琢磨好久,终于把Ross安上了. ...
- 用RSA实现Web单点登录密码的加密传输
在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下. 前端部分,请引用以下几个js文件: <script type=& ...
- UVA442 Matrix Chain Multiplication 矩阵运算量计算(栈的简单应用)
栈的练习,如此水题竟然做了两个小时... 题意:给出矩阵大小和矩阵的运算顺序,判断能否相乘并求运算量. 我的算法很简单:比如(((((DE)F)G)H)I),遇到 (就cnt累计加一,字母入栈,遇到) ...
- [改善Java代码]避免在构造函数中初始化其他类
建议35: 避免在构造函数中初始化其他类 构造函数是一个类初始化必须执行的代码,它决定着类的初始化效率,如果构造函数比较复杂,而且还关联了其他类,则可能产生意想不到的问题,我们来看如下代码: publ ...
- mysql 慢执行分析工具explain/desc
一.如何操作 explain + 增删改查语句; 二. 输出格式 possible_keys mysql在搜索表记录时可能使用哪个索引. key 实际使用的索引,如果没有索引被使用,则为null. ...
- 【Knockout】四、绑定上下文
Binding context binding context是一个保存数据的对象,你可以在你的绑定中引用它.当应用绑定的时候,knockout自动创建和管理binding context的继承关系. ...
- ASP.NET播客(留言时间,投票IP,留言限字数,上传视频)
留言发布时间功能: 界面: 前台代码: 在Datalist控件中: 在<%#getIsDate(Convert.ToString(Eval("issuanceDate"))) ...
- Unity Rigidbody 刚体中的Angular Drag和Freeze Position/Rotation
Rigidbody中 Angular Drag (角阻力):同样指的是空气阻力,只不过是用来阻碍物体旋转的.如果设置成无限的话,物体会立即停止旋转.如果设置成0,物体在上升过程中,会发生侧翻旋转. ...
- hive 未初始化元数据库报错
启动hive-metastore和hive-server2 用beeline连接hive报错 [root@node04 hive]# beeline Beeline version 0.13.1-cd ...