简单的ARP欺骗与Dos攻击
简单的ARP欺骗与Dos攻击
ARP欺骗
1.什么是ARP
- 地址解析协议(Address Resolution Protocol),用于将 IP 地址转换为物理地址(MAC 地址)。
- 在局域网中,当一台主机要与另一台主机通信时,它需要知道对方的 MAC 地址。主机首先会在自己的 ARP 缓存表中查找,如果没有找到,就会发送一个 ARP 请求广播,询问对应 IP 地址的 MAC 地址。目标主机收到请求后,会发送一个 ARP 响应,告知自己的 MAC 地址
2.ARP欺骗原理
- 冒充目标主机:攻击者发送伪造的 ARP 响应包,将自己的 MAC 地址与目标主机的 IP 地址绑定,发送给局域网内的其他主机。这样,其他主机就会误认为攻击者的 MAC 地址是目标主机的 MAC 地址,从而将数据发送给攻击者。
- 冒充网关:攻击者也可以冒充网关,向局域网内的主机发送 ARP 响应,告知自己是网关的 MAC 地址。这样,主机发送到外部网络的数据就会先发送给攻击者,而不是真正的网关。攻击者可以在获取数据后进行篡改、窃取或转发,实现中间人攻击
3.自测靶机
- 攻击机:kali
- 测试机:win 10
4.攻击测试流程
-
使用kali先查看自己所存在的网段,查找自己ip
![屏幕截图 2025-05-09 211449]()
-
查看同一网段下存活的主机,方便进行欺骗
fping -asg (自己主机ip)/(子网掩码)![屏幕截图 2025-05-09 211904]()
-
对于这次测试来说,其中ip为.135即为靶机
![屏幕截图 2025-05-09 212042]()
-
使用kali自带的ARP欺骗工具进行自动化攻击
arpspoof -i (自己的网络接口) -t (指定攻击的主机ip) (网关)![屏幕截图 2025-05-09 212737]()
-
此时查看靶机是否可以正常访问网络,发现浏览器以及命令行ping都不通,简单的实验结果也是成功了
![屏幕截图 2025-05-09 212954]()
Dos攻击
1.攻击原理
-
耗尽系统资源
-
原理:通过向目标系统发送大量的请求或数据,使目标系统的资源(如 CPU、内存、带宽等)被耗尽,无法再处理合法用户的请求。
-
举例:攻击者使用工具生成大量的 ICMP(Internet Control Message Protocol)数据包,向目标主机发送。由于 ICMP 数据包通常用于网络诊断和控制,目标主机会不断地接收和处理这些数据包,导致 CPU 占用率过高,最终无法正常响应其他合法的网络请求,这种攻击也被称为 Ping of Death(死亡之 Ping)。
-
-
建立大量半开连接
-
原理:以 TCP 协议为例,正常的连接建立需要经过三次握手过程。攻击者利用这个过程,向目标系统发送大量的连接请求,但不完成连接的最后一步,使得目标系统维持大量的半开连接,耗尽其连接资源,从而无法接受新的合法连接请求。
-
举例:常见的 SYN Flood(同步洪流)攻击就是这种原理。攻击者伪造大量的源 IP 地址,向目标系统发送 SYN(同步)数据包,目标系统收到后会回应 SYN-ACK(同步确认)数据包,并等待对方的 ACK(确认)数据包。但由于源 IP 是伪造的,攻击者不会发送 ACK 数据包,导致目标系统上的连接队列被大量半开连接填满,无法再处理合法的连接请求。
-
-
分布式反射攻击
-
原理:攻击者利用一些可以被欺骗的网络服务(如 DNS、NTP 等),通过伪造源 IP 地址为目标系统的数据包,发送给这些服务。这些服务会根据数据包中的源 IP 地址,向目标系统发送大量的响应数据包,从而形成对目标系统的攻击。
-
举例:在 DNS 反射攻击中,攻击者向大量的开放 DNS 服务器发送查询请求,将请求中的源 IP 地址伪装成目标系统的 IP 地址。DNS 服务器收到请求后,会向伪装的源 IP 地址(即目标系统)发送大量的 DNS 响应数据包,导致目标系统遭受洪水般的攻击,网络带宽被大量占用,无法正常工作
-
2.自测靶机
- 攻击机:kali
- 目标靶机:win 10
3.hping3介绍
hping3 是一款功能强大的网络工具,常用于网络测试、防火墙规则测试以及 DoS 攻击模拟。以下是其主要命令参数及解释:
-
基本参数
-
-c <count>:设置发送数据包的数量,达到指定数量后停止发送。 -
-i <interval>:设置发送数据包的间隔时间,例如-i u1000表示间隔 1 毫秒(u 代表微秒)。 -
-v:显示详细信息,输出更丰富的数据包发送和接收情况。
-
-
协议选择
-
-S:设置 TCP SYN 标志,用于创建 TCP 同步数据包,常用于 SYN Flood 攻击模拟。 -
-A:设置 TCP ACK 标志,用于创建 TCP 确认数据包。 -
-P:设置 TCP PSH 标志,用于创建 TCP 推送数据包。 -
-U:设置 TCP URG 标志,用于创建 TCP 紧急数据包。 -
-R:设置 TCP RST 标志,用于创建 TCP 重置数据包,可用于中断连接。 -
-F:设置 TCP FIN 标志,用于创建 TCP 结束数据包,用于正常关闭连接。 -
--icmp:使用 ICMP 协议,用于发送 ICMP 数据包,可用于测试网络连通性或进行 ICMP Flood 攻击。 -
--udp:使用 UDP 协议,用于发送 UDP 数据包,可用于 UDP Flood 攻击或测试 UDP 服务。 -
--tcp:使用 TCP 协议,是默认选项,可结合各种 TCP 标志使用。
-
-
端口设置
-
-p <port>:指定目标端口,用于 TCP 或 UDP 数据包的目标端口设置。 -
--rand-source:使用随机源 IP 地址,可用于模拟分布式攻击。 -
--flood:洪水模式,尽可能快地发送数据包,不等待回复,用于高强度攻击。
-
-
自定义数据包
-
--data <size>:设置数据包负载大小,例如--data 100表示每个数据包包含 100 字节的数据。 -
--rand-data:使用随机数据填充数据包负载。 -
--ttl <value>:设置 IP 数据包的 TTL(Time To Live)值,用于测试网络路径或绕过某些防火墙。 -
--df:设置 IP 数据包的 DF(Don't Fragment)标志,禁止数据包分片。
-
-
攻击模式
-
--flood:洪水模式,快速连续发送数据包,不等待响应,常用于 DoS 攻击模拟。 -
--rand-source:随机化源 IP 地址,模拟来自不同源的攻击流量,增加攻击的隐蔽性。 -
--icmp:结合-flood和--rand-source可实现分布式 ICMP Flood 攻击。 -
--syn:结合-flood和--rand-source可实现 SYN Flood 攻击。
-
-
防火墙测试
-
--scan <ports>:端口扫描模式,例如--scan 1-100扫描目标主机的 1 到 100 端口。 -
--id <value>:设置 IP 数据包的 ID 字段值,可用于测试防火墙对 IP ID 的处理规则。 -
--spoof <ip>:伪造源 IP 地址,用于测试防火墙是否能够检测和阻止源 IP 欺骗。
-
-
其他功能
-
--listen <port>:监听模式,用于接收和分析网络数据包。 -
--baseport <port>:设置起始源端口,用于端口扫描或攻击时的源端口选择。 -
--stats <interval>:每隔指定时间显示统计信息,例如--stats 1表示每秒显示一次统计数据。
-
-
示例命令
-
发送 TCP SYN 洪水攻击:
hping3 -S --flood --rand-source target_ip -
进行 ICMP 洪水攻击:
hping3 --icmp --flood --rand-source target_ip -
扫描目标主机的端口:
hping3 --scan 1-100 -S target_ip -
发送自定义大小的 UDP 数据包:
hping3 --udp -p 53 --data 100 target_ip
-
4.攻击测试流程
-
先将win10防火墙关闭,方便测试
![屏幕截图 2025-05-10 110359]()
-
还是老样子,扫描同一网段下存活的ip
![屏幕截图 2025-05-10 110738]()
-
进行端口扫描,方便进行攻击测试
![屏幕截图 2025-05-10 112002]()
-
先记录没有进行攻击时,CPU利用率
![屏幕截图 2025-05-10 112321]()
-
对目标靶机进行攻击测试
hping3 --flood --rand-source -p 135 -w 64 --data 150 --syn -c 1000000 192.168.44.135![屏幕截图 2025-05-10 113003]()
-
再查看现CPU占有情况,可以发现攻击之后CPU利用率已经提高了,可以通过设置跟多的数据包来提高占用率
![屏幕截图 2025-05-10 112920]()
以上所有测试流程均在自己靶机内完成,仅用于学习分享,未经其他方授权许可,不应该用于其他非法途径












浙公网安备 33010602011771号