20252813 2025-2026-2 《网络攻防实践》第4次作业
1.实践内容
本周的学习重点在于深入理解 TCP/IP 协议栈的安全缺陷。由于 TCP/IP 协议族在设计初期更多地考虑了效率与互通性,缺乏完善的身份验证机制,导致在链路层、网络层和传输层存在多种攻击可能。
本次实践主要在虚拟化网络攻防实验环境中,通过对以下五种典型攻击方式的演练,掌握其原理及防御思路:
- ARP 缓存欺骗攻击:利用 ARP 协议不验证应答的缺陷,欺骗目标主机建立错误的 MAC 地址映射。
- ICMP 重定向攻击:伪造路由器的重定向报文,强制目标流量经由攻击者控制的节点。
- SYN Flood 攻击:利用 TCP 三次握手协议的半连接资源限制,造成目标服务器拒绝服务。
- TCP RST 攻击:通过伪造标志位为 RST 的 TCP 报文,强制中断已建立的合法连接。
- TCP 会话劫持攻击:在已建立的 TCP 连接中,通过预测序列号插入恶意数据,接管通信会话。
2.实践过程
修改网络并重新启用
vim /etc/network/interfaces
sudo systemctl restart networking,

Kali-Linux(攻击机)Ping靶机

Metasploitable-Linux(靶机)IP

Win2kServer(靶机)IP

2.1 ARP 缓存欺骗攻击
环境说明:攻击者 A (Kali), 目标机 B (Win/Linux), 网关 C。
-
在Metasploitable-Linux上ping 192.168.200.131,并查看
arp -a
![image]()
![image]()
-
安装工具:在Kali虚拟机中安装netwox,使用命令
apt install netwox
![image]()
-
执行欺骗:在 Kali 上使用
sudo netwox 80 -e 00:0c:29:e6:a3:58 1 -i 192.168.200.131进行双向欺骗。
将Win2kServer的MAC地址伪造成kali攻击机的MAC的地址
![image]()
-
结果验证:在Metasploitable-Linux 上运行
arp -a查看Win2kServer MAC 是否已变为Kali的 MAC。
![image]()
显示已经修改成功
2.2 ICMP 重定向攻击
环境说明:利用 netwox 工具集。
-
Kali Linux 从 VMnet1(仅主机模式) 更改为VMnet8(NAT模式,自动获取IP)
![image]()
-
修改kali配置
sudo vim /etc/network/interfaces
![image]()
-
修改 eth0 改为 DHCP
auto eth0 iface eth0 inet dhcp
![image]()
再执行sudo systemctl restart networking重新获取 IP -
查看Ubuntu的IP地址为192.168.200.4,执行
route -n查看网关为192.168.200.1
![image]()
![image]()
-
ping baidu.com 可知IP地址为110.242.68.66
![image]()
-
在Kali虚拟机中执行
netwox 86 -f "host 192.168.200.4" -g 192.168.200.6 -i 192.168.200.1
![image]()
-
在Ubuntu执行
ping baidu.com发现新的下一跳,地址为192.168.200.6(kali的IP地址),说明重定向成功
![image]()
2.3 SYN Flood 攻击
- 更改Metasploitable-Linux(靶机)的ip地址,Metasploitable(Linux 靶机)调整到 VMnet8(NAT模式),并设置DHCP
![image]()
![image]()
![image]()
删除旧的静态 IP 设置sudo vim /etc/rc.local


删除ifconfig eth0 192.168.200.130 netmask 255.255.255.128 route add default gw 192.168.200.1
修改rc.local
#!/bin/sh -e
# rc.local
exit 0
重启虚拟机,检查 IP 地址ip a show eth0可以IP地址变成了192.168.200.5

-
Ubuntu telnet Metasploitable-Linux靶机
![image]()
-
在Kali中打开Wireshark,选择eth0网卡,执行
ip addr == 192.168.200.5
![image]()
-
Kali执行
netwox 76 -i 192.168.200.5 -p 23进行SYN Flood攻击
![image]()
可以看到许多目的地址为192.168.200.5且发送地址随机的SYN数据包
2.4 TCP RST 攻击
- Ubuntu telnet MetaSploitable
telnet 192.168.200.5
![image]()
Kali对靶机发起TCP RST攻击
netwox 78 -i 192.168.200.5

- 再次用Ubuntu telnet MetaSploitable,发现不能访问
![image]()
2.5 TCP 会话劫持攻击
环境说明:使用 Ettercap 工具进行中间人攻击及注入。
- 在Kali上执行
ettercap -G,点击右上角的accept,再点击”…”-“hosts”-“Scan for hosts”,开始扫描网络中的主机
![image]()
![image]()
点击“…”-“Hosts”-“Hosts list”,查看扫描出来的主机

选择SEED主机,添加到Target1中;选择Linux靶机,添加到Target2中

打开MITM Menu->ARP poisoning,点击OK


查看连接

- Ubuntu telnet Metasploitable
telnet 192.168.200.5
![image]()
在kali上查看嗅探到的信息

可以看到攻击机与靶机之间传输的数据,包括账号、密码以及登录状态记录

3.学习中遇到的问题及解决
- 问题1:执行 ARP 欺骗后,目标机无法上网。
- 解决方案:检查并发现未开启 Kali 虚拟机的内核 IP 转发功能。执行
echo 1 > /proc/sys/net/ipv4/ip_forward后恢复正常。 - 问题2:SYN Flood 攻击对现代操作系统效果不明显。
- 解决方案:查阅资料发现现代系统默认开启了
Syncookies防护。为了实验效果,在测试机中临时通过sysctl -w net.ipv4.tcp_syncookies=0关闭了该功能。 - 问题3:TCP 会话劫持难以手动计算序列号。
- 解决方案:放弃纯手动构造,改用
Ettercap的内置插件和脚本功能,通过自动化工具同步序列号,提高了实验成功率。
4.实践总结
通过本次实验,我从底层协议的角度重新审视了网络安全。ARP 欺骗和 ICMP 重定向展示了链路层和网络层缺乏鉴权的脆弱性;而 SYN Flood 和会话劫持则揭示了 TCP 状态机在处理连接时的设计局限。
在实验过程中,我深刻体会到“知其然更要知其所以然”。仅仅使用工具是不够的,必须通过 Wireshark 抓包分析每一个标志位(Flags)和序列号的变化,才能理解攻击的精髓。同时,我也认识到部署静态 ARP 绑定、防火墙过滤和使用加密协议(如 HTTPS/SSH)在实际防御中的重要性。

























浙公网安备 33010602011771号