# idshwk1 **Repository Path**: yifei-hu/idshwk1 ## Basic Information - **Project Name**: idshwk1 - **Description**: 网络入侵检测作业一 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # idshwk1 #### 介绍 东南大学网络入侵检测作业一 #### 作业要求 write a rule in test.rules 1.detect a tcp packet with Destination Port at 8080, TCPFLAG ACK set, a string “I am IDS Homework I” in payload [100th byte-200th byte] 2.alert message “TEST ALERT” #### 作业说明 1. 安装核心数据采集库与安装Snort3主程序 首先,下载相关编译库 sudo apt install -y build-essential autotools-dev automake libtool pkg-config libpcap-dev 下载并编译LibDAQ git clone https://github.com/snort3/libdaq.git cd libdaq ./bootstrap ./configure --prefix=/usr/local/lib/daq_s3 sudo make install 配置系统动态链接库 echo "/usr/local/lib/daq_s3/lib" | sudo tee /etc/ld.so.conf.d/libdaq3.conf sudo ldconfig 下载Snort3 git clone https://github.com/snort3/snort3.git cd snort3 现在需要配置环境 export PKG_CONFIG_PATH=/usr/local/lib/daq_s3/lib/pkgconfig:$PKG_CONFIG_PATH ./configure_cmake.sh --prefix=/usr/local/snort cd build sudo make install 2. Snort规则说明 一条完整的 Snort 规则由两个主要部分组成:规则头和规则选项 [动作] [协议] [源IP] [源端口] -> [目标IP] [目标端口] ( [选项1]; [选项2]; ... ) 使用规则选项msg、flags、content、offset、depth其中, msg:"内容" 表示设置这条文字信息; flags:A 表示检查TCP的标志位,其中A代表ACK; content"内容" 表示验证数据包具体内容; offset:100 表示从第100个字节开始找; depth:100 表示搜索深度为100; 3. 使用Snort3进行验证 思路:在虚拟环境中用Scapy创建目标数据包packet保存在本地,使用Snort捕捉验证 先安装能创建虚拟环境的底层程序:sudo apt install -y python3-venv 我们在刚才的目录建一个专门用来测试的文件夹 mkdir scapy_env 将当前文件夹变成虚拟环境 cd my_scapy_env python3 -m venv . 激活 source bin/activate 启动Scapy sudo $(which scapy) 创建目标数据包 pkt=Ether()/IP(dst="www.baidu.com")/TCP(dport=8080,flags="A")/""null"*25""I am IDS Homework I" 我们使用 wrpcap("hwk1.pcap", pkt) 创建hwk1.pcap方便Snort3进行捕捉 把规则写入到test.rules文件中 echo 'alert tcp any any -> any 8080 (msg:"TEST ALERT"; flags:A; content:"I am IDS Homework I"; offset:100; depth:100;)' > test.rules 对目标数据包进行分析 sudo /usr/local/snort/bin/snort -c /usr/local/snort/etc/snort/snort.lua -R /home/seu/snort3/build/test.rules -r hwk1.pcap -A alert_fast 4.验证结果 ![说明警报触发成功](1.png) 说明警报触发成功 ![说明选取的字符串正是I am IDS Homework I](image.png) 说明选取的字符串正是I am IDS Homework I