ARP攻击原理及解决方法,很实用

article/2025/9/16 6:49:36

故障原因】

局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序)。
在这里插入图片描述

【故障原理】

要了解故障原理,我们先来了解一下ARP协议。
在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示。

主机 IP地址 MAC地址
A 192.168.16.1 aa-aa-aa-aa-aa-aa
B 192.168.16.2 bb-bb-bb-bb-bb-bb
C 192.168.16.3 cc-cc-cc-cc-cc-cc
D 192.168.16.4 dd-dd-dd-dd-dd-dd

我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。如果进行欺骗的时候,把C的MAC地址骗为DD-DD-DD-DD-DD-DD,于是A发送到C上的数据包都变成发送给D的了。这不正好是D能够接收到A发送的数据包了么,嗅探成功。
A对这个变化一点都没有意识到,但是接下来的事情就让A产生了怀疑。因为A和C连接不上了。D对接收到A发送给C的数据包可没有转交给C。
做“man in the middle”,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,转发给C,好比一个路由器一样。不过,假如D发送ICMP重定向的话就中断了整个计划。
D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗。现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌了。

【故障现象】

当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。
切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。

【HiPER用户快速发现ARP欺骗木马】

在路由器的“系统历史记录”中看到大量如下的信息(440以后的路由器软件版本中才有此提示):
MAC Chged 10.128.103.124
MAC Old 00:01:6c:36:d1:7f
MAC New 00:05:5d:60:c7:18
这个消息代表了用户的MAC地址发生了变化,在ARP欺骗木马开始运行的时候,局域网所有主机的MAC地址更新为病毒主机的MAC地址(即所有信息的MAC New地址都一致为病毒主机的MAC地址),同时在路由器的“用户统计”中看到所有用户的MAC地址信息都一样。
如果是在路由器的“系统历史记录”中看到大量MAC Old地址都一致,则说明局域网内曾经出现过ARP欺骗(ARP欺骗的木马程序停止运行时,主机在路由器上恢复其真实的MAC地址)。

【在局域网内查找病毒主机】

在上面我们已经知道了使用ARP欺骗木马的主机的MAC地址,那么我们就可以使用NBTSCAN工具来快速查找它。
NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”传奇木马”在做怪,可以找到装有木马的PC的IP/和MAC地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段, 即
192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137 网段,即192.168.16.25-192.168.16.137。输出结果第一列是IP地址,最后一列是MAC地址。
NBTSCAN的使用范例:
假设查找一台MAC地址为“000d870d585f”的病毒主机。
1)将压缩包中的nbtscan.exe 和cygwin1.dll解压缩放到c:/下。
2)在Windows开始—运行—打开,输入cmd,在出现的DOS窗口中输入:C:/nbtscan -r 192.168.16.1/24(这里需要根据用户实际网段输入),回车。

C:/Documents and Settings/ALAN>C:/nbtscan -r 192.168.16.1/24
Warning: -r option not supported under Windows. Running without it.
Doing NBT name scan for addresses from 192.168.16.1/24
IP address NetBIOS Name Server User MAC address

192.168.16.0 Sendto failed: Cannot assign requested address
192.168.16.50 SERVER 00-e0-4c-4d-96-c6
192.168.16.111 LLF ADMINISTRATOR 00-22-55-66-77-88
192.168.16.121 UTT-HIPER 00-0d-87-26-7d-78
192.168.16.175 JC 00-07-95-e0-7c-d7
192.168.16.223 test123 test123 00-0d-87-0d-58-5f

3)通过查询IP–MAC对应表,查出“000d870d585f”的病毒主机的IP地址为“192.168.16.223”。

【解决思路】

1、不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。
2、设置静态的MAC–>IP对应表,不要让主机刷新你设定好的转换表。
3、除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
4、使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。
5、使用"proxy"代理IP的传输。
6、使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。
7、管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。
8、管理员定期轮询,检查主机上的ARP缓存。
9、使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

【解决方案】

