|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
近来有很多人问IP冲突和ARP攻击的问题,我来在这里向大家阐述一下:
首先要明白什么是ARP
如果你在命令提示下输入 arp -a,输出看起来应该是像这样:
Interface: 192.168.1.2 --- 0x10003
Internet Address Physical Address Type
192.168.1.1 00-90-cc-a4-74-3f dynamic
这里第一列显示的是ip地址,第二列显示的是和ip地址对应的网络接口卡的硬件地址(MAC),第三列是该ip和mac的对应关系类型。
可见,arp是一种将ip转化成以ip对应的网卡的物理地址的一种协议,或者说ARP协议是一种将ip地址转化成MAC地址的一种协议。它靠维持在内存中保存的一张表来使ip得以在网络上被目标机器应答。
为什么要将ip转化成mac呢?简单的说,这是因为在tcp网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义。但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的mac地址来识别。也就是说,只有机器的mac地址和该ip包中的mac地址相同的机器才会应答这个ip包。因为在网络中,每一台主机都会有发送ip包的时候。所以,在每台主机的内存中,都有一个 arp--> mac 的转换表。通常是动态的转换表(注意在路由中,该arp表可以被设置成静态)。也就是说,该对应表会被主机在需要的时候刷新。这是由于以太网在子网层上的传输是靠48位的mac地址而决定的。
通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的mac地址。如果没有找到,该主机就发送一个ARP广播包,看起来象这样子;"我是主机xxx.xxx.xxx.xxx , mac是xxxxxxxxxxx ,ip为xxx.xxx.xxx.xx1的主机请告之你的mac来" ip为xxx.xxx.xxx.xx1的主机响应这个广播,应答ARP广播为:"我是xxx.xxx.xxx.xx1,我的mac为xxxxxxxxxx2",于是,主机刷新自己的ARP缓存,然后发出该ip包。
IP冲突和ARP攻就是合法的IP地址被其他非法的MAC取代,到这里大家应该明白了,单纯在网关或服务器上做MAC绑定并不能解决问题。下面是解决问题的正确办法:
1、在客户机上绑定网关和服务器的IP和MAC地址。这样不管谁和网关冲突,我的机器就认这个mac是我的网关。
arp -s 192.168.1.1 aa-bb-cc-dd-ee-ff
2、换智能交换机,做IP和MAC地址绑定。 |
|