当前位置:文档之家› arp显示和修改地址解析协议

arp显示和修改地址解析协议

arp(显示和修改"地址解析协议(ARP)"缓存中的项目)

2010-04-11 15:03

arp 命令用于显示和修改"地址解析协议(ARP)"缓存中的项目。ARP 缓存中包含一个

或多个表,它们用于存储IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装

的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则

arp 命令将显示帮助信息。语法如下:

arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-NIfaceAddr]]

[-dInetAddr [IfaceAddr]] [-s InetAddr EtherAddr[IfaceAddr]]

ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。另有电子防翻滚系统也称为ARP。

地址解析协议

工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。

以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到目标IP地址,主机A就会在网络上发送一个广播,A主机MAC地址是“主机A的MAC地址”,这表示向同一网段内的所有主机发出这样的询问:“我是192.168.1.5,我的硬件地址是"主机A的MAC地址".请问IP地址为192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时A和B还同时都更新了自己的ARP缓存表(因为A 在询问的时候把自己的IP和MAC地址一起告诉了B),下次A再向主机B或者B 向A发送信息时,直接从各自的ARP缓存表里查找就可以了。ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

RARP的工作原理:

1. 发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC

地址并且请求任何收到此请求的RARP服务器分配一个IP地址;

2. 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC 地址对应的IP地址;

3. 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;

4. 如果不存在,RARP服务器对此不做任何的响应;

5. 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。

6.如果在第1-3中被ARP病毒攻击,则服务器做出的反映就会被占用,源主机同样得不到RARP服务器的响应信息,此时并不是服务器没有响应而是服务器返回的源主机的IP被占用。

数据结构

[1]ARP协议的数据结构:

typedef structarphdr

{

unsignedshortarp_hrd;/*硬件类型*/

unsignedshortarp_pro;/*协议类型*/

unsignedchararp_hln;/*硬件地址长度*/

unsignedchararp_pln;/*协议地址长度*/

unsignedshortarp_op;/*ARP操作类型*/

unsignedchararp_sha[6];/*发送者的硬件地址*/

unsignedlongarp_spa;/*发送者的协议地址*/

unsignedchararp_tha[6];/*目标的硬件地址*/

unsignedlongarp_tpa;/*目标的协议地址*/

}ARPHDR,*PARPHDR;

RARP 反向地址转换协议

反向地址转换协议用于一种特殊情况,如果站点被初始化后,只有自己的物理网络地址而没有IP地址,则他可以通过RARP协议,并发出广播请求,征求自己的IP地址,而RARP服务器则没有负责回答。这样无IP的站点可以通过RARP 协议取得自己的IP地址,这个地址在下一次系统重新开始以前都有效,不用连续广播请求。RARP广泛用于获取无盘工作站的IP地址。

ARP和RARP报头结构

ARP和RARP使用相同的报头结构,如图所示。

报送格式

硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;

协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);

硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;

操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP 请求为3,RARP响应为4;

发送方的硬件地址(0-2字节):源主机硬件地址的前3个字节;

发送方的硬件地址(3-5字节):源主机硬件地址的后3个字节;

发送方IP(0-1字节):源主机硬件地址的前2个字节;

ARP缓存表查看方法

ARP缓存表是可以查看的,也可以添加和修改。在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了,如附图所示。

arp -a

用“arp -d”命令可以删除ARP表中所有的内容;

用“arp -d +空格+ <指定ip地址>” 可以删除指定ip所在行的内容

用“arp -s”可以手动在ARP表中指定IP地址与MAC地址的对应,类型为static(静态),此项存在硬盘中,而不是缓存表,计算机重新启动后仍然存在,且遵循静态优于动态的原则,所以这个设置不对,可能导致无法上网.

电子防翻滚系统

ARP英文全称是Anti Rolling Program,即电子防翻滚功能。它通过感知车辆的位置,调节发动机扭矩及各车轮的制动力,从而防止车辆在高速急转弯等紧急状况时发生翻车状况。如雪佛兰科帕奇就标配了此系统。

相关主题