建议用户采用双向绑定的方法解决并且防止ARP欺骗。
1、在PC上绑定路由器的IP和MAC地址:
1)首先,获得路由器的内网的MAC地址(例如HiPER网关地址192.168.16.254的MAC地址为0022aa0022aa<HiPER管理界面–端口配置–局域网端口MAC地址>)。
2)编写一个批处理文件rarp.bat内容如下:
@echo off
arp -d
arp -s 192.168.16.254 00-22-aa-00-22-aa
将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可。
将这个批处理软件拖到“windows–开始–程序–启动”中。
3)如果是网吧,可以利用收费软件服务端程序(pubwin或者万象都可以)发送批处理文件rarp.bat到所有客户机的启动目录。Windows2000的默认启动目录为“C:/Documents and Settings/All Users「开始」菜单程序启动”。
2、在路由器上绑定用户主机的IP和MAC地址(440以后的路由器软件版本支持):
在HiPER管理界面–高级配置–用户管理中将局域网每台主机均作绑定。

ARP


http://chatgpt.dhexx.cn/article/ImxdtqOj.shtml

相关文章

ARP攻击怎么解决最安全

ARP攻击是指攻击者通过伪造网络中的ARP协议数据包&#xff0c;欺骗其他计算机的网络通信&#xff0c;从而实现中间人攻击等目的。 下面是ARP攻击的解决方法&#xff1a; 静态ARP表绑定MAC地址&#xff1a;在网络管理员的控制下&#xff0c;将主机的IP地址与MAC地址进行绑定&am…

ARP攻击及原理

ARP攻击原理:但凡局域网内存在arp攻击&#xff0c;说明网络存在“中间人” 1.PC1需要跟PC2通信&#xff0c;通过ARP请求包询问PC2的MAC地址&#xff0c;由于采用广播的形式&#xff0c;所以交换机会将ARP请求包从接口PC1广播到PC2和PC3。(注&#xff1a;交换机收到广播/组播/未…

ARP攻击、欺骗及防御

一、广播与广播域概述 1、广播与广播域 广播&#xff1a;将广播地址做为目的地址的数据帧。 广播域&#xff1a;网络中能接收到同一个广播所有节点的集合。 2、MAC地址广播 广播地址为FF-FF-FF-FF-FF-FF 3、IP地址广播 1&#xff09;255.255.255.255 2&#xff09;广播…

ARP攻击原理和kali实现ARP攻击

目录 一、ARP协议和ARP攻击1.ARP协议2.利用Wireshark分析ARP数据包3.ARP攻击 二、kali实现ARP攻击和ARP欺骗1.实验过程2.问题记录T_T 一、ARP协议和ARP攻击 1.ARP协议 ARP协议&#xff0c;地址解析协议&#xff08;Address Resolution Protocol&#xff09;&#xff0c;用来实…

怎么处理ARP攻击

ARP故障说明: ping 的时候可能好久才能接收到一个响应&#xff0c;或者说干脆就Ping不通。网络时好时坏&#xff0c;通过ARP -a命令不能看到同网段的在线用户&#xff0c;但是net view 可以看到全网开放共享的电脑名&#xff0c;这时候就需要注意了&#xff0c;可能是ARP攻击。…

网络安全--ARP攻击原理与防护

目录 一.ARP的原理 二.ARP攻击现象及危害 三.ARP攻击的原理 四.ARP防护 在局域网当中&#xff0c;有一个协议由于它的特性一旦遭受攻击就非常麻烦。首先是它的攻击门槛比较低&#xff0c;找到一些小工具就能实现攻击&#xff0c;而且危害极大。这个协议就是ARP协议。 ARP攻击是…

渗透技术——ARP攻击

Part 1: ARP攻击介绍 ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;是一个位于TCP/IP协议栈中的底层协议&#xff0c;负责将某个IP地址解析成对应的MAC地址。而ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗&#xff0c;能够在网络中产生…

Linux操作系统及其发行版本

文章目录 Linux是什么Liunx与WindowsLinux的发行版本1. Debian系列&#xff1a;2. Slackware系列&#xff1a;3. Redhat系列&#xff1a;4. 其他发行版本&#xff1a; Linux是什么 Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和UNIX的多用户、…

linux查看系统版本命令

*一、查看Linux系统发行版本 * 命令1&#xff1a;lsb_release -a 该命令适用于所有Linux系统&#xff0c;会显示出完整的版本信息&#xff0c;包括Linux系统的名称&#xff0c;如Debian、Ubuntu、CentOS等&#xff0c;和对应的版本号&#xff0c;以及该版本的代号&#xff0c…

哪些是linux系统版本,linux系统主要有哪些版本

