20253911 2025-2026-2《网络攻防实践》第四周作业
20253911 2025-2026-2《网络攻防实践》第四周作业
1.实验内容
1.1 实验要求
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.2 知识点总结与梳理
1.2.1 arp
将已知的 IP 地址解析成对应的 MAC 地址,让数据包能在局域网内准确找到目标设备,完成数据传输。常被看作数据链路层(二层)与网络层(三层)之间的协议
1.2.2 ICMP协议
网络控制报文协议,主要用于网络探测、错误报告与状态反馈,比如 ping 命令、路由不可达提示、超时通知等。作用在网络层(三层),依附于 IP 协议工作。
1.2.3 传输层
- SYN Flood 攻击原理
利用 TCP 三次握手 缺陷:攻击者发送大量伪造源 IP 的 SYN 握手请求包,服务器回复 SYN+ACK 后等待 ACK 却永远收不到,导致半连接队列被占满,无法处理正常连接,造成拒绝服务(DoS)。
- TCP RST 攻击原理
RST 表示强制复位断开连接。攻击者嗅探到 TCP 会话的序列号,伪造携带 RST 标志的数据包发给通信双方,接收方会认为连接异常并立即中断连接,从而切断正常通信。
- TCP 会话劫持攻击原理
攻击者先嗅探获取 TCP 会话的序列号与确认号,然后伪造一方的数据包发送给另一方,成功后接管已建立的 TCP 会话,冒充合法用户执行操作,实现身份冒用与数据篡改。
2.实验过程
2.1 ARP缓存欺骗攻击
2.1.1 查看ip和mac地址
我在这个实验里使用三台机器,kali, SEEDUbuntu和Metasploitable_ubuntu,其中kali为攻击机,SEEDUbuntu为靶机1,Metasploitable_ubuntu为靶机2,在开始实验前先,要确定网络适配器是NAT模式,并查看三台主机的ip地址和MAC地址
| 模式 | 虚拟网卡 | 网络特性 | 能否做 ARP 欺骗 | 安全性 |
|---|---|---|---|---|
| 桥接 (Bridge) | VMnet0 | 虚拟机直接 “挂” 在物理网,与真机 / 物理设备同网段 | ✅ 能 | ❌ 危险(攻击会扩散到真实局域网) |
| NAT | VMnet8 | 独立虚拟子网,内部互通;通过主机 NAT 上网 | ✅ 能(首选) | ✅ 安全(隔离) |
| 仅主机 (Host-Only) | VMnet1 | 仅虚拟机↔主机互通,不能上外网 | ✅ 能 | ✅ 安全(但断外网) |
| 设备 | IP 地址 | MAC 地址 |
|---|---|---|
| Kali | 192.168.20.129 | 00:0c:29:6d:e4:28 |
| SEEDUbuntu | 192.168.20.128 | 00:0c:29:5d:7c:58 |
| Metasploitable_ubuntu | 192.168.20.131 | 00:0c:29:c3:db:f8 |
由于我在实验二重置了网络适配器,Metasploitable_ubuntu在ifconfig时读取到的子网掩码是错的,需要重启网络
sudo /etc/init.d/networking restart 或
sudo service networking restart
2.1.2 SEEDUbuntu ping Metasploitable_ubuntu
在SEEDUbuntu中输入指令 ping 192.168.20.131 ,即靶机 Metasploitable_ubuntu的IP,得到arp缓存表

2.1.3 查看arp缓存表
使用 arp -a 查看arp缓存表,可以看到靶机Metasploitable_ubuntu的IP地址和MAC地址是对应的

2.1.4 arp缓存欺骗攻击
在 Kali 上用循环命令反复发送欺骗包,持续覆盖真实 ARP 刷新
while true; do
sudo netwox 33 -d eth0 -a 00:0c:29:6d:e4:28 -b 00:0c:29:5d:7c:58 -e 2 -g 192.168.20.131 -h 00:0c:29:6d:e4:28 -i 192.168.20.128
sleep 0.5
done
使用 sudo apt update && sudo apt install -y netwox 安装netwox
运行命令

在SEEDUbuntu中再次使用 arp -a 查看ARP映射,可以看到欺骗成功,192.168.20.131的mac地址变成了kali的mac地址

在Kali上使用Wireshark进行捕获,过滤arp包

