APR攻击的原理及防范

现在arp攻击成了很多网管最头疼的一种攻击,即可能造成局域网内大规模断网,也可能让通信数据被他人窃取,危害确实十分严重。



一:ARP原理
首先要知道arp是干什么的:在以太网通信中,在通过第三层寻址找到特定网段后,第二层帧的帧头需要封装MAC地址,让交换机知道该具体发往哪个端口。如果两台需要通信的主机在同意网段内,ip地址只有两台主机能理解,而负责转发数据的核心设备交换机是不能理解ip地址的,它只知道mac地址并根据mac地址来转发,而发送数据的主机可能只知道对方的ip地址,这时两台主机是无法通信的。(就像寄信时只写邮编(ip地址)而不写具体地址(mac地址))。这是就需要用到arp了。
发送方主机首先发送arp请求(广播):我是aaa(自己的ip和mac),请问bbb(接受方ip)的mac地址是多少?如果有IP是bbb的主机收到这个广播,就会像aaa发送arp回复(单播,bbb已有aaa的ip和mac)。这时aaa有了bbb的mac地址,两台主机就能相互通信了。
为了避免频繁的arp请求,主机会将收到的arp信息(ip和mac的对应关系)存在本机的arp缓存中
(ARP -a查看)。



二:攻击原理
理解了arp的工作原理,让我们来看看arp攻击是如何实现的。
上面所说的arp工作过程我们称之为动态arp(它是自动工作的),而攻台arp的特性是主机会响应所有的arp回复,而不管自己是否发出了arp请求。
还是回到上面的例子,再在该网段里加上一台ccc主机。这时aaa和bbb能正常通信了,但是ccc很坏,它向aaa发送arp回复:bbbip对应的mac地址是@#¥%……(一个并不存在的mac)这时aaa主机会修改自己的arp缓存bbbip对应@#¥%……,这样,数据就会发送到一个并不存在的地方,导致aaa和bbb之间不能正常通信。如果ccc再坏点,发送这样的arp回复:bbb ip对应的mac地址是ccc的mac地址。这时aaa向bbb发送的数据就会到达ccc,ccc在通过应用软件将信息转发给bbb(建立tcp通信需要bbb的回复),这时对于aaa和bbb感觉是他们之间直接在通信,殊不知所有的信息都被ccc看到了,如果有啥隐私就完蛋啦!(网络执法官就是基于这个原理!)



三:防范措施
1:arp回复
让主机不断发送arp信息,让其他设备及时更新arp表,保持arp正确的对应关系。但arp欺骗也是不断发送虚假的arp信息,会造成arp缓存表不稳定,可能会有一部分数据丢失。而且会在网络中产生大量的arp信息,造成网络拥塞。不推荐使用
2:ip mac绑定
先前说过的arp工作方式是动态arp,如果网络管理员手动在主机上绑定ip和mac的对应关系,就叫做静态arp。静态的arp不会受到arp回复信息的影响,不会修改自己的arp缓存表。
但是手工绑定也有自己的缺点,就是网管员的工作量极大,假设网络中有n台主机,管理员就需要绑定n*(N-1)条ip mac对应。而且听信数据是有来有回,在网络的网关上也应该绑定到所有主机的arp条目。当这种方法是一劳永逸的方法,也是最有效的一种方法。
3:交换机dhcp snooping和DAI
如果网络中有一台可网管交换机则要轻松许多。
首先,dhcp snooping(dhcp嗅探)可以讲dhcp分配给主机的ip地址和主机的mac地址记录下来。存在交换机里,形成一张dhcp snooping绑定表,在主机发送arp回复时,DAI(动态arp检测)会检查arp回复包里的内容,如果ip和mac的对应关系和dhcp snooping绑定表中的不一样,交换机就会丢弃掉这个arp回复包。如果没有dhcp服务器,可以用arp访问列表来绑定ip和mac地址,再用DAI来检测,原理和前面一样。
这种方法也能很好的防范arp攻击,但是不是每个网络的交换机都支持这种功能。


最后再补充一点,在交换机上绑定只ip和mac并不能就绝arp攻击,因为这样交换机只能看到数据包的包头信息,而arp攻击真正有害的是包里面的数据部分,它的包头信息是正确的。以后有时间会写写mac地址攻击,这才是包头信息产生的攻击。



第一次写这种技术类的文章,如果有错请及时指出,一定虚心学习!

你可能感兴趣的:(网络,职场,ARP,攻击,休闲)