20252810 2025-2026-2 《网络攻防实践》实践四报告
20252810 2025-2026-2 《网络攻防实践》实践四报告
一、实践内容
本次实验围绕 TCP/IP 协议栈中几个核心协议的安全漏洞,,并依次完成了以下五项攻击实验:
-
1.ARP 缓存欺骗攻击
利用 ARP 协议无认证的缺陷,攻击者伪造 ARP 响应,将目标主机的 IP 与攻击者的 MAC 地址绑定,使流量被重定向到攻击者,实现中间人劫持。 -
2.ICMP 重定向攻击
攻击者伪造 ICMP 重定向报文,告知目标主机存在更优的网关(实际为攻击者),从而诱导目标将后续流量发往攻击者,达到流量劫持或拒绝服务的目的。 -
3.SYN Flood 攻击
攻击者向目标服务器发送大量伪造源 IP 的 SYN 请求,但不完成三次握手,使服务器维护大量半连接,占满连接队列,导致无法响应正常用户的连接请求,属于拒绝服务攻击。 -
4.TCP RST 攻击
攻击者通过嗅探获取合法 TCP 连接的序列号等信息,伪造 RST 报文发送给通信一方,强制中断该 TCP 连接,常用于切断特定会话或破坏通信。 -
5.TCP 会话劫持攻击
攻击者在合法通信双方建立连接后,通过猜测或嗅探获得序列号,向会话中注入恶意数据或替代一方通信,从而劫持控制权,实现未经授权的操作。
二、实践过程
1.ARP缓存欺骗攻击
本次实验使用三台机器,kali作为攻击机,其他两台机器作为正常通信的机器。开始前,三台虚拟机(Kali、WinXPattacker、SEEDUbuntu)网络适配器都需要设置成VMnet8(NAT模式)并查看三台虚拟机的IP地址和MAC地址。



| 主机 | IP地址 | MAC地址 |
|---|---|---|
| Kali | 192.168.200.2 | 00:0c:29:8c:9b:50 |
| WinXPattacker | 192.168.200.3 | 00:0c:29:c6:98:6e |
| SEEDUbuntu | 192.168.200.5 | 00:0c:29:df:ed:cb |
在SEEDUbuntu中输入ping 192.168.200.3(WinXPattacker地址)

使用 arp -a 查看arp缓存表,WinXPattacker的IP地址和MAC地址是对应的

输入sudo netwox 80 -e 00:0c:29:8c:9b:50 -i 192.168.200.3(mac地址是kali的,IP是WinXPattacker的)
注意:netwox需要下载,在弹出Do you want to install it? (N/y)填写y,若下载失败有可能是因为网络问题

无输出,保持当前终端窗口(让它继续运行)打开另一个终端窗口,执行:
sudo tcpdump -n arp

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

在Kali上使用Wireshark进行捕获。(我的实验在下载netwox时中断了一下,WinXPattacker的IP后面变成192.168.200.7了所以我们这里看的是192.168.200.7)

2.ICMP重定向攻击
在SEEDUbuntu中输入route -n,网关为192.168.200.1

在终端 ping baidu.com,得到相关结果

在Kali主机上执行命令 sudo netwox 86 -f "host 192.168.200.9" -g 192.168.200.2 -i 192.168.200.1

可以看到其访问百度的数据包已经被重定向到Kali,数据包来源变为192.168.200.1

3.SYN Flood攻击
WinXPattacker的IP地址

在SEED中输入telnet 192.168.200.8以及用户名和密码

在Kali上输入udo netwox 76 -i 192.168.200.8 -p 23(利用netwox的76号工具对靶机的23号端口进行SYN Flood攻击)

在Kali中用Wireshark捕包,可以看到攻击机向靶机发送了大量的虚假IP发出的SYN连接请求。

4、TCP RST攻击
在SEED中输入telnet 192.168.200.8以及用户名和密码(WinXPattacker的IP地址)

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

返回SEED再次输入telnet 192.168.200.8,发现连接被强制关闭

5.TCP会话劫持攻击
在kali中输入
sudo ettercap -G,并点击右上角的对号

下面这个截图中的命令会因权限不足操作失败,建议大家输入sudo ettercap -G

点击三个点,并选择Hosts--Scan for hosts开始扫描

再点击Hosts-Hosts list查看列表

把SEED设置为目标1(这里我的SEED地址变成了192.168.200.11),选择Add to Target 1

将WinXPattacker设置为目标2,选择Add to Target 1

点击小地球图标并点击图中的红框

点击ok

点击View - Connections查看数据。

在SEED中输入telnet 192.168.200.8以及用户名和密码

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

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

三、学习中遇到的问题及解决
- 问题1:在靶机SEEDUbuntu端输入telnet 192.168.200.8,无法得到预期结果;
- 问题1解决方案:192.168.200.8的telent未启用
![image]()
- 问题2:总会有权限不足的报错
- 问题2解决方案:在相关命令前边加上一个sudo
四、学习感想和体会
通过本次实验,我深刻体会到 TCP/IP 协议在设计之初对安全性的考虑不足,信任机制成为攻击的突破口。实践让我直观理解了各攻击的原理与危害,也认识到仅靠协议本身难以防御,必须结合加密、认证、网络层防护等多重手段。动手操作不仅巩固了理论知识,更让我意识到安全建设必须贯穿网络设计、部署和维护的全过程。

浙公网安备 33010602011771号