开源AI防火墙简介

开源AI防火墙

代码:https://gitee.com/dnsnat/aifw.git

硬件:复旦微FMQL45T900/zynq7045

输入图片说明

功能:

  1. 嵌入式arm linux环境实现tenterflow lite c++推理。
  2. 通过fpga加速卷积、池化、激活。
  3. 结合ndpi-ntopng实现深度报文识别。
  4. 基于深度学习实现加密流量识别。

参考:

关于深度学习的网络流量分类论文整理二_

机器学习对比深度包检测

介绍:

报文识别主要分为以下几种方式:

  1. 基于端口 - 简单粗暴
  2. 深度报文解析 - 对于未知协议识别困难
  3. 传统机器学习 - 人工标注特征
  4. 深度学习 - 不可解释

软件架构

软件架构说明
输入图片说明

安装教程

  1. tensorflow

  2. opencv

使用说明

  1. windows下pcap预处理
1
2
3
4
5
cd aifw\2.PreprocessedTools
.\1_Pcap2Session.ps1
.\2_ProcessSession.ps1
python .\3_Session2png.py
python .\4_Png2Mnist.py
  1. windows下实现训练
1
2
3
cd aifw\4.TrainAndTest\1d_cnn_25+3
python.exe .\encrypt_traffic_cnn_1d_2.py --data_dir ..\..\2.encrypted_traffic_classification\3.PerprocessResults\12class\SessionL7 --class_num 12 --train_round 2000
python.exe .\encrypt_traffic_cnn_1d_2.py --data_dir ..\..\2.PreprocessedTools\5_Mnist\ --class_num 12 --train_round 2000
  1. linux下推理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cd aifw\5.Invoke
python.exe .\convert.py
./minimal
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
推理时间: 4610 微秒
data0: 0.000500185
data1: 5.65572e-05
data2: 0.00401455
data3: 0.0196366
data4: 0.00229724
data5: 0.0105339
data6: 0.937142
data7: 0.000395517
data8: 0.0193283
data9: 0.00606796
data10: 1.27633e-05
data11: 1.48785e-05
Predicted class: 6:0.937142

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

开源AI防火墙简介
http://blog.uanet.cn/AI/开源AI防火墙简介.html
作者
dnsnat
发布于
2025年2月13日
许可协议