20252804 2025-2026-2 《网络攻防实践》实践四报告
目录
1.实践内容
--1.1ARP缓存欺骗攻击
--1.2 ICMP重定向攻击
--1.3 SYN Flood攻击
--1.4 TCP RST攻击
--1.5 TCP会话劫持攻击
2.实践过程
--2.1ARP缓存欺骗攻击
--2.2 ICMP重定向攻击
--2.3 SYN Flood攻击
--2.4 TCP RST攻击
--2.5 TCP会话劫持攻击
3.学习中遇到的问题及解决
4.实践总结
1.实践内容
任务:
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.1 ARP缓存欺骗攻击
利用ARP无身份验证漏洞,攻击者伪造ARP应答包,篡改靶机/网关的IP-MAC缓存,成为中间人,实现流量嗅探、劫持、断网。
1.2 ICMP重定向攻击
伪造网关的ICMP Type5重定向报文,欺骗主机修改本地路由表,把上网流量引流到攻击者主机,劫持监听全网流量。
1.3 SYN Flood攻击
利用TCP三次握手半连接队列漏洞,发送大量虚假源IP的SYN包,服务端回SYN+ACK后收不到ACK,半连接资源耗尽,合法用户无法接入,造成拒绝服务。
1.4 TCP RST攻击
监听抓取正常TCP会话的四元组+序列号,伪造带RST标志的TCP包,强制断开已建立的合法连接,导致掉线、业务中断。
1.5 TCP会话劫持攻击
先通过ARP欺骗做中间人,嗅探TCP流量并获取SEQ/ACK,伪造注入恶意TCP数据包,接管已登录合法会话,操控通信、窃取权限。
2.实践过程
在开始具体攻击实验前,先将网络适配器都设置成VMnet8(NAT模式)
检查确认各个虚拟机的IP地址和MAC地址
| 虚拟机 | IP | Mac地址 |
|---|---|---|
| WinXPattacker | 192.168.200.2 | 00:0c:29:9f:7f:93 |
| kali-linux-2025.4-vmware-amd64 | 192.168.200.3 | 00:0c:29:85:15:9f |
| SEEDUbuntu9_August_2010 | 192.168.200.5 | 00:0C:29:06:4e:27 |
| Metasploitable_ubuntu | 192.168.200.130 | 00:0C:29:62:44:cc |
| Win2kServer_SP0_target | 192.168.200.131 | 00:0C:29:06:6f:01 |





2.1 ARP缓存欺骗攻击
本次实验使用三台机器,kali-linux-2025.4-vmware-amd64作为攻击机,其他两台机器作为正常通信的机器(靶机1:Win2kServer_SP0_target,靶机2:Metasploitable_ubuntu)。
①使用ping命令查看虚拟机Metasploitable_ubuntu与Win2kServer_SP0_target的连通性,可以确认是连通的
ping 192.168.200.131
ping 192.168.200.130


②在Metasploitable_ubuntu中查看当前的ARP缓存信息。
由于刚刚Metasploitable_ubuntu与Win2kServer_SP0_target实现了ping通,所以存有win2k的arp缓存信息,可以确认输出的MAC地址是Win2kServer_SP0_target的MAC地址
arp -a

③在kali-linux-2025.4-vmware-amd64虚拟机中安装netwox工具包。并且修改ARP缓存信息,将win2k的IP地址指向kali的MAC地址进行ARP缓存欺骗。
sudo apt install netwox
netwox 80 -e 00:0c:29:9f:7f:93 1 -i 192.168.200.131


④Win2kServer_SP0_target显示IP地址错误

⑤查看Metasploitable_ubuntu上arp表,已经不再是原来的MAC地址了,可以判定已经攻击成功

2.2 ICMP重定向攻击
本次实验使用两台机器,kali-linux-2025.4-vmware-amd64作为攻击机,SEEDUbuntu9_August_2010作为靶机。
①查看SEEDUbuntu9_August_2010默认网关为192.168.200.1

