20252821 2025-2026-2 《网络攻防实践》第4周作业
20252821 2025-2026-2 《网络攻防实践》第4周作业、
1.实践内容
(1)ARP缓存欺骗攻击 (ARP Spoofing)
- 知识点:ARP协议的无状态、无认证缺陷;局域网内通信基于MAC地址;中间人攻击模型。
- 原理:
ARP协议用于将IP地址解析为MAC地址,但主机在处理ARP回复时,不会验证请求的真实性,并且会无条件信任并更新自己的ARP缓存表。
攻击者在局域网内发送伪造的ARP回复包。例如,告诉受害者主机“网关的IP地址对应攻击者的MAC地址”,同时告诉网关“受害者的IP地址也对应攻击者的MAC地址”。这样,受害者与网关之间的流量都会被强制发给攻击者,攻击者再转发出去,从而实现中间人监听、篡改或断网。
(2)ICMP重定向攻击 (ICMP Redirect Attack)
- 知识点:ICMP协议的控制功能;主机路由表的动态更新机制;路由优化与安全矛盾。
- 原理:
ICMP重定向报文原本用于路由器告诉主机“存在更优的下一跳网关”。主机收到合法的重定向报文后,会静默地修改自己的路由表。
攻击者在同一子网内,伪造网关IP向受害者发送ICMP重定向报文,声称“发往某个网络(如外网)的流量,应该走攻击者主机这个‘更好的路由器’”。如果受害者内核允许接受ICMP重定向(默认开启),就会修改路由表,后续流量被劫持至攻击者,形成中间人攻击。
(3)SYN Flood攻击 (SYN Flood Attack)
- 知识点:TCP三次握手状态;半连接队列(SYN Queue);资源耗尽型DoS攻击。
- 原理:
TCP建立连接时,服务器收到SYN会分配资源并进入SYN_RCVD状态,等待ACK完成握手。
攻击者伪造大量不存在的源IP地址,向目标服务器发送SYN请求。服务器为每个请求分配资源并回复SYN+ACK,但永远等不到最后的ACK,导致这些连接一直处于半连接状态。当半连接队列被占满后,服务器将无法处理任何新的合法TCP连接请求,从而拒绝服务。
(4)TCP RST攻击 (TCP Reset Attack)
- 知识点:TCP连接管理;RST标志位用于异常终止;会话劫持与阻断。
- 原理:
在TCP协议中,任何一方收到一个不期望的、但序列号在窗口内的RST(重置)包,会立即终止该连接。
攻击者通过嗅探或猜测,获取目标TCP连接的源IP、目的IP、端口及当前序列号范围,然后伪造一方(如服务器)发送一个RST包给另一方(如客户端)。只要伪造包的序列号落在当前窗口内,客户端就会强制关闭连接。常用于快速切断目标连接,例如阻断SSH或FTP会话。
(5)TCP会话劫持攻击 (TCP Session Hijacking)
- 知识点:TCP序列号预测;数据包注入;会话认证依赖于连接四元组。
- 原理:
一旦TCP连接建立,通信双方仅通过IP地址、端口和序列号来识别数据包归属。如果攻击者能猜中或截获合法的序列号,就可以伪装成通信的一方。
攻击者通常先进行ARP欺骗建立中间人位置,被动监听并记录通信双方的序列号变化规律。当客户端暂停发送数据时,攻击者伪造客户端IP和端口,并填入正确的下一个序列号,向服务器发送恶意数据(如“删除文件”命令)。服务器会认为这是合法请求并执行,而真正的客户端后续会收到序列号错乱的数据包而断开。
2.实践过程
2.1实验配置
Seed虚拟机的IP地址为192.168.200.4,mac地址为00:0c:29:39:8d:35。

kali虚拟机的IP地址为192.168.200.3,mac地址为00:0c:29🇩🇪d3:9d。

win2000虚拟机的IP地址为192.168.200.124,mac地址为00:0c:29:08:7d:f7

Metasploitable虚拟机的IP地址为192.168.200.123,mac地址为00:0c:29:d3:1c:0f

2.2 ARP缓存欺骗攻击

通过截图可以看到,Metasploitable和win2k之间是可以凭通的

通过指令arp -a可以查询查看当前的ARP缓存信息,可以看到,输出的MAC地址与win2k的MAC地址相吻合

kali虚拟机输入命令apt install netwox安装netwox工具包

在kali虚拟机中使用命令修改arp缓存信息,将win2k的IP地址指向kali的MAC地址进行ARP缓存欺骗
点击查看代码
netwox 80 -e 00:0c:29:de:d3:9d(kali的mac地址) 1 -i 192.168.200.124(win2k的ip地址),

通过Metasploitable虚拟机ping靶机win2k发现已经无法ping通

输入命令arp -a查看ARP缓存信息发现MAC地址已被替换
2.3 ICMP重定向攻击

在seed虚拟机中,输入指令route -n,得到seed虚拟机的网关为192.168.200.2

ping baidu.com发现IP地址为110.242.74.102,且可以ping通

在kali虚拟机中输入以下指令
点击查看代码
netwox 86 -f “host 192.168.200.4”(SEED IP地址) -g 192.168.200.3(kali IP地址) -i 192.168.200.2(SEED网关)

在SEED虚拟机继续ping baidu.com,发现目标IP被重定向到Kali攻击机的IP地址
2.4 SYN Flood攻击

在Kali虚拟机自打开Wireshark,选择eth0

在SEED上输入指令luit -encoding gbk telnet bbs.mysmth.net访问清华bbs服务器



2.5 TCP RST攻击

在SEED上输入指令luit -encoding gbk telnet bbs.mysmth.net访问清华bbs服务器

在kali虚拟机输入指令netwox 78 -i 192.168.200.4(SEED靶机IP地址)

断开连接

通过wireshark查看TCP包,发现攻击机向靶机发送了RST包
2.6 TCP会话劫持攻击

在kali虚拟机中打开Ettercap,选择eth0

点击搜索开始扫描网络中的主机,并查看扫描出来的主机

将192.168.200.4设置为target1,将192.168.200.120设置为target 2


(由于没有注册官网账号,使用游客登录,所以无法获取账号密码)
3.学习中遇到的问题及解决
(1)seed虚拟机一直网络延迟

(2)kali虚拟机一直没权限

(3)Ettercap不太会使用

4.实践总结
通过本次实验,我深刻体会到TCP/IP协议栈在设计时对“信任”与“效率”的侧重,恰恰成了其安全短板。ARP欺骗让我明白局域网内身份验证的缺失;ICMP重定向则揭示了路由协议可被恶意利用;SYN Flood展示了资源耗尽型攻击的威力;TCP RST和会话劫持则警示我们,看似可靠的连接也可能被轻易伪造与篡改。实践出真知,亲手攻击让我对协议细节有了刻骨铭心的理解。安全不能建立在默认信任之上,必须引入加密、认证等机制。这场“以攻促防”的演练,极大提升了我对网络安全防护的认知。
浙公网安备 33010602011771号