以太网数据包检查——具有并行字符串匹配的局域网流量分析器项目的DIY动手指南

生活科技

0 1181 0

当前 1/3 Step

Step1: 软硬件准备

硬件准备:


  1. Digilent ZedBoard

  2. Digilent Zybo Z7

  3. SD卡


软件准备:

Xilinx Vivado

Step2: 设计原理

通常有害软件会通过本地网络渗透到个人计算机中。这可以通过病毒,蠕虫,勒索软件,间谍软件,rootkit等形式来入侵。阻止或检测入侵的最佳方法是在内核空间级别分析网络流量。

相对于执行速度,具有微控制器和现场可编程门阵列(FPGA)的混合架构是一种有效的解决方案,它实现了可检测特定字节序列的并行计算单元。


外观设计

(外观设计)


该设计应该用作入侵检测系统。目的是加速Morris-Pratt字符串匹配算法,以检测入侵数据,将其记录并报告给主机。




Step3: 具体操作

操作步骤:

1)格式化sd卡(我更喜欢使用gparted ),如下所示:

-启动= FAT32-16 MB

-rootfs = EXT4-剩余空间

2)使用此处提供的步骤构建u-boot:构建U-Boot

3)使用此处提供的步骤来构建FSBL 构建FSBL

4)使用先前生成的2个文件和github存储库中的文件

 epi_vivado/sdk/bd_name_wrapper_hw_platform_0/main_design_wrapper.bit

如本教程中所述,生成Zynq引导映像:创建Zynq引导映像

5)使用此处提供的步骤构建设备树Blob 构建设备树Blob

6)从Xilinx存储库克隆并构建uImage:linux-xlnx

7)将以下文件复制到SD卡上的FAT32分区中:

uImagedevicetree.dtbboot.bin

8)安装根文件系统(用于EXT4分区):

# wget https://releases.linaro.org/12.11/ubuntu/precise-images/ubuntu-desktop/linaro-precise-ubuntu-desktop-20121124-560.tar.gz# sudo tar –strip-components=3 -C /media/rootfs -xzpf linaro-precise-ubuntu-desktop-20121124-560.tar.gz binary/boot/filesystem.dir

9)将SD卡插入Zedboard并打开电源。连接到UART并为接口eth0 设置一个IP地址现在,使用命令passwd root 设置密码运行命令mkdir 只是为了确保下次传输将发生。

# ifconfig eth0 # passwd# mkdir kmodule

10)用网络电缆连接Zedboard和主机PC。为主机PC设置正确的IP。导航到epi_driver 文件夹并构建并传输驱动程序:

# make# make deploy

epi_app 执行相同的操作

11)要测试系统,可以运行以下命令:

# cd kmodule# insmod epi.ko# mknod s c 245 0# ./test

其中mknod 用于创建名为“ s”的驱动程序的char文件。可以使用以下命令发现驾驶员的次要和主要号码:

# cat /proc/devices | grep epi

./test 程序的输出取决于epi_app 源文件。如演示视频中所示,对某些部分进行了注释以测试程序的不同部分。


评论