20251913 2025-2026-2 《网络攻防实践》 第4次作业
1.实践内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
-
ARP缓存欺骗攻击:ARP的作用是将 IP 地址映射为物理 MAC 地址,该协议本身无身份验证机制。攻击者利用这一缺陷,向目标主机或网关发送伪造的 ARP 应答包,篡改目标主机 ARP 缓存表中网关的 IP-MAC 映射关系,或篡改网关 ARP 缓存表中目标主机的映射关系。
-
ICMP重定向攻击:ICMP 重定向报文是网关向主机发送的 “路由优化” 通知,告知主机存在更优的下一跳路由。攻击者伪造 ICMP 重定向报文,发送给目标主机,篡改目标主机的路由表。
-
SYN Flood攻击:属于拒绝服务攻击(DoS)的典型类型,利用 TCP 三次握手的漏洞发起攻击。攻击者向目标服务器发送大量伪造源 IP 的TCP SYN 请求包,服务器收到后会回复 SYN+ACK 包,并为该半连接分配资源(如半连接队列、内存),但伪造的源 IP 无法回复 ACK 包,导致服务器的半连接资源被大量占用。
-
TCP RST攻击:TCP RST 报文是用于强制关闭 TCP 连接的控制报文,接收方收到 RST 报文后会立即终止当前连接。攻击者通过嗅探获取目标主机与其他主机的 TCP 连接参数(如源 IP、目的 IP、源端口、目的端口、序列号),然后伪造带有合法参数的 RST 报文发送给目标主机或通信对端。
-
TCP会话劫持攻击:攻击者通过嗅探获取目标主机与服务器的合法 TCP 会话参数(如序列号、确认号、端口号),然后伪造目标主机的身份向服务器发送 TCP 数据报文,或伪造服务器的身份向目标主机发送报文,从而接管整个 TCP 会话,无需进行身份验证。
2.实践过程
2.1 ARP缓存欺骗攻击
1、选取KALI作为攻击机,选取Metasploitable和SEED作为正常通信机。将三台虚拟机改为net 8模式,查看三台虚拟机的IP。
| 名称 | IP地址 | MAC地址 |
|---|---|---|
| kali | 192.168.200.4 | 00:0c:29:e3:44:e2 |
| Metasploitable | 192.168.200.6 | 00:0c:29:80:d6:56 |
| SEED | 192.168.200.5 | 00:0c:29:55:c6:76 |
通过ifconfig查看kali的ip和mac

通过ifconfig查看seed的ip和mac

在meta终端先输入sudo su进入root模式,再使用dhclient eth0对ip地址重新分配,最后使用ifconfig eth0指令来检查重新分配的ip

2、用SEED ping 192.168.200.6进行正常通信过程,得到arp缓存表

使用 arp -a 查看arp缓存表

在SEED中输入route -n,查看到网关为192.168.200.1

3、在kali机上安装netwox并执行下面的命令
安装netwox,使用指令sudo apt install netwox -y --fix-missing

输入netwox,在红框中按键盘上的 0 然后按 回车 → 回到命令行。

运行命令
while true; do sudo netwox 33 -d eth0 -a 00:0c:29:e3:44:e2 -b 00:0c:29:55:c6:76 -e 2 -g 192.168.200.6 -h 00:0c:29:e3:44:e2 -i 192.168.200.5 sleep 0.1 done

在SEED中再次使用 arp -a 查看ARP映射,可以看到欺骗成功

4、在KALI上执行下面的命令,使得META的arp缓存表中SEED的MAC地址也为KALI的MAC地址
netwox 80 -e 00:0c:29:e3:44:e2 -i 192.168.200.5
再通过arp -a可以看到SEED的MAC地址已经发生了改变

5、在SEED上 ping META,再打开KALI上的wireshark进行抓包,可以看到此时SEED发给Meta的ICMP数据包已经被KALI截取到了

2.2 ICMP重定向攻击
1、在KALI上执行下面的命令
sudo netwox 86 -f "host 192.168.200.5" -g 192.168.200.4 -i 192.168.200.1

2、访问百度的数据包已经被重定向到Kali,数据包来源为192.168.200.1

2.3 SYN Flood攻击
1、在KALI上通过下面的命令对META进行SYN Flood攻击
sudo netwox 76 -i 192.168.200.6 -p 23

2、在SEED上登陆meta

3、打开wireshark,发现有大量的虚假IP发出的SYN连接请求

2.4 TCP RST攻击
1、在SEED上登陆meta

2、在KALI上通过下面的命令对META进行TCP RST攻击
sudo netwox 78 -i 192.168.200.6

3、在SEED中再次输入 telnet 192.168.200.6 访问meta,发现连接被强制关闭

2.5 TCP会话劫持攻击
1、在kali中输入sudo ettercap -G打开图形化界面进行操作,点击右上方√开始

2、使用host中的scan for host开始扫描

3、再点击hosts list查看列表


4、将SEED设置为目标1,将Meta设置为目标2

5、选择MITM Attack: ARP Poisoning,点击ok


6、查看connections中的数据

7、可以看到SEED与META的telnet成功连接的内容,包括输入的用户名和密码。

3.学习中遇到的问题及解决
- 问题1:seed ping不通meta
- 问题1解决方案:把ip都修改到一个网段就好了;
- 问题2:kali中未安装netwox
- 问题2解决方案:使用命令
udo apt install netwox -y --fix-missing进行安装,并用netwox进入交互式模式,使用netwox; - 问题3:改为net8模式后,meta的ip地址未发生改变
- 问题3解决方案:使用指令
dhclient eth0强制 eth0 网卡重新申请 IP,再用ifconfig eth0检查重新分配的IP;
4.实践总结
本次实验成功完成了五种TCP/IP协议栈重点协议的攻击实验,通过实践验证了各攻击的原理,明确了TCP/IP协议栈在设计上的安全缺陷:ARP协议缺乏身份验证、ICMP重定向报文缺乏信任机制、TCP三次握手存在半连接资源消耗漏洞、TCP会话参数可被嗅探伪造。这些缺陷均源于协议设计之初“优先保证互联互通,忽视安全防护”的理念,也正是这些缺陷为网络攻击提供了可乘之机。
通过本次实验,我不仅掌握了典型网络攻击的实施方法和原理,更深刻理解了“协议安全是网络安全的基础”这一核心思想。TCP/IP协议栈作为互联网的核心协议,其安全缺陷直接影响整个网络的安全性,后续我将进一步学习协议的底层实现细节,深入研究更复杂的网络攻击技术,同时重点学习网络防护策略的设计与实现,提升自身的网络安全素养。
本次实验也存在一些不足,例如对攻击工具的用法掌握不够熟练,对协议缺陷的深层原因分析不够深入,后续将通过更多实践,弥补这些不足,努力将理论知识与实践操作结合起来,为应对实际网络安全问题积累经验。

浙公网安备 33010602011771号