20252910 2025-2026-2《网络攻防实践》第4次作业
20252910 2025-2026-2《网络攻防实践》第4次作业
1、实验内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
ARP 缓存欺骗攻击:ARP 协议负责 IP 与 MAC 地址解析,协议本身无身份认证机制,主机默认信任所有 ARP 应答。攻击者可主动发送伪造 ARP 响应包,篡改目标主机或网关的 ARP 缓存表,将网关 MAC 指向攻击机,实现流量劫持、中间人监听或断网攻击。该攻击仅在局域网有效,危害在于隐蔽性强、易实施。
ICMP 重定向攻击:ICMP 重定向报文用于优化路由,主机收到后会自动更新路由表。攻击者伪造 ICMP 重定向消息,欺骗目标主机修改默认路由,将流量转发至恶意节点,实现流量窃听、会话劫持或网络阻断。攻击利用了系统对路由报文缺乏校验的缺陷,影响主机路由策略。
SYN Flood 攻击:基于 TCP 三次握手缺陷,攻击者发送大量伪造源 IP 的 SYN 连接请求,服务器回复 SYN+ACK 后等待 ACK 应答,形成大量半连接队列,占用内存与端口资源,最终无法响应正常请求,造成拒绝服务。属于典型的传输层 DoS 攻击,破坏力强、防御难度中等。
TCP RST 攻击:TCP 通过 RST 标志位强制异常断开连接。攻击者监听通信流量,获取正确序列号与确认号后,伪造携带 RST 标志的 TCP 数据包,目标主机校验通过后立即关闭连接,实现通信中断。可用于切断 FTP、Telnet、HTTP 等会话,攻击成本低、见效快。
TCP 会话劫持攻击:在建立 TCP 连接后,攻击者通过嗅探获取会话序列号,伪造合法 TCP 报文,发送恶意数据或 RST 报文,抢占合法会话控制权,实现身份冒充、数据篡改与命令执行。常与 ARP 欺骗配合使用,可直接窃取登录状态、执行敏感操作。
本次实验使用之前搭建的攻防环境:Kali 作为攻击机(192.168.200.6),Metasploitable 作为靶机(192.168.200.130),SEED Ubuntu(192.168.200.4)和 Win2K(192.168.200.131)作为辅助实验机。所有攻击均在隔离的实验网络中进行。
2、实验过程
2.1 环境准备
- 记录所有设备的核心信息:
| 虚拟机 | 角色 | 信息 | 所属网络 |
|---|---|---|---|
| Kali | 攻击机 | IP 地址:192.168.200.6 MAC 地址:00:0c:29:3e:f7:30 | VMnet8 |
| SEED Ubuntu | 实验机 | IP 地址:192.168.200.4 MAC 地址:00:0c:29:14:e9:a4 | VMnet8 |
| Metasploitable | 靶机 | IP 地址:192.168.200.130 MAC 地址:00:0c:29:c3:29:c5 | VMnet1 |
| Win2K | 靶机 | IP 地址:192.168.200.131 MAC 地址:00:0C:29:5B:3F:A4 | VMnet1 |
- Kali 安装必备攻击工具
执行以下命令一键安装实验所需工具:
sudo apt update && sudo apt install -y netwox netwag wireshark ettercap-graphical hping3 dsniff
2.2 任务1 ARP缓存欺骗攻击
2.2.1 验证靶机连通性
打开 Metaspolitable 终端,执行以下命令,确保能正常 ping 通 Win2kServer:
ping 192.168.200.131

2.2.2 查看初始 ARP 缓存
Metaspolitable 终端执行以下命令,可看到 192.168.200.131 对应的 MAC 是 Win2kServer 的真实 MAC(00:0c:29:5B:3F:A4):
arp -a

2.2.3 Kali 执行 ARP 欺骗命令
修改kali为VMnet1模式
执行以下命令设置IP地址:
sudo ifconfig eth0 192.168.200.132 netmask 255.255.255.0 up
mac地址为:00:0c:29:3e:f7:30
Kali 终端直接执行:
sudo netwox 80 -e 00:0c:29:3e:f7:30 -i 192.168.200.131

2.2.4 验证攻击效果
回到 Metaspolitable 终端:
再次执行 ping 192.168.200.131,会出现 100% 丢包,无法 ping 通。

再次执行 arp -a,会发现 192.168.200.131 对应的 MAC 地址变成了 Kali 的 MAC(00:0c:29:3e:f7:30),攻击成功。

2.3 ICMP 重定向攻击
本次实验将 seed 当作靶机,Kali 作为攻击机。
2.3.1 验证靶机外网连通性
打开seed虚拟机终端,输入命令route -n,查看seed虚拟机的网关为192.168.200.2
seed 的 终端执行 ping baidu.com,确保能正常 ping 通外网。