linux系统主要版本有&#xff1a;Redhat版本&#xff0c;基于RPM包的YUM包管理方式&#xff1b;2.CentOS版本&#xff0c;免费的、开源的、可以重新分发的linux发行版&#xff1b;3.Ubuntu版本&#xff0c;拥有漂亮的用户界面的系统&#xff1b;4.Mandriva版本&#xff0c;KDE桌…

Linux操作系统介绍及版本

1.1 认识Linux Linux操作系统是基于UNIX以网络为核心的设计思想&#xff0c;是一个性能稳定的多用户网络操作系统&#xff0c;Linux能运行各种工具软件、应用程序以及网络协议&#xff0c;它支持安装在32位和64位CPU硬件上。 通常来讲&#xff0c;Linux这个词只表示Linux内核&a…

Linux版本简介

Linux系统最早由LinusTorvalds在1991年开始编写&#xff0c;在此诞生之前同时也具备了五大前提条件&#xff1a;UNIX操作系统、MINIX 操作系统、GNU计划、POSIX标准、INTERNET。先让我们看一下Linux系统的发行版本&#xff0c;包括Redhat、Ubuntu、Fedora、SUSE、Slackware、De…

Linux各个系统版本及区别(Ubuntu,CentOS..)

一、概览 Linux的版本号分为两部分&#xff1a;内核版本和发行版本。 内核版本&#xff1a;不包含外围程序GNU程序库和工具&#xff0c;命令行shell&#xff0c;图形界面的X Window系统和相应的桌面环境等 发行版本&#xff1a;RedHatLinux&#xff0c;CentOS, Ubuntu&#xff…

网站整合CKEditor和CKFinder(Java版)

准备文件 CKEditor: 在 http://ckeditor.com/download &#xff0c;可以下载到各种版本的CKEditor&#xff0c;包括完整版full、标准版standard、基础版basic等。同时也可定制的下载&#xff0c;可以选择Toolbar类型、插件、语言等。 CKEditor for java: 在http://ckeditor.c…

编辑组件CKEditor与文件管理组件CKFinder

ckeditor ckfinder ckeditor:html文本编辑插件&#xff0c;源码为javascript编写,实现对文本域的托管 下载时选择Full Package版本 解压后,去除一些不必要的文档;放置到js目录下即可 当然,也可以看看搭建案例samples 在这里可以设置需要的组件功能按钮 勾选完成后;得到配置代…

(ckeditor+ckfinder用法)Jquery,js获取ckeditor值 .

2010-10-15 17:14 1244人阅读 评论(1) 收藏 举报 CKEditor 3.3.1 和 ckfinder 2.0 配置 with jQuery 1.42 请看33楼&#xff01; CKEditor 3.2 在 asp.net 下进行配置的方法&#xff1a; 官方网站&#xff1a;CKEditor CKFinder 1、CKEditor 不具备上传功能&#xff0…

Spring Boot集成CKFinder

Spring Boot集成CKFinder,实现浏览功能。 前言 上一篇记录了Spring Boot集成CKEditor,这里记录Spring Boot集成CKFinder实现浏览功能&#xff0c;详细的配置可以参考ckeditor和ckfinder集成详细配置及其优化&#xff0c;这里讲在Spring Boot中怎么玩CKFinder。ckeditor中“浏览…

配置CKFinder(Java版)

1. 下载 CKFinder官网下载地址提供了PHP&#xff0c;ASP, Java等不同下载版本。 2. 配置 1&#xff09;config.xml放到WEB-INF下&#xff0c; 2&#xff09;其他文件放到Webcontent下&#xff0c; 3&#xff09;配置web.xml, xml<!--CKFinder --><servlet&…

CKEditor/FCKEditor 使用-集成 CKFinder(上传文件、浏览文件)

CKFinder 也是 CK 系列的产品之一&#xff0c;它有两个功能&#xff1a;上传文件、浏览文件。一般来说&#xff0c;它是集成在 CKEditor 或 FCKEditor 中&#xff0c;以便在编辑器中插入超链接或图像时可以直接上传&#xff0c;也可通过浏览直接插入编辑器中。并且 CKFinder 提…

CKEditor与CKFinder学习--安全的使用CKFinder与权限控制

0 前言 上一篇博客中说了ckeditor与ckfinder整合之后进行图文混排的时候通过浏览服务器按钮可以浏览服务器上的所有资源&#xff0c;文件&#xff0c;图片&#xff0c;该用户上传的&#xff0c;非该用户上传的&#xff0c;不仅可以查看&#xff0c;还可以删除、重命名等。所以…