ARP攻略全解(图文)

引言:相比大家经常在家上网或者和别人共享上网的朋友一定遭受过ARP攻击吧。那网速的锐减,以及不停的断线一定把大家弄得一头雾水。一提起ARP大家就恨之入骨。下面我将详细的讲解一下ARP协议的解析过程,以及防范措施以帮助大家更好的认识ARP协议,以提高自己的安全意识。

 

 

 

MAC:

讲解ARP协议之前我们首先认识一下什么叫做MAC地址

 MAC地址又叫做硬件地址或物理地址,他存放与网卡的rom中,用来标识网卡的唯一性。说白了就是说我这张网卡是全世界独一无二的(呵呵,有点像人的指纹和商品上的防伪标识)。现在我们来看一下自己电脑的MAC地址,在命令提示符下输入ipconfig/all

 

 

画红线的地址就是MAC自己网卡的MAC地址了.MAC地址由48为二进制数组成,通常分为6段。前24位是生产厂商向IEEE申请统一分配,后24位由厂商自己分配。(注意:MAC地址第八位是0时代表单播地址,1时代表主播地址,网卡的第八位一定是0.还没有见过谁的网卡向一个组的人能够发送信息呢O(_)O~)。

 

ARP协议:

 

 

Arp协议的全称是Address Resolution Protocl 中文名是地址解析协议。用来把目标主机的ip地址转换为MAC地址以实现二层数据链路层的通信。

(1)ARP映射表

ARP协议规定每一个主机都有一个ARP高速缓存,里面存有所在局域网的个主机和路由器的ip地址到硬件地址的一张映射表。根据存储类型,ARP地址转换表可以分为动态和静态两种。

 

 

 

(2)ARP解析过程。

 

假如同一局域网有A,B,C,D四台主机。其中A内的ARP映射表如下图所示:

 

IP  

MAC   地址

  B

192.168.0.1

00-09-bf-55-69-a2-66

  C

192.168.0.2

.......................................

  D

192.168.0.3

00-65-85-1a-aa-4b

 

 

 

 

 

 

 

假如A主机要与C主机通信,A主机只知道C主机的ip地址。要使A主机真正的和C主机通信怎么办呢。A主机必须在发送数据包中填写C主机的mac地址。具体过程如下:

(1)首先A主机查看自己的映射表中是否有Cmac地址,如果有则直接发送信息,如果没有就以广播的形式向A所在的本局域网所在的主机发送ARP请求报文。意思是说本主机大叫一声“谁的ip地址是192.168.0.2?请把你的ip地址mac地址发送过来!”

(2)C收到次广播后,向A返回replay报文,意思是对A说“我的ip地址是192.168.0.2我的mac地址是xx-xx-xx-xx-xx-xx

(3)AARP中收到replay后把Cmac地址存在自己的映射表中,然后将报文发送给C

 

 

 

(3)ARP欺骗原理

 

 

 

 

 

如图所示A,C代表目标主机,也就是被欺骗的主机,    B主机代表攻击者,进行欺骗。其中B主机不断向A发送ARP Replay包中包含Cip地址所对应的BMAC地址;B主机不断向C发送ARP Replay包中包含Aip地址所对应的BMAC地址.AC通信的时候AC之间通信的数据包都先达到B,从而对数据包进行修改,然后再传给目标接受数据包的主机,但AC却对此全然不知,因此B就实现了对AC的监听。

 

 

 4 ARP欺骗的防御

 

知道了ARP欺骗的方法和危害,我们给出一些初步的防御方法:

 

1.不要把你的网络安全信任关系建立在ip地址的基础上或硬件mac地址基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在ip+mac基础上。

 

2.设置静态的mac-->ip对应表,不要让主机刷新你设定好的转换表。

 

3.除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。在linux下可以用ifconfig -arp可以使网卡驱动程序停止使用ARP

 

4.使用代理网关发送外出的通讯。

 

5.修改系统拒收ICMP重定向报文

你可能感兴趣的:(二进制,共享上网,全世界,发送信息,防伪标识)