# VersaGuard-Firewall
NIS3302信息安全科技创新课程大作业——基于内核模块的包过滤防火墙
## Compile
在主目录执行:
```shell
make
```
## Usage
- **命令行参数模式**
```shell
./VersaGuard-cli -o [option] <parameters>
```
- `add`:添加规则,后接**十**个参数(默认则输入""),分别表示协议类型(tcp/udp/icmp/all),网络接口,源IP,目标IP,源端口,目标端口,开始时间,结束时间(格式为**带引号的**"YYYY-MM-DD HH:MM:SS"),执行动作(0拦截/1通过),备注
- `del`:删除规则,后接**一**个参数表示要删除的规则的序号
- `upd`:修改规则,后接**三**个参数,分别表示要修改的规则的序号,要修改哪一项参数(ptc/sip/dip/spt/dpt/stm/etm/act/rmk),修改后的结果
- `imp`:导入规则,后接**一**个参数表示要导入的规则文件路径
- `exp`:导出规则,后接**一**个参数表示要导出的规则文件名
- `rule`:打印规则
- `write`:写规则到设备文件(需提权)
- `help`:打印使用说明
- **交互模式**
```shell
./VersaGuard-cli
```
- `0`:退出程序
- `1`:添加规则
- `2`:删除规则
- `3`:修改规则
- `4`:导入规则
- `5`:导出规则
- `6`:打印规则
- `7`:写规则到设备文件(需提权)
- `8`:使用说明
## File Structure
- `include`文件夹
- `common.h`--定义常量和规则结构体,引入库
- `cmd_mode.h`--声明命令行参数模式的函数
- `interact_mode.h`--声明交互模式的函数
- `mainfunc.h`--声明主要规则管理功能函数
- `utils.h`--声明辅助工具函数
- `src`文件夹
- `main.c`--主函数
- `cmd_mode.c`--命令行参数模式
- `interact_mode.c`--交互模式
- `mainfunc.c`--主要规则管理功能
- `utils.c`--辅助工具
- `build`文件夹--编译得到的目标文件
- `main.o`
- ......
- `configure`--可执行文件
- `Makefile`--构建脚本
- `README`--项目说明文件
## Update
- **2023.07.12** 整理文件结构。
- **2023.07.10** 在规则结构体中新增表示网络接口的interface字段。允许接口、ip和时间为空。
- **2023.07.09** 新增判断待添加规则是否已存在、待修改的规则字段是否存在、修改后的规则是否已存在、待导入文件中的规则是否有效的功能,增加端口和备注输入为空的选项,只将需要拦截的规则写入设备文件,美化输出和打印出的规则表,整理代码和文件结构。
- **2023.07.05** 增加开始与结束时间是否矛盾的验证功能。美化命令行工具的提示显示效果,对警示和错误信息等输出添加颜色以提升用户体验。将输入的ruleId对应规则不存在的可能性纳入考虑。
- **2023.07.04** 优化工具函数细节,增加对协议、IP、端口、时间格式正确性验证等功能。
- **2023.07.03** Debug完成,程序成功运行。
- **2023.07.01** 实现其余参数解析等功能函数和主函数,功能基本完善。
- **2023.06.28** 实现规则的增删改等部分函数,整理文件结构。
- **2023.06.26** 初步确定基本功能及框架。
没有合适的资源?快使用搜索试试~ 我知道了~
信息安全科技创新课程大作业-基于内核模块的包过滤防火墙c源码+项目说明.zip
共54个文件
c:15个
h:11个
makefile:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2024-04-11
12:17:19
上传
评论
收藏 615KB ZIP 举报
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 信息安全科技创新课程大作业-基于内核模块的包过滤防火墙c源码+项目说明.zip # VersaGuard-Firewall NIS3302信息安全科技创新课程大作业——基于内核模块的包过滤防火墙 ## Usage 内核模块、CLI、GUI都在`bin`目录下,下载该目录即可使用 ### 内核模块使用 安装: ```bash sudo insmod VersaGuard_core.ko ``` 查看: ```bash sudo lsmod |grep VersaGuard_core ``` 卸载: ```bash sudo rmmod VersaGuard_core ``` ### CLI使用 - **命令行参数模式** ......
资源推荐
资源详情
资源评论
收起资源包目录
信息安全科技创新课程大作业-基于内核模块的包过滤防火墙c源码+项目说明.zip (54个子文件)
code_20105
Makefile 326B
bin
VersaGuard_core.ko 506KB
VersaGuard-cli 51KB
VersaGuard-gui 135KB
core
VersaGuard_core.c 18KB
Makefile 410B
bin
VersaGuard_core.ko 506KB
cli
include
interact_mode.h 272B
common.h 845B
cmd_mode.h 406B
mainfunc.h 588B
utils.h 795B
Makefile 537B
src
interact_mode.c 11KB
mainfunc.c 14KB
utils.c 9KB
cmd_mode.c 13KB
main.c 3KB
bin
VersaGuard-cli 51KB
README.md 3KB
gui
include
headerbar.h 312B
global.h 474B
logs.h 701B
core_func.h 2KB
database.h 1KB
utils.h 588B
Makefile 1KB
src
core_func.c 43KB
logs.c 8KB
glade.c 228KB
headerbar.c 2KB
img.c 42KB
utils.c 7KB
css.c 8KB
database.c 14KB
main.c 3KB
img
Makefile 159B
img.xml 142B
versaguard-logo.png 8KB
versaguard-logo-large.png 76KB
bin
VersaGuard-gui 135KB
callgraph.png 18KB
callgraph.dot 427B
test
rules.db 12KB
ui
edit.glade 45KB
main.css 64B
Makefile 368B
css.xml 131B
about.glade 2KB
main.glade 28KB
glade.xml 282B
README.md 1KB
.gitignore 62B
README.md 2KB
共 54 条
- 1
资源评论
土豆片片
- 粉丝: 1518
- 资源: 5643
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功