2.2 ICMP重定向攻击
2.2.1 查看ip和mac地址
我在这个实验里使用两台机器,kali, SEEDUbuntu,其中kali为攻击机,SEEDUbuntu为靶机 ,并查看两台主机的ip地址和MAC地址
| 设备 | IP 地址 | MAC 地址 |
|---|---|---|
| Kali | 192.168.20.129 | 00:0c:29:6d:e4:28 |
| SEEDUbuntu | 192.168.20.128 | 00:0c:29:5d:7c:58 |
2.2.2 查看网关
在SEEDUbuntu中输入route -n,查看到网关为192.168.20.2

2.2.3 访问外网
在终端 ping baidu.com,SEEDUbuntu可以直接访问外网

2.2.4 ICMP重定向
在kali上执行命令sudo netwox 86 -f "host 192.168.20.128" -g 192.168.20.129 -i 192.168.20.2
netwox 86:ARP 欺骗(中间人)
-f "host 192.168.20.128":只欺骗 SEEDUbuntu
-g 192.168.20.129:攻击机是 Kali
-i 192.168.20.2:冒充网关 192.168.20.2


2.3 SYN Flood攻击
2.3.1 查看ip
Metasploitable_ubuntu的IP地址:192.168.20.131
2.3.2 SYN Flood攻击
我在本次实验中选择利用SEEDUbuntu向靶机Metasploitable_ubuntu发起telnet服务访问,用Kali攻击机攻击靶机的telnet服务端口,并用Wireshark查看。
1.使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 ,telnet 192.168.20.131(Metasploitable_ubuntu的IP地址),输入Metasploitable_ubuntu的用户名及密码:msfadmin;

2、在Kali上利用netwox的76号工具对靶机的23号端口进行SYN Flood攻击 sudo netwox 76 -i 192.168.20.131 -p 23

在Kali中用重新打开终端,利用sudo wireshark抓包,可以看到攻击机向靶机发送了大量的虚假IP发出的SYN连接请求

2.4 TCP RST攻击
我在这次实验中选择利用SEEDUbuntu向靶机Metasploitable_ubuntu发起telnet服务访问,用Kali攻击机对靶机发起TCP RST攻击
1、使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 ,telnet 192.168.20.131 (Metasploitable_ubuntu的IP地址),输入Metasploitable2-Linux的用户名及密码:msfadmin

2、在Kali上利用netwox的78号工具对靶机进行TCP RST攻击 sudo netwox 78 -i 192.168.20.131

3、回到刚才SEEDUbuntu的登陆界面,在SEEDUbuntu中连接被强制关闭,再次输入 telnet 192.168.20.131 访问Metasploitable_ubuntu,发现连接被强制关闭


2.5 TCP会话劫持攻击
| 设备 | IP 地址 | MAC 地址 |
|---|---|---|
| Kali | 192.168.20.129 | 00:0c:29:6d:e4:28 |
| SEEDUbuntu | 192.168.20.128 | 00:0c:29:5d:7c:58 |
| Metasploitable_ubuntu | 192.168.20.131 | 00:0c:29:c3:db:f8 |
我在这次实验使用ettercap工具,在kali中输入sudo ettercap -G打开图形化界面进行操作,并点击右上角对号开始

进入此界面

点击Hosts - Scan for hosts开始扫描


再点击Hosts - Hosts list查看列表并将SEEDUbuntu设置为目标1,将Metasploitable_ubuntu设置为目标2


点击MITM Menu - ARP poisoning,然后点击OK


点击View - Connections查看数据

使用SEEDUbuntu向Metasploitable_ubuntu发起登陆 telnet 192.168.20.131 (Metasploitable_ubuntu的IP地址),输入Metasploitable_ubuntu的用户名及密码:msfadmin

在Connections中可以看到建立的telnet连接
进一步点击后可以看到登录使用的用户名、密码和命令


3 总结与收获
本周通过完成ARP欺骗、ICMP重定向、SYN Flood、TCP RST和TCP会话劫持实验,我直观理解了TCP/IP协议的常见安全缺陷,掌握了netwox、Ettercap、Wireshark等工具的基本使用,能独立完成攻击复现与流量分析。 了解到ARP 协议无身份验证机制,仅通过广播 / 单播交互即可篡改主机 ARP 缓存,理解了 “中间人攻击” 的核心前提;ICMP 重定向报文可被伪造,使主机被动修改路由表,意识到网络层 “信任网关 / 路由提示” 的安全风险;深入掌握 TCP 三次握手的细节,明确 SYN Flood 利用 “半连接队列耗尽”、TCP RST 利用 “序列号可预测性”、会话劫持利用 “已建立会话的参数复用” 的攻击本质,彻底打通 “协议流程 - 攻击切入点 - 防御逻辑” 的关联。
浙公网安备 33010602011771号