明辉站/杀毒教程/内容

实战:ARP攻击原理及处理方法

杀毒教程2023-07-11 阅读
[摘要]局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件, 某些传奇外挂中也被恶意加载了此程序)。 【故障原理】 要了解故障原理, 我们先来了解一下ARP协议。 在局域网中, 通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。 ARP协议对网络...

局域网内有人使用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之间的通讯就可以了如指掌了。


上面是电脑上网安全的一些基础常识,学习了安全知识,几乎可以让你免费电脑中毒的烦扰。

……

相关阅读