实验四 TCP/IP网络协议攻击
实验四 TCP/IP 网络协议攻击实验报告
一、实验目的
- 理解 TCP/IP 协议栈中重点协议的工作原理及其安全隐患。
- 掌握 ARP 缓存欺骗攻击、ICMP 重定向攻击、SYN Flood 攻击、TCP RST 攻击和 TCP 会话劫持攻击的基本原理。
- 熟悉网络攻防实验环境的配置方法及常用工具的基本使用方法。
- 通过实验观察典型网络攻击对通信安全的影响,加深对网络安全防护必要性的认识。
二、实验内容
本实验在网络攻防实验环境中,针对 TCP/IP 协议栈中的重点协议安全问题,完成了以下五项攻击实验:
-
ARP 缓存欺骗攻击
通过伪造 ARP 应答报文,篡改目标主机的 ARP 缓存表,使受害主机将攻击者主机误认为网关或通信对端,从而实现流量转发、监听或中间人攻击。 -
ICMP 重定向攻击
通过构造伪造的 ICMP Redirect 报文,诱导目标主机修改路由信息,使其将数据包发送到攻击者指定的路径,从而实现流量劫持或通信干扰。 -
SYN Flood 攻击
利用 TCP 三次握手机制,向目标主机持续发送大量 SYN 请求报文,占用服务器半连接队列资源,导致正常用户无法建立连接,从而造成拒绝服务。 -
TCP RST 攻击
在已建立的 TCP 连接中,伪造 RST 复位报文发送给通信一方或双方,使当前连接被异常中断,影响正常数据传输。 -
TCP 会话劫持攻击
通过监听并分析 TCP 会话中的关键参数,伪造合法主机发送数据报文,插入或篡改会话内容,从而实现对通信过程的干扰和控制。
通过以上实验,掌握了 TCP/IP 协议栈中典型攻击方式的基本原理及其对网络通信安全的影响。
三、知识点与设备信息
-
ARP 协议与 ARP 缓存机制
了解 ARP 协议用于完成 IP 地址与 MAC 地址之间的映射,掌握 ARP 缓存表的作用,以及 ARP 报文缺乏认证机制所带来的安全隐患。 -
ICMP 协议与路由重定向原理
掌握 ICMP Redirect 报文的作用,理解主机接收到重定向报文后会修改路由选择,以及伪造 ICMP 重定向报文可能造成的路由欺骗问题。 -
TCP 三次握手过程
理解 TCP 建立连接时的三次握手过程,掌握 SYN、ACK 等标志位的含义,以及半连接状态的基本概念。 -
SYN Flood 拒绝服务原理
理解攻击者通过发送大量 SYN 请求,占用目标主机半连接队列资源,导致合法用户无法正常建立连接的原理。 -
TCP RST 报文与连接复位机制
掌握 TCP RST 报文的作用,理解伪造 RST 报文可以强制中断已经建立的 TCP 连接。 -
TCP 会话劫持原理
理解 TCP 会话劫持需要基于对会话信息的监听与分析,掌握序列号、确认号、源端口、目的端口等关键参数在会话控制中的作用。 -
常用网络攻击工具的基本使用
了解netwox、wireshark、ettercap等工具在网络攻击实验中的用途,掌握抓包、过滤报文和分析攻击效果的基本方法。 -
实验网络环境配置知识
掌握实验中 IP 地址、MAC 地址、默认网关、网段划分等网络基础知识,理解攻击机、靶机和网关在实验环境中的作用。
| 虚拟机名称 | IP 地址 | MAC 地址 | 默认网关地址 | 所属网段 | 实验用途说明 |
|---|---|---|---|---|---|
| SEED Ubuntu(靶机) | 192.168.200.2 | 00:0c:29:57:73:42 | 192.168.200.1 | 192.168.200.0/25 | 实验主用靶机 |
| Metasploitable(靶机) | 192.168.200.5 | 00:0c:29:39:a4:36 | 192.168.200.1 | 192.168.200.0/25 | 实验主用靶机 |
| Kali Linux(攻击机) | 192.168.200.6 | 00:0c:29:99:81:95 | 192.168.200.1 | 192.168.200.0/25 | 实验攻击机 |
| WinXPattacker(测试机) | 192.168.200.4 | 00:0c:29:2d:21:ce | 192.168.200.1 | 192.168.200.0/25 | 部分实验测试主机 |
| VMware NAT 网关 | 192.168.200.1 | 00:50:56:f8:c3:51 | 无 | 192.168.200.0/25 | 默认网关 |
四、实验过程
(一)ARP 缓存欺骗攻击实验
1. 实验准备
将三台实验主机的网卡均设置为 VMnet8 网络模式,保证主机位于同一局域网中。

