网络执法官中利用的ARP原理使被攻击的电脑无法上网,使该电脑无法找到网关的MAC地址。
ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址
的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数
据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
ARP原理:某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。
如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址
Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含
有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因
此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。
ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,
将应答中的IP 和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个
应答是B冒充C伪造来的,即IP地址为C的 IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP
缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,
而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC 地址,这样就会造成网络不
通,导致A不能Ping通C。这就是一个简单的ARP欺骗。 网络执法官利用的就是这个原理。
解决ARP欺骗:
将 网关IP和网卡MAC地址进行静态绑定到ARP表中去,不再使用广播:
进入命令行状态,运行“ARP -s 网关IP 网关MAC”就可以了,想获得网关的MAC,只要Ping一下网关,然后用Arp -a命
令查看,就可以得到网关的IP与MAC的对应。此方法应该更具通用性,而且当网关地址可变时也很好操作,重复一次“ARP
-s 网关IP 网关MAC”就行了。此命令作用是建立静态的ARP解析表。