②kali-linux-2025.4-vmware-amd64输入指令,使得目标主机的所有外网流量,都会先发送到kaili(192.168.200.3),而不是真实网关,实现流量劫持、监听、断网。
sudo netwox 86 -f "host 192.168.200.5" -g 192.168.200.3 -i 192.168.200.1

③SEEDUbuntu9_August_2010虚拟机ping百度网站,发现网关地址确实被替换为攻击机IP地址
ping baidu.com

2.3 SYN Flood攻击
本次实验使用三台机器,kali-linux-2025.4-vmware-amd64作为攻击机,其他两台机器作为正常通信的机器(靶机1:WinXPattacker,靶机2:SEEDUbuntu9_August_2010)。
①在SEED中远程登陆WinXPattacker,输入以及命令及用户名和密码
telnet 192.168.200.2

②netwox是SEED Ubuntu渗透测试环境默认预装的网络工具集,其中编号76的工具就是专门用于SYN Flood攻击的模块。输入以下命令:
sudo netwox 76 -i 192.168.200.2 -p 23

③使用Wireshark抓包,可看到大量从随机源IP发往靶机 23 端口的SYN包,靶机回 SYN+ACK后无后续 ACK,符合SYN Flood特征。

2.4 TCP RST攻击
本次实验使用三台机器,kali-linux-2025.4-vmware-amd64作为攻击机,其他两台机器作为正常通信的机器(靶机1:WinXPattacker,靶机2:SEEDUbuntu9_August_2010)。
①在SEED中远程登陆WinXPattacker,输入以及命令及用户名和密码
telnet 192.168.200.2

②自动嗅探 192.168.200.2 上的所有TCP连接,自动获取正确序列号,自动伪造 RST 包,自动切断连接。输入以下命令:
sudo netwox 78 -i 192.168.200.2

③再次输入telnet 192.168.200.2,发现连接被强制关闭,显示 Connection closed by foreign host。

2.5 TCP会话劫持攻击
本次实验使用三台机器,kali-linux-2025.4-vmware-amd64作为攻击机,其他两台机器作为正常通信的机器(靶机1:WinXPattacker,靶机2:SEEDUbuntu9_August_2010)。
①在kali中输入指令并点击右上角的对号,选择Hosts--Scan for hosts开始扫描,再点击Hosts-Hosts list查看列表
sudo ettercap -G

②右键SEED的IP地址192.168.200.5,选择Add to Target 1。右键WinXPattacker的IP地址192.168.200.2,选择Add to Target 2。

③点击小地球图标并选择ARP poisoning,选择Sniff remote connections点击ok。

④在SEED中远程登陆WinXPattacker,输入以及命令及用户名和密码
telnet 192.168.200.2

⑤在Connections中可以看到建立的telnet连接,可以清晰看到登录的用户名、密码和命令。


3.学习中遇到的问题及解决
-
问题1:在SEEDUbuntu9_August_2010中可以成功ping通WinXPattacker,但不能远程登陆
-
![image]()
-
问题1解决方案:输入netstat -ano | findstr LISTENING命令发现WinXPattacker并未开启23端口,因此要手动启用WinXPattacker的telnet服务。点击「开始」→「运行」,输入 services.msc 回车,打开服务列表。将启动类型从「禁用」改为「手动」或「自动」。点击「启动」按钮,启动服务。
-
![image]()
-
![image]()
4.实践总结
本次实验完成ARP缓存欺骗、ICMP重定向、SYN Flood、TCP RST及TCP会话劫持五项攻击。实验前验证设备连通性,熟悉netwox等工具用法。ARP欺骗篡改靶机ARP缓存实现流量拦截;ICMP重定向欺骗靶机修改路由;SYN Flood通过耗尽半连接队列阻断23端口;TCP RST用netwox 78模块强制断连Telnet;TCP会话劫持伪造数据包接管连接。实验验证了TCP/IP协议缺陷,掌握了攻击原理与操作,也明确了相应防御思路,提升了网络攻防实操能力。



浙公网安备 33010602011771号