实验中主要涉及以下主机:
- Metasploitable靶机

- Win2K测试主机

- Kali Linux 攻击机

首先测试设备之间的网络连通性,在Meta->win2k靶机中执行:
ping 192.168.200.7

随后在目标主机中查看初始 ARP 缓存表:
arp -a

可以看到目标 IP 地址对应的真实 MAC 地址为00:0c:29:02:d2:c3。
2. 安装攻击工具
在 Kali Linux 中安装实验所需工具:
sudo apt update
sudo apt install -y netwox netwag wireshark ettercap-graphical hping3 dsniff

3. 发起 ARP 欺骗攻击
在 Kali 攻击机中执行以下命令:
sudo netwox 80 -e 00:0c:29:99:81:95 -i 192.168.200.7

4. 攻击结果验证
在meta靶机终端执行以下命令:
ping 192.168.200.7
arp -a

验证结果表明,目标主机中 192.168.200.7 对应的 MAC 地址被篡改为 Kali 的 MAC 地址 00:0c:29:99:81:95,同时网络通信出现异常,说明 ARP 缓存欺骗攻击成功。
5. 实验结论
ARP 协议缺乏有效的身份认证机制,攻击者可以伪造 ARP 应答报文修改目标主机的 ARP 缓存表,从而实现流量劫持或中间人攻击。
(二)ICMP 重定向攻击实验
1. 实验准备
首先验证靶机是否能够正常访问外网,例如执行:
ping baidu.com

然后确认目标主机默认网关为:
192.168.200.1

2. 发起 ICMP 重定向攻击
在 Kali 攻击机中执行以下命令:
sudo netwox 86 -f "host 192.168.200.4" -g 192.168.200.3 -i 192.168.200.1

3. 攻击结果验证
在 WinXP 主机中执行:
ping 8.8.8.8

然后输入以下命令查看路由表:
route print

可以观察到目标主机的路由信息已发生变化,说明 ICMP 重定向攻击成功。
4. 实验结论
ICMP Redirect 报文可用于修改主机的路由选择。若主机对该类报文校验不足,攻击者即可伪造重定向报文,诱导目标主机修改路由路径,从而实现流量干扰或劫持。
(三)SYN Flood 攻击实验
1. 实验准备
在 Kali 上启动 Wireshark,选择对应的eth0网卡接口进行抓包。

在 WinXP 主机中打开 FileZilla Server,确保 21 端口处于监听状态。

随后在本地建立 FTP 的 TCP 连接:
telnet 127.0.0.1 21

在 Wireshark 顶部过滤器中输入:
tcp.flags.syn == 1

2. 发起 SYN Flood 攻击
在 Kali 攻击机中执行以下命令:
sudo netwox 76 -i 192.168.200.4 -p 21
参数说明:
-i 192.168.200.4:指定攻击目标为 WinXP 靶机-p 21:指定攻击目标端口为 FTP 服务端口 21

3. 攻击结果验证
在攻击过程中,Wireshark 中会捕获到大量发往 192.168.200.4:21 的 SYN 报文,表明攻击流量已经成功发送。

与此同时,WinXP 上原本建立的连接会被强制中断,并提示:
Connection closed by foreign host.

此外,还可执行以下命令进一步确认目标主机网络状态:
ping 192.168.200.4
netstat -an | findstr 21


结果表明目标主机服务仍在监听,但连接资源被大量占用。
4. 实验结论
SYN Flood 攻击利用 TCP 三次握手过程中服务器会为半连接分配资源的特性,通过持续发送大量 SYN 报文耗尽目标资源,从而影响正常用户建立连接,属于典型的拒绝服务攻击。
(四)TCP RST 攻击实验
1. 实验准备
保持 WinXP 主机上的 FileZilla Server 正常运行,并重新建立 TCP 连接。
2. 发起 TCP RST 攻击
在 Kali 攻击机中执行以下命令:
sudo netwox 78 -i 192.168.200.4