2.3.2 Kali 执行 ICMP 重定向攻击命令
Kali 终端直接复制执行:
sudo netwox 86 -f "host 192.168.200.4" -g 192.168.200.6 -i 192.168.200.2
2.3.3 验证攻击效果
回到 seed 的 终端,再次执行 ping baidu.com。

发现目标IP被重定向到Kali攻击机的IP地址
2.4 SYN Flood 攻击
2.4.1 准备
-
打开Kali自带的Wireshark工具,选择eth0网卡
-
在SEED上输入命令luit -encoding gbk telnet bbs.mysmth.net访问清华bbs服务

2.4.2 Kali 执行攻击命令
sudo netwox 76 -i 192.168.200.4 -p 23

2.4.3 验证攻击效果
Wireshark 可见大量目标为 192.168.200.4 的 SYN 包,这表明SEED正在遭受SYN Flood攻击。


2.5 TCP RST 攻击
2.5.1 靶机重新建立 Telnet 连接
打开 seed的,再次执行以下命令,连接 Telnet 服务,出现登录界面后保持窗口不要关闭:
luit -encoding gbk telnet bbs.mysmth.net
2.5.2 Kali 执行攻击命令
sudo netwox 78 -i 192.168.200.4
2.5.3 验证攻击效果
回到seed的 Telnet 窗口,会立刻弹出 Connection closed by foreign host.,连接被强制断开;
查看 Wireshark,能看到 Kali 向靶机发送的带 RST 标志位的 TCP 包,攻击成功


2.6 TCP 会话劫持攻击
2.6.1 Kali 启动 Ettercap
启动kali虚拟机自带的Ettercap,选择eth0网卡,开始嗅探

2.6.2 扫描局域网主机
点击scan for hosts开始扫描网络中的主机,并查看扫描出来的主机

2.6.3 设置攻击目标
- 选中 192.168.200.4 点击「Add to Target 1」;
- 选中 192.168.200.120,点击「Add to Target 2」;
- 启动 ARP 中毒:顶部菜单栏点击「Mitm」→「ARP poisoning」,勾选「Sniff remote connections」,点击 OK 启动

2.6.4 查看会话连接
顶部菜单栏点击「View」→「Connections」,打开连接列表。

2.6.5 验证劫持效果
打开 seed的,再次执行以下命令,连接 Telnet 服务,出现登录界面后保持窗口不要关闭:
luit -encoding gbk telnet bbs.mysmth.net

回到 Kali 的 Ettercap,双击对应的 Telnet 连接,打开「Connection data」窗口,就能看到明文传输的用户名和密码 guest,劫持成功。

3、实验中遇到的问题
- 在做 ARP 缓存欺骗攻击时,由于不了解原理,我觉得攻击机和靶机之间能ping通就可以做,kali在VMnet8下,靶机在VMnet1下。执行攻击命令之后,靶机之间仍然可以ping通。所以攻击没有效果
解决办法:将kali放在VMnet1下,并执行以下命令设置IP地址:
sudo ifconfig eth0 192.168.200.132 netmask 255.255.255.0 up
原理:
ARP 是二层广播协议,只在同一个虚拟交换机(同一个 VMnet) 内有效。
VMnet1 和 VMnet8 是两个隔离的二层网络,ARP 包过不去。
- 能 ping 通 → 说明三层路由通了
- ARP 欺骗无效 → 因为二层不通
2.在做第ICMP 重定向攻击重定向攻击时,我的虚拟机在NAT模式下一直连不上外网,一直找问题找了一个小时才找到答案。
原因是:在做第一次实验室我是按照女生的视频来做的,后来通知说女生做的有错误,然后当时把实验1修改了,但是在修改过程中对于NAT的网关忘记修改了还是192.168.200.1,但是对第一个实现的测试没有影响(因为仅仅是内网验证)。

原理:VMware NAT 模式下,192.168.200.1是宿主机 VMnet8 虚拟网卡的 IP(仅负责内网通信,无转发功能),192.168.200.2是 VMware NAT 服务的网关 IP(负责外网转发),虚拟机必须用.2当网关才能上网,用.1会导致流量无法转发、外网不通。
解决方案:修改网关为192.168.200.2
4、学习感悟与思考
通过本次 TCP/IP 协议攻击实验,我直观认识到网络协议在设计之初更注重效率而非安全,缺乏认证、校验等防护机制,才给了 ARP 欺骗、ICMP 重定向、SYN Flood 等攻击可乘之机。每一种攻击都精准利用了协议本身的缺陷,也让我明白通信可靠不等于通信安全。实验也让我体会到攻防对抗的本质:攻击是发现漏洞、利用漏洞,防御则是补齐协议短板、加固配置、建立监控体系。今后在学习网络安全时,既要理解协议原理,也要建立攻防思维,才能真正做到知其然、知其所以然

浙公网安备 33010602011771号