Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1048028
  • 博文数量: 288
  • 博客积分: 10306
  • 博客等级: 上将
  • 技术积分: 3182
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-12 17:00
文章分类

全部博文(288)

文章存档

2011年(19)

2010年(38)

2009年(135)

2008年(96)

我的朋友

分类: 系统运维

2009-03-18 14:13:03

ARP 地址解析协议

(重定向自ARP)

目录

 [隐藏]

什么是ARP

地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。 因IPv4以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATMFDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层 (IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
假设:
计算机A的IP为192.168.1.1,MAC地址为00-11-22-33-44-01;
计算机B的IP为192.168.1.2,MAC地址为00-11-22-33-44-02;

工作原理

ARP工作原理如下:

在TCP/IP协议中,A给B发送IP包,在包头中需要填写B的IP为目标地址,但这个IP包在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址.

计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。

在A不知道B的MAC地址的情况下,A就广播一个ARP请求包,请求包中填有B的IP(192.168.1.2),以太网中的所有计算机都会接收这个请求,而正常的情况下只有B会给出ARP应答包,包中就填充上了B的MAC地址,并回复给A。

A得到ARP应答后,将B的MAC地址放入本机缓存,便于下次使用。

本机MAC缓存是有生存期的,生存期结束后,将再次重复上面的过程。

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。由于局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。所以,那个伪造出来的MAC地址在A上被改变成一个不存在的MAC地址,这样就会造成网络不通,导致A不能Ping通C!这就是一个简单的ARP欺骗。

应用

在网络执法官中,要想限制某台机器上网,只要点击"网卡"菜单中的"权限",选择指定的网卡号或在用户列表中点击该网卡所在行,从右键菜单中选择"权限",在弹出的对话框中即可限制该用户的权限。对于未登记网卡,可以这样限定其上线:只要设定好所有已知用户(登记)后,将网卡的默认权限改为禁止上线即可阻止所有未知的网卡上线。使用这两个功能就可限制用户上网。其原理是通过ARP欺骗发给被攻击的电脑一个假的网关IP地址对应的MAC,使其找不到网关真正的MAC地址,这样就可以禁止其上网。

防御

ARP欺骗可以导致目标计算机与网关通信失败

更可怕的是会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。

基与PC到PC的IP-MAC双向绑定可以解决ARP欺骗

但是对于不支持IP-MAC双向绑定的设备

就需要用可以绑定端口-MAC的交换来预防ARP欺骗

另外,Windows 2KSP4 XPSP1 的Arp-S绑定是无效的

Windows XP SP2即使使用Arp -s命令静态绑定 在攻击者故意制造IP地址冲突的时候,也会失效。

阅读(469) | 评论(0) | 转发(0) |
0

上一篇:DHCP

下一篇:ICMP

给主人留下些什么吧!~~