1 ARP病毒?
arp病毒并不是某一种病毒的名称,而是对利用arp协议的漏洞进行传播的一类病毒的总称。
arp协议是TCP/IP协议组的一个协议,能够把网络地址翻译成物理地址(又称MAC地址)。
通常此类攻击的手段有两种:a 路由欺骗 b 网关欺骗。是一种入侵电脑的木马病毒。对电脑用户私密信息的威胁很大。
原理:利用arp协议的漏洞
原因:有人在局域网中使用了arp欺骗
它是建立在对局域网中电脑全部信任的基础上的
2 病毒原理
2.1
按照(OSI (Open Systems Interconnection Reference Model开放系统互联参考模型) 的观点,可将网络系统划分为7层结构
实际上应用最广泛的商用网络模型即TCP/IP体系模型,将网络划分为四层,每一个层次上也运行着不同的协议和服务。
在局域网中,一台主机要和另一台主机进行通信,必须要知道目标主机的IP地址,
但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其硬件地址即MAC地址(48位2进制数来完成)。
ARP全称为Address Resolution Protocol,地址解析协议。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。
2.2 欺骗过程
路由欺骗:
假设一个只有三台电脑组成的局域网,该局域网由交换机(Switch)连接。
其中一个电脑名叫A,代表攻击方;一台电脑叫S,代表源主机,即发送数据的电脑;另一台电脑名叫D,代表目的主机,即接收数据的电脑。
这三台电脑的IP地址分别为192.168.0.2,192.168.0.3,192.168.0.4。MAC地址分别为MAC_A,MAC_S,MAC_D。
现在,S电脑要给D电脑发送数据了,在S电脑内部,上层的TCP和UDP的数据包已经传送到了最底层的网络接口层。
数据包即将要发送出去,但这时还不知道目的主机D电脑的MAC地址MAC_D。
这时候,S电脑要先查询自身的ARP缓存表,查看里面是否有192.168.0.4这台电脑的MAC地址,如果有,那很好办。
就将封装在数据包的外面。直接发送出去即可。
如果没有,这时S电脑要向全网络发送一个ARP广播包,大声询问:“我的IP是192.168.0.3,硬件地址是MAC_S,我想知道IP地址为192.168.0.4的主机的硬件地址是多少?” 这时,全网络的电脑都收到该ARP广播包了,包括A电脑和D电脑。A电脑一看其要查询的IP地址不是自己的,就将该数据包丢弃不予理会。而D电脑一看IP地址是自己的,则回答S电脑:“我的IP地址是192.168.0.4,我的硬件地址是MAC_D”需要注意的是,这条信息是单独回答的,即D电脑单独向S电脑发送的,并非刚才的广播。现在S电脑已经知道目的电脑D的MAC地址了,它可以将要发送的数据包上贴上目的地址MAC_D,发送出去了。同时它还会动态更新自身的ARP缓存表,将192.168.0.4-MAC_D这一条记录添加进去,这样,等S电脑下次再给D电脑发送数据的时候,就不用大声询问发送ARP广播包了。这就是正常情况下的数据包发送过程。
这样的机制看上去很完美,似乎整个局域网也天下太平,相安无事。
但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中电脑全部信任的基础上的。
也就是说它的假设前提是:无论局域网中那台电脑,其发送的ARP数据包都是正确的。
那么这样就很危险了!因为局域网中并非所有的电脑都安分守己,往往有非法者的存在。比如在上述数据发送中,当S电脑向全网询问“我想知道IP地址为192.168.0.4的主机的硬件地址是多少?”后,D电脑也回应了自己的正确MAC地址。但是当此时,一向沉默寡言的A电脑也回话了:“我的IP地址是192.168.0.4,我的硬件地址是MAC_A”,注意,此时它竟然冒充自己是D电脑的IP地址,而MAC地址竟然写成自己的!
由于A电脑不停地发送这样的应答数据包,本来S电脑的ARP缓存表中已经保存了正确的记录:192.168.0.4-MAC_D,但是由于A电脑的不停应答,这时S电脑并不知道A电脑发送的数据包是伪造的,导致S电脑又重新动态更新自身的ARP缓存表,这回记录成:192.168.0.4-MAC_A,很显然,这是一个错误的记录(这步也叫ARP缓存表中毒),
这样就导致以后凡是S电脑要发送给D电脑,也就是IP地址为192.168.0.4这台主机的数据,都将会发送给MAC地址为MAC_A的主机,这样,在光天化日之下,A电脑竟然劫持了由S电脑发送给D电脑的数据!这就是ARP欺骗的过程。
网关欺骗:
如果A这台电脑再做的“过分”一些,它不冒充D电脑,而是冒充网关,那后果会怎么样呢?
我们大家都知道,如果一个局域网中的电脑要连接外网,也收发的数据都就是登陆互联网的时候,都要经过局域网中的网关转发一下,所有要先经过网关,再由网关发向互联网。在局域网中,网关的IP地址一般为192.168.0.1。如果A这台电脑向全网不停的发送ARP欺骗广播,大声说:“我的IP地址是192.168.0.1,我的硬件地址是MAC_A”这时局域网中的其它电脑并没有察觉到什么,因为局域网通信的前提条件是信任任何电脑发送的ARP广播包。这样局域网中的其它电脑都会更新自身的ARP缓存表,记录下192.168.0.1-MAC_A这样的记录,这样,当它们发送给网关,也就是IP地址为192.168.0.1这台电脑的数据,结果都会发送到MAC_A这台电脑中!这样,A电脑就将会监听整个局域网发送给互联网的数据包!
3 使用bat脚本去实现ip-mac静态绑定
编写一个批处理文件rarp.bat内容如下:
@echo off //关闭回显
arp -d //删除arp缓存表
arp -s 192.168.16.254 00-22-aa-00-22-aa //添加静态的ip-mac映射
将网关IP和MAC更改为您自己的网关IP和MAC即可,让这个文件开机运行(拖到“开始-程序-启动”)。
标签:ARP,电脑,192.168,局域网,MAC,IP地址,欺骗,病毒 From: https://www.cnblogs.com/xa-baiyulong/p/17535423.html