20252805 2025-2026-2 《网络攻防实践》第4次作业 实践四 TCP/IP网络协议攻击

1.实践内容

本次实验在隔离网络实验环境中,利用netwox和Ettercap等工具完成TCP/IP协议攻击实验:

  • ARP缓存欺骗(netwox 80)伪造网关MAC,实现中间人劫持。
  • ICMP重定向(netwox 86)伪造路由,篡改主机路由表。
  • SYNFlood(netwox 76)向目标23端口发送大量SYN包,耗尽半连接资源。
  • TCP RST攻击(netwox 78)持续发送伪造RST包,中断目标所有TCP连接。
  • TCP会话劫持(Ettercap -G)结合ARP欺骗进行流量嗅探与数据注入。

2.实验过程

2.1 ARP缓存欺骗攻击

(2.1使用虚拟机kali2022、Metasploitable_ubuntu、Win2kServer_SP0_target和蜜网honey)
首先,在Win2kServer_SP0_targetpingWin2kServer_SP0_target(记得打开蜜网honey)
QQ20260408-214144
在Windows中输入指令arp -a
查到MAC地址如下
QQ20260408-214157
如下图,确实是ubuntu的MAC地址
QQ20260410-230756
然后在kali中安装netwox工具包

sudo apt install netwox

QQ20260408-171107
然后输入指令

sudo netwox 80 -e 00:0c:29:55:57:98 1 -i 192.168.200.123

这个指令的意思是使用netwox工具进行ARP缓存欺骗攻击。受害者192.168.200.123会更新自己的ARP缓存,认为网关192.168.200.1的MAC地址变成了攻击者的MAC地址00:0c:29:55:57:98。
QQ20260410-231640
如图所示,在Windows中输入指令arp -a查询,发现MAC地址已经变成kali的MAC地址了
QQ20260408-214230
QQ20260408-163744

2.2 ICMP重定向攻击

(2.2使用虚拟机kali2022和SEEDUbuntu9_August_2010)
输入指令

ip route

查询,发现SEED的IP地址是192.168.200.3,默认网关192.168.200.1
QQ20260408-220636
然后输入指令

sudo netwox 86 -f "host 192.168.200.3" -g 192.168.200.6 -i 192.168.200.1

指令效果:当192.168.200.3与外部通信时,攻击者192.168.200.6会伪装成真实网关192.168.200.1,向受害者发送ICMP重定向报文。
QQ20260411-002139
如图,SEED虚拟机ping百度baidu.com,发现网关地址已经被替换为攻击机kali的IP地址192.168.200.6
QQ20260408-221241

2.3 SYN Flood攻击

(2.3使用虚拟机kali2022、WinXPattacker和SEEDUbuntu9_August_2010)
在WinXP中输入ipconfig,确认WinXP的IP地址为192.168.200.2
QQ20260408-221925
接着,在SEED虚拟机输入telnet 192.168.200.2
然后输入账号administrator,密码mima1234,连接WinXP
QQ20260409-150947
输入指令

sudo netwox 76 -i 192.168.200.2 -p 23

攻击者向192.168.200.2的23端口发送大量SYN包,且通常伪造源IP地址;受害者收到SYN后,会为每个连接分配半开连接资源(SYN_RCVD 状态),并等待ACK完成三次握手。由于攻击者不会回复ACK,受害者的半连接队列很快被填满,导致无法响应合法用户的Telnet连接请求,造成拒绝服务。
QQ20260411-002209
在kali中打开Wireshark,可看到大量从随机IP发往WinXP的23端口的SYN包,靶机回SYN+ACK后无后续ACK,符合SYN Flood特征。
QQ20260409-224858

2.4 TCP RST攻击

(2.4使用虚拟机kali2022、WinXPattacker和SEEDUbuntu9_August_2010)
如2.3,在SEED虚拟机输入telnet 192.168.200.2(WinXP的IP地址)
然后输入

sudo netwox 78 -i 192.168.200.2

它会伪造并向目标主机192.168.200.2持续发送TCP重置(RST)报文,强制断开该主机上所有已建立的TCP连接。
QQ20260409-224221
效果如下,直接中断SEED与WinXP的连接
QQ20260409-224255

2.5 TCP会话劫持攻击

(2.5使用虚拟机kali2022、WinXPattacker和SEEDUbuntu9_August_2010)
首先输入sudo ettercap -G,然后点击右上角的对号,如图所示查看扫描列表
bug图
QQ20260410-093222
右键192.168.200.3(SEED的IP地址),选择Add to Target 1
右键192.168.200.2(WinXP的IP地址),选择Add to Target 2
QQ20260410-093326
QQ20260410-093338
QQ20260410-093408
然后依图照做
QQ20260410-093554
同样,如2.3、2.4,在SEED虚拟机输入telnet 192.168.200.2(WinXP的IP地址)
能够在Connections中可以看到建立的telnet连接,可以清晰看到登录的用户名、密码和命令
QQ20260410-093939
QQ20260410-094002

3.学习中遇到的问题及解决

问题1:在SEEDUbuntu9_August_2010中可以成功ping通WinXPattacker,但不能远程登陆
问题1解决方案:
在WinXP中输入

netstat -ano | findstr LISTENING

QQ20260408-223131
发现WinXPattacker并未开启23端口,因此要手动启用WinXPattacker的telnet服务
如图所示,按下win+r,然后输入services.msc,打开服务列表
QQ20260408-224436
Telnet项显示“已禁用”,右键“属性”打开
QQ20260408-224736
将“启动类型”改为“自动”,然后点击“应用”
QQ20260408-224801
问题解决!

4.学习感想和体会

通过本次实验,我深入理解了TCP/IP协议栈的设计缺陷:ARP无认证、ICMP盲目信任、TCP资源管理脆弱等。亲身体验ARP欺骗、ICMP重定向、SYN Flood、发送RST中断连接,以及用ettercap完成会话劫持,让我直观感受到协议漏洞被恶意利用的过程。实验不仅锻炼了攻防实操能力,更让我意识到网络安全“三分技术,七分管理”的本质——任何协议设计都需兼顾安全与效率,而防御的关键在于纵深部署与持续监控。

posted @ 2026-04-11 00:09  rtgdzfgsrhtbzf  阅读(20)  评论(0)    收藏  举报