20252811 2025-2026-2 《网络攻防实践》第四周作业
一、实验内容
网络协议在设计时通常优先考虑通信效率和互联互通,往往在认证机制、完整性校验和可信边界等方面存在安全权衡。本次实践涉及的协议安全缺陷主要源于以下几个共同特点:缺乏源头验证机制、过度信任本地网络消息、状态管理机制不完善。
1.1 ARP协议欺骗攻击
ARP协议在局域网中负责IP地址到MAC地址的解析,但其设计缺乏对响应报文的真实性验证。攻击者可主动发送伪造的ARP响应,诱使目标主机更新ARP缓存表,将本应发往合法主机的数据流转发到攻击者控制的设备。这种中间人攻击手段为后续的监听或篡改创造了条件。
1.2 ICMP重定向攻击
ICMP重定向功能原本用于优化本地网络路由路径,但当主机无条件信任接收到的重定向报文时,攻击者便可伪造此类消息,误导受害者修改路由表项。这使得数据包可能被导向非预期路径,甚至经过攻击者主机,破坏了正常的网络通信拓扑。
1.3 SYN泛洪攻击
这是针对TCP协议三次握手过程的资源耗尽型攻击。攻击者大量发送初始SYN请求,却不完成后续握手步骤,导致目标主机维持大量半开连接状态,消耗系统资源。当连接队列被占满时,合法用户将无法建立新连接,从而形成拒绝服务。
1.4 TCP连接重置攻击
由于TCP协议中RST(复位)标志能够直接终止连接,且早期的序列号验证不够严格,攻击者可通过伪造具有适当序列号的RST数据包,强行中断已建立的TCP会话。这种攻击破坏了通信的可用性,且不易被通信双方立即察觉。
1.5 TCP会话劫持攻击
在成功实施中间人攻击或监听网络流量的基础上,攻击者可对传输中的TCP数据包进行截获、分析,并在适当时机注入伪造数据。通过预测或获取正确的序列号,攻击者能够冒充通信一方发送恶意内容,实现会话控制权窃取。
二、实践过程
首先准备三台同网段的虚拟机,并测试连通性,
三台虚拟机分别是Kali,Winxpattacker以及Seedlab-Ubuntu20.04,IP地址与对应的MAC地址如下表所示
| 虚拟机 | IP | MAC |
|---|---|---|
| Seedlab-Ubuntu | 192.168.200.3 | 00:0c:29:ce:2d:12 |
| Winxp | 192.168.200.5 | 00:0c:29:cf:08:af |
| Kali | 192.168.200.8 | 00:0c:29:3f:86:36 |
2.1 ARP缓存欺骗攻击
首先选择Seedlab-Ubuntu20.04作为攻击机(以下简称攻击机),在攻击机上安装netwox
输入如下指令
sudo apt install netwox -y --fix-missing
安装完成后首先查看Kali的ARP表格,然后在攻击机上输入ARP攻击命令
sudo netwox 80 -e 00:0c:29:ce:2d:12 -i 192.168.200.1
在Kali虚拟机上可以看出攻击结果
可以看出ARP攻击后原先的网关MAC变成攻击机MAC,攻击成功
2.2 ICMP重定向攻击
首先在Kali上Ping百度的网址ping baidu.com
然后在攻击机上输入指令
sudo netwox 86 -f "host 192.168.200.8" -g 192.168.200.3 -i 192.168.200.1
这是一个ARP欺骗攻击命令。它以管理员权限运行netwox工具,伪造ARP响应报文,欺骗IP地址为192.168.200.8的主机,使其错误地认为:网关192.168.200.1的MAC地址是攻击者的MAC地址。这样,目标主机发往网关地址的网络流量都会被重定向到攻击者主机,从而实现监听或篡改的中间人攻击。
下图为攻击结果,可以看出第一个包能够收到百度的响应,后面的包都被重定向到了192.168.200.3
2.3 SYN Flood攻击
首先打开Winxp的telnet服务
运行cmd,输入指令services.msc
选中telnet启用
Kali向Winxp发起telnet请求检测telnet是否能连接
在攻击机上运行指令
sudo netwox 76 -i 192.168.200.5 -p 23
Wireshark上面查看结果:
可以看出大量向Winxp23端口的syn请求报文占用资源,此时用Kali再向Winxp发起telnet请求
可以看出在SYN攻击时Winxp拒绝了telnet服务,关闭了攻击机的SYN攻击指令之后,telnet连接又恢复了正常,攻击成功
2.4 TCP RST攻击
首先Kali向Winxp建立telnet连接,然后攻击机输入指令
sudo netwox 78 -i 192.168.200.5
可以看出telnet连接中断,攻击成功
2.5 TCP会话劫持攻击
攻击机安装ettercap
输入指令
sudo apt-get install ettercap-graphical
输入指令
sudo ettercap -G
运行ettercap图形界面
然后开始,软后选择host -> scan for hosts,host -> hosts list
然后查看主机列表,将Kali记为目标1
将Winxp记为目标2
然后Kali向Winxp发起telnet连接,同时在右上角查看connection,选择其中带有账号密码的报文查看
实验数据表明,在中间人攻击得手的前提下,明文传输协议将导致会话机密性彻底丧失。攻击者不仅能实施全量窃听,更具备注入恶意载荷以操纵交互流程的能力。这从实证角度证明,生产环境必须全面禁用Telnet等明文协议,并强制迁移至SSH等具备端到端加密机制的替代方案。
三、学习中遇到的问题
与实验三相同,由于Kali无法稳定的ping通外部网站,我选择Seedlab-Ubuntu作为攻击机,这样解决了访问外网的问题,其余实验无困难点
四、实验总结
本次实验让我对TCP/IP网络协议在真实攻击场景下的脆弱性有了新的认识。
在ARP与ICMP的实验中,我清晰地看到,网络设备对协议报文的无条件信任构成了巨大的安全盲区。而在SYN Flood与TCP RST攻击尝试中,TCP协议连接管理的精巧设计,恰恰也成为其被利用的关键弱点。最令人警醒的,莫过于TCP会话劫持——当通信以明文进行时,所有指令、密码、数据在攻击者面前如同摊开的书本,一览无余。
整个实践下来,我收获的不仅是对攻击技术的直观认知,更是一种思维方式的转变:安全的起点,是理解不安全的根源。只有真正清楚协议可能被如何利用,我们才能在设计、部署、运维中做出更有针对性的防御——无论是全面启用加密通道,还是在网络架构中植入零信任的基因,或是为关键服务部署纵深防护体系。这已不仅是技术选择,更是现代网络运维必须持有的安全素养。

浙公网安备 33010602011771号