3. 攻击结果验证
攻击发起后,WinXP 主机上的 TCP 连接被强制断开。

在 Wireshark 中输入过滤器:
tcp.flags.reset == 1

可以观察到大量带有 RST 标志位的 TCP 报文,说明攻击者已成功伪造复位报文,中断现有会话连接。
4. 实验结论
TCP RST 报文用于异常情况下强制终止连接。当攻击者能够伪造符合条件的 RST 报文时,可使正常通信连接被异常中断,从而影响数据传输的连续性和可靠性。
(五)TCP 会话劫持攻击实验
1. 实验准备
在 Kali 中启动 Ettercap,选择对应网卡接口:

2. 设置攻击目标
在 Ettercap 中设置攻击目标,将通信双方设为目标主机,使 Kali 攻击机能够截获并转发数据流量。

随后在菜单中选择:
Mitm -> ARP poisoning -> OK
开启中间人攻击。

3. 发起会话劫持
在 WinXP 主机中执行:
telnet 192.168.200.5
并完成登录操作。

4. 攻击结果验证
在 Kali 的 Ettercap 界面中,可以观察到会话中的敏感信息,包括账号和密码等内容,说明攻击者已经成功截获并劫持通信会话。


5. 实验结论
TCP 会话劫持攻击依赖对通信过程的监听和参数分析。攻击者通过获取会话中的关键数据,如源地址、目的地址、端口号、序列号等,可伪造合法主机发送数据,从而实现信息窃取和会话控制。
五、实验上遇到的问题
本实验中遇到的主要问题是:虚拟机虽然均处于 VMnet8 网络环境下,并使用相同网关,但在访问外网时仍然无法正常连通。为解决该问题,在虚拟机中额外添加了一块桥接模式网卡。增加桥接网卡后,主机能够正常访问外部网络,并成功 ping 通外部服务器,从而保证了后续实验的顺利进行。
通过这一问题的处理,也进一步认识到虚拟网络环境中 NAT 模式、桥接模式以及多网卡配置对网络连通性的影响。
六、心得体会
通过本次实验,我对 TCP/IP 协议栈中常见攻击方式有了更直观的认识,进一步理解了 ARP、ICMP 和 TCP 等协议的工作原理及其安全隐患。通过实际完成 ARP 缓存欺骗、ICMP 重定向、SYN Flood、TCP RST 和 TCP 会话劫持实验,我不仅掌握了这些攻击的基本原理和实现过程,也更加深刻地认识到网络协议在缺乏认证与保护机制时容易被攻击者利用。实验过程中,我提高了抓包分析、问题定位和动手实践能力,也增强了自己的网络安全意识。总体来说,这次实验让我把课堂中的理论知识和实际操作结合起来,加深了对网络攻防技术的理解,也为今后进一步学习网络安全相关知识打下了基础。
七、致谢
在本次实验报告的完成过程中,我得到了王老师的指导和帮助,使我能够顺利完成实验内容并加深对相关知识的理解。在实验操作和报告撰写过程中,同学们也给予了我一定的帮助和交流支持。在此,向指导老师和帮助过我的同学表示衷心的感谢。同时,也感谢学校和实验平台为本次实验提供了良好的学习与实践环境,使我能够将理论知识与实际操作相结合,进一步提升自己的专业能力。
八、参考资料
[1] 谢希仁.《计算机网络(第 8 版)》
https://www.phei.com.cn/module/goods/wssd_content.jsp?bookid=58234
[2] W. Richard Stevens.《TCP/IP 详解 卷 1:协议》
https://www.cmpbook.com/
[3] Wireshark User’s Guide
https://www.wireshark.org/docs/wsug_html_chunked/
[4] RFC 826: An Ethernet Address Resolution Protocol
https://www.rfc-editor.org/rfc/rfc826.html
[5] RFC 792: Internet Control Message Protocol
https://www.rfc-editor.org/rfc/rfc792
[6] RFC 791: Internet Protocol
https://www.rfc-editor.org/rfc/rfc791
[7] RFC 793: Transmission Control Protocol
https://www.rfc-editor.org/rfc/rfc793.html
浙公网安备 33010602011771号