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 传输层

  1. SYN Flood 攻击原理

利用 TCP 三次握手 缺陷:攻击者发送大量伪造源 IP 的 SYN 握手请求包,服务器回复 SYN+ACK 后等待 ACK 却永远收不到,导致半连接队列被占满,无法处理正常连接,造成拒绝服务(DoS)

  1. TCP RST 攻击原理

RST 表示强制复位断开连接。攻击者嗅探到 TCP 会话的序列号,伪造携带 RST 标志的数据包发给通信双方,接收方会认为连接异常并立即中断连接,从而切断正常通信。

  1. 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缓存表

image

2.1.3 查看arp缓存表

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

image

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

运行命令

image

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

image

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

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

image

2.2.3 访问外网

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

image

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
image
image

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;

image

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

image

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

image

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

image

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

image

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

image
image

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打开图形化界面进行操作,并点击右上角对号开始

image

进入此界面

image

点击Hosts - Scan for hosts开始扫描

image
image

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

image
image

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

image
image

点击View - Connections查看数据

image

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

image

在Connections中可以看到建立的telnet连接

进一步点击后可以看到登录使用的用户名、密码和命令

image
image

3 总结与收获

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

posted @ 2026-04-08 16:45  yan7752  阅读(15)  评论(0)    收藏  举报