简介
地址解析协议,即ARP(Address Resoultion Protocol), 是根据IP地址获取物理地址的一个TCP/IP协议。
工作原理
在以太网的局域网中,一台主机和另外一台主机通信发包,是根据48bit的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的目的IP地址。因此,在主机间通信需要用到ARP解析MAC地址。
ARP地址解析流程:
- 比如在一个局域网上,一台主机A(192.168.0.12)要访问机器B(192.168.0.11)。他会发送一份称作ARP请求的以太网数据帧给以太网上的每个主机(广播包)。ARP请求数据帧中包含目的主机的IP地址,意思就是:“如果你是这个IP地址的拥有者,请回答你的硬件地址。”
- 目的主机收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个ARP应答。这个ARP应答包含IP地址及对应的硬件地址。(非广播)
- 收到ARP应答后,系统的ARP缓存便会记录MAC-IP的对应信息(ARP攻击点),在CMD里打arp -a便可查询现在机器的ARP缓存情况。现在IP数据报现在就可以传送了。
ARP攻击
ARP攻击就是通过伪装IP地址和MAC地址实现ARP欺骗,攻击者向电脑A发送一个伪造的ARP响应,告诉电脑A:电脑B的IP地址192.168.0.2对应的MAC地址是00-aa-00-62-c6-03,电脑A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往电脑B的数据发送给了攻击者。同样的,攻击者向电脑B也发送一个伪造的ARP响应,告诉电脑B:电脑A的IP地址192.168.0.1对应的MAC地址是00-aa-00-62-c6-03,电脑B也会将数据发送给攻击者。
ARP命令
- arp -a 查看ARP缓存中IP与MAC对应关系
- arp -s 指定静态的IP和MAC映射关系 例:arp -s 192.168.0.1 00:11:22:33:44:55
- arp -d 清楚arp缓存
部分内容转自:
http://www.cnblogs.com/hyddd/archive/2009/01/04/1368316.html