20252810 2025-2026-2 《网络攻防实践》实践五报告
20252810 2025-2026-2 《网络攻防实践》实践五报告
1.实践内容
1.1 PDR模型
PDR安全模型是一个基于时间的动态安全模型,以经典的网络安全不等式P>Dt+Rr为本质基础,并提出安全性可量化和可计算的观点。如果信息系统的防御机制能够抵御入侵的时间P,能够超过检测机制发现入侵的时间D和响应机制有效应对入侵的时间Rt之和,那么这个信息系统就是安全的。
1.2 P²DR模型
20世纪90年代末RSS公司在PDR模型的基础上进一步扩展出P2DR安全模型,基本描述为:网络安全=根据风险分析制定安全策略(Policy)+执行安全防护策略(Protection)+实时检测(Detection)+实时响应(Response)。
1.3 防火墙
防火墙指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。从技术范畴上说,防火墙属于一种网络上的访问控制机制,通过在不同的网络安全域之间建立起安全控制点,对通过的网络传输数据进行检查,根据具体的安全需求和策略设置决定是否允许网络访问通过防火墙,达到保护特定网络安全域免受非法访问和破坏的安全目标。其具备以下功能:
1.检查控制进出网络的网络流量
2.防止脆弱或不安全的协议和服务
3.防止内部网络信息的外泄
4.对网络存取和访问进行监控审计
5.防火墙可以强化网络安全策略并集成其他安全防御机制
缺点如下:
1.来自网络内部的安全威胁
2.通过非法外联的网络攻击
3.计算机病毒传播
4.针对开放服务安全漏洞的渗透攻击。
5.针对网络客户端程序的渗透攻击
6.基于隐蔽通道进行通信的特洛伊木马或僵尸网络。
1.4入侵检测
入侵检测,顾名思义,就是对入侵行为的检测与发现。在网络攻防技术领域,一次入侵可被定义为任何尝试破坏信息资源的保密性、完整性或可用性的行为。入侵检测即为通过对计算机网络或计算机系统中若干关键点信息的收集和分析,从中发现入侵行为的一种安全技术。
1.5 开源网络入侵检测系统Snort
Snort是一款非常著名的开源网络入侵检测系统软件,它被设计成一个跨平台、轻量级的网络入侵检测系统,用C语言编写,并采用了标准的捕获数据包函数库libpcap,具有非常好的可移植性。Snort软件的基本架构主要由四个基本部分组成
数据包嗅探/解码器(sniffer)
预处理器/插件(preprocessor)
检测引|擎/插件(detection engine)
输出模块/插件(output modules)
2.实践过程
1.过滤ICMP数据包,使得主机不接收Ping包;
首先,输入指令"iptables -L"查看所有规则

在kali中输入ifconfig查看kali的IP地址,并在WinXPattacker中输入ping 192.168.200.2(kali的IP地址)

在kali中输入iptables -A INPUT -p icmp -j DROP,阻止主机接受icmp的数据包。

这个时候再次使用WinXPattacker ping kali已经ping不通了

再次在kali中查找规则(sudo iptables -L),可发现多了一条

输入sudo iptables -F删除规则并再次查看规则,确认已清除。

2.只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问
| 主机 | IP地址 |
|---|---|
| Kali | 192.168.200.2 |
| WinXPattacker | 192.168.200.8 |
| SEEDUbuntu | 192.168.200.11 |
首先,在kali中输入命令sudo service apache2 start,打开简易的http服务

在谷歌浏览器中输入http://192.168.200.2/(kali的IP)

成功访问
seed中同样成功

在kali中输入iptables -I INPUT -p tcp --dport 80 -j DROP(阻断所有访问 80 端口的连接)
iptables -I INPUT -p tcp -s 192.168.200.8 --dport 80 -j ACCEPT(允许IP192.168.200.8连接)

再次刷新浏览器,发现只有WinXPattacker的能连接,seed的已经连接不了了


2.2 动手实践:Snort
在kali中输入snort -c /etc/snort/snort.lua -r ./listen.pcap -l /var/log/snort -A fast
会弹出提示要你先下载,点击y然后输入密码就行(这里我后面改了个命令,这一步可以改成sudo apt-get install snort,这里就不改下载截图了)
输入sudo vim /etc/snort/snort.lua

修改为下图所示

输入sudo snort -r /home/kali/Desktop/listen.pcap -c /etc/snort/snort.lua -A full -l /var/log/snort
进行入侵检测

得到非常多的数据,借助人工智能对数据进行分析可得:
主机 172.31.4.178 对 172.31.4.188 实施 TCP 端口扫描
使用 Nmap XMAS 扫描进行 OS 指纹与端口探测
大量发送畸形 TCP 包(非法标志位组合)
存在 ARP 扫描 / ARP 欺骗可疑行为
大量 IPv4 数据报长度异常,疑似构造畸形包探测
流量无正常业务,仅存在高密度扫描与异常探测
短时间内建立超 6 万 TCP 会话,典型暴力扫描特征
查看蜜罐防火墙规则iptables -t filter -L

查看 Snort 主配置:vim /etc/snort/snort.conf

查看蜜网网关防火墙核心脚本vim /etc/init.d/rc.firewall

查看 Snort的规则目录ls -l /etc/snort/rules/

实验通过Snort入侵检测系统,成功识别出listen.pcap流量包中的多种恶意网络攻击行为,明确了攻击源(172.31.4.178)与目标(172.31.4.188),验证了Snort在网络入侵检测中的有效性。实验过程中,掌握了Snort的安装、配置与使用方法,理解了端口扫描、畸形包攻击等常见网络攻击的特征,以及入侵检测与防火墙防御的协同作用,达到了实验预期目标。
3.学习中遇到的问题及解决
-
问题1:浏览器无法访问kali
![image]()
-
问题1解决方案:IE浏览器不行,换谷歌浏览器
![image]()
-
问题2:listen.pcap文件丢失
![image]()
-
问题2解决方案:问题不大,重新把文件拖进去就行。
4.实践总结
本次实验围绕iptables防火墙配置与Snort入侵检测展开,完成了ICMP数据包过滤、特定IP端口访问控制及Snort流量检测实操,大致掌握了相关工具的基础用法,理解了网络防御与入侵检测的协同作用。实验中遇到浏览器访问失败、pcap文件丢失等问题,通过简单操作顺利解决,让我意识到网络实操需耐心细致。同时,我也认识到自身不足,对Snort自定义规则、iptables高级配置不够熟悉,后续将加强学习练习,提升网络安全实操与问题排查能力。


浙公网安备 33010602011771号