# 20251914 2025-2026-2 《网络攻防实践》实践四报告
20251914 2025-2026-2 《网络攻防实践》实践四报告
1.实践内容
- ARP缓存欺骗攻击:攻击者伪造 ARP 报文,冒充网关或其他主机,让目标设备把数据发给攻击者,从而实现监听、篡改、阻断通信。
- ICMP重定向攻击:攻击者发送伪造的 ICMP 重定向报文,诱骗目标主机修改路由表,将流量指向攻击者控制的路径,实现流量劫持与监听。
- SYN Flood攻击:攻击者发送大量伪造源 IP 的 TCP 半连接请求(SYN 包),耗尽目标主机连接资源,使其无法正常提供服务。
- TCP RST攻击:攻击者伪造 TCP 复位报文(RST),强制中断已建立的合法 TCP 连接,实现通信阻断
- TCP会话劫持攻击:攻击者通过嗅探、猜测 TCP 序列号,冒充通信双方身份接管 TCP 会话,实现数据篡改、指令伪造或信息窃取。
2.实践过程
1.ARP缓存欺骗攻击
1.用kali作为攻击机,Metasploitable和SEED作为靶机。将三台虚拟机改为桥接模式后,查看三台虚拟机的IP。
2.使用ifconfig查看kali的ip和mac地址,ip地址是192.168.43.142,mac地址是00:0c:29:b7:a0:04

3.使用ifconfig查看Metasploitable的ip和mac地址,ip地址是192.168.43.195,mac地址是00:0c:29:42:26:21

4.使用ifconfig查看SEED的ip和mac地址,ip地址是192.168.43.37,mac地址是02:42:a1:54:7a:4e

5.seed ping Metasploitable

6.通过arp -a可以看出映射正确

7.kali机上执行下面的命令netwox 80 -e 00:0c:29:b7:a0:04 -i 192.168.43.195

8.重新在seed上面arp -a,发现映射已经改变

9.在KALI上执行下面的命令,使得META的arp缓存表改变netwox 80 -e 00:0c:29:b7:a0:04 -i 192.168.43.37

10.用meta进行arp -a,可以看到SEED的MAC地址已经发生了改变

11.用seed ping Metasploitable,再使用kali里的wireshark进行抓包,可以看到此时SEED发给Meta的ICMP数据包已经被KALI截取到了

2.ICMP重定向攻击
1.在SEED中使用命令ping baidu.com,打开wireshark抓取ICMP数据包

2.在kali执行下面的命令netwox 86 -f "host 192.168.43.37" -g 142.43.168.192 -i 192.168.43.1,注意:这里kali的ip地址是反过来的,原因在问题3解决方案中有说明

3.SEED上可以看到新的下一跳已经被修改为了KALI的地址

4.kali抓到了重定向数据包

3.SYN Flood攻击
1.在KALI上通过下面的命令对META进行SYN Flood攻击
netwox 76 -i 192.168.43.195 -p 23

2.从wireshark可以看到,kali正在大量发包

4.TCP RST攻击
1.在SEED上向META发起登录,输入用户名和密码
telnet 192.168.43.195

2.在KALI上通过下面的命令对META进行TCP RST攻击
netwox 78 -i 192.168.43.195

3.通过wireshark可以看到KALI向META发送了带RST标志的TCP数据包

5.TCP会话劫持攻击
1.在09 - Sniffing & Spoofing找到ettercap并打开

2.通过host->scan for host扫描主机

3.查看扫描到的主机

4.选择SEED设置为目标1,选择META设置为目标2

5.打开MITM Menu->ARP poisoning,单击OK

6.在SEED上向META发起登录
telnet 192.168.43.195

7.通过ettercap menu->view->connections查看连接

8.可以看到SEED与META的telnet成功连接的内容

3.学习中遇到的问题及解决
- 问题1:kali中未安装netwox
- 问题1解决方案:运行以下命令进行安装:sudo apt install netwox -y
- 问题2:在icmp重定向攻击时,seed版本太高,防御重定向攻击
- 问题2解决方案:在seed主机里输入下列命令
sudo sysctl -w net.ipv4.conf.all.accept_redirects=1
sudo sysctl -w net.ipv4.conf.default.accept_redirects=1
sudo sysctl -w net.ipv4.conf.ens33.accept_redirects=1 - 问题3:seed的下一跳不是kali的ip地址,而是反过来的
- 问题3解决方案:使用netwox构造 ICMP 重定向包时,工具没有正确地将 IP 地址从“主机字节序”转换成“网络字节序”。解决方法是故意把 Kali 的 IP 反着写。
- 问题4:ettercap嗅探没反应
- 问题4解决方案:使用 Root 权限。
4.实践总结
在这次实验中,我学到了计算机科学中一个非常经典的坑:大端序(Big-Endian)与小端序(Little-Endian)。主机字节序(小端序): 现代大多数计算机(比如基于 x86 架构的 Intel/AMD 芯片)在内存中存储数据时,习惯把数据的“低位”放在前面,这叫小端序。就像是把数字 1234 存成 4321。而网络字节序(大端序): 互联网 TCP/IP 协议规定,网络传输时必须遵守大端序,也就是按照人类阅读的习惯,从高位到低位依次传输。使用低版本netwox构造 ICMP 重定向包时,工具不会正确地将 IP 地址从“主机字节序”转换成“网络字节序”。

浙公网安备 33010602011771号