登录
CSNA会员注册
找回密码
搜索
搜索
本版
用户
CSNA网络分析论坛
»
首页
›
流量分析
›
网络分析
›
[原创]ARP协议解码详解
返回列表
发帖
查看:
16658
|
回复:
13
[原创]ARP协议解码详解
[复制链接]
菜青虫
菜青虫
当前离线
积分
50
发表于 2006-7-20 16:08:10
|
显示全部楼层
|
阅读模式
ARP协议解码详解
一、ARP协议简介
ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。
IP数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。
1. ARP和RARP报头结构
ARP和RARP使用相同的报头结构,如图1所示。
(图1 ARP/RARP报头结构)
硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为1;
协议类型字段:指明了发送方提供的高层协议类型,IP为0800(16进制);
硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;

操作字段:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;

发送方的硬件地址(0-3字节):源主机硬件地址的前3个字节;

发送方的硬件地址(4-5字节):源主机硬件地址的后3个字节;

发送方IP(0-1字节):源主机硬件地址的前2个字节;

发送方IP(2-3字节):源主机硬件地址的后2个字节;

目的硬件地址(0-1字节):目的主机硬件地址的前2个字节;

目的硬件地址(2-5字节):目的主机硬件地址的后4个字节;

目的IP(0-3字节):目的主机的IP地址。
2. ARP和RARP的工作原理
ARP的工作原理如下:
1. 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
2. 当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。
3. 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;
4. 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
RARP的工作原理:
1.
发送主机发送一个本地的RARP广播,在此广播包中,声明自己的MAC地址并且请求任何收到此请求的RARP服务器分配一个IP地址;
2.
本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址;
3.
如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用;
4.
如果不存在,RARP服务器对此不做任何的响应;
5.
源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应信息,表示初始化失败。
二、解码详解
了解了ARP和RARP协议的报头结构和工作原理后,我们使用
科来
网络分析系统抓取ARP包,其详细解码,如图1,
(图1 科来网络分析系统中ARP请求包详细解码)
图1显示是一个ARP的请求包的解码,下面我们来详细说明:
硬件类型:1,表示硬件借口类型为以太网类型

协议类型:0x0800,表示发送方提供的高层协议类型是IP

硬件地址长度:表示硬件地址长度为6字节=48位
协议地址长度:表示IP地址长度为4字节=32位

操作类型:1,表示ARP请求

源物理地址:00:14:85:CA:F5:22

源IP地址:192.168.0.92

目标物理地址:00:00:00:00:00:00

目标IP地址:192.168.0.208
ARP回应包和RARP的包类似,我们在这里就不再重复说明。
[
本帖最后由 菜青虫 于 2006-7-20 16:11 编辑
]
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
CSNA会员注册
×
回复
使用道具
举报
cavis
cavis
当前离线
积分
0
发表于 2006-7-20 23:39:17
|
显示全部楼层
hehe kan kan
回复
使用道具
举报
goushi
goushi
当前离线
积分
0
发表于 2006-7-21 14:32:28
|
显示全部楼层
我好像在好几个板块都看到了
回复
使用道具
举报
shifeixiang
shifeixiang
当前离线
积分
0
发表于 2006-7-22 06:52:58
|
显示全部楼层
下来看看啊 正在学习中,
回复
使用道具
举报
菜青虫
菜青虫
当前离线
积分
50
楼主
|
发表于 2006-7-24 11:21:47
|
显示全部楼层
补充:ARP的三中类型
1. 常规ARP
一般是站点在只需要获得其他主机的MAC地址时使用它。
2. 免费ARP
免费ARP允许站点为其自己的IP地址传输一个ARP请求。免费ARP用于检查IP子网中的重复IP地址。如果一台主机发出了其自己的ARP请求,并收到了另一站点的响应,该主机就得知已经有另一站点和和它一样的地址配置。这种情况称IP冲突。像我们只用Windows主机在启动时对冲突IP地址分配进行检查,使用的就是免费ARP技术。
3. 代理ARP
如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程叫做ARP代理。这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它。
代理ARP知道如何到达子网,则允许主机回答ARP请求。使用不正确的子网掩玛的主机可能可以与非本地子网的主机通信,因为本地路由器可以响应非本地子网的ARP请求。代理ARP可以允许错误的IP配置工作。假设使用子网掩码255.255.0.0的主机172.167.1.10在本地子网172.16.1.0(掩码255.255.255.0),这台主机会认为这个网络是172.16.0.0,但是实际是172.16.1.0。当他想访问IP地质为172.16.2.0的主机时,它会广播一个ARP请求来尝试获得目的主机的MAC地址。因为根据他的掩码,他认为目的主机是在同一本地子网内。如果路由器打开了代理ARP,就会用它的MAC地址来响应ARP请求。而那台主机认为它收到的是目的主机对其ARP请求的响应,所以把报文发送到路由器的MAC地址。如果删除了路由器子网上的代理ARP配置,原来依靠他的客户端就不能访问非本地的网络了,直到把子网掩码修改正确。
回复
使用道具
举报
baidu
baidu
当前离线
积分
0
发表于 2007-3-15 18:49:51
|
显示全部楼层
GOOD THANK YOU!
回复
使用道具
举报
ohxf
ohxf
当前离线
积分
0
发表于 2008-7-23 10:44:55
|
显示全部楼层
下来看看啊 正在学习中,
回复
使用道具
举报
biaolielong
biaolielong
当前离线
积分
16
发表于 2011-1-21 21:58:20
|
显示全部楼层
谢谢lz
回复
使用道具
举报
415143370
415143370
当前离线
积分
0
发表于 2011-1-22 16:33:12
|
显示全部楼层
.........nei rong tai shao le.........
回复
使用道具
举报
yeliang2012
yeliang2012
当前离线
积分
0
发表于 2011-1-22 20:25:48
|
显示全部楼层
要对ARP好好的研究下
回复
使用道具
举报
xjw370473083
xjw370473083
当前离线
积分
0
发表于 2011-6-22 16:48:26
|
显示全部楼层
学习,多谢LZ
回复
使用道具
举报
lanxiang1
lanxiang1
当前离线
积分
0
发表于 2011-6-26 10:33:52
|
显示全部楼层
这个得认真学习了!
SIGNATURE---------------------------One thing you should know,for his part, spend not the problem,he just wanted to win,thank him bring you the moment
Nike Free 3.0
Nike Free Run 2
Nike Free Run
回复
使用道具
举报
edm.12ke.com
edm.12ke.com
当前离线
积分
0
发表于 2011-6-29 23:19:50
|
显示全部楼层
低调回贴,沉默做人
回复
使用道具
举报
arlysolm
arlysolm
当前离线
积分
0
发表于 2011-8-23 11:37:22
|
显示全部楼层
支持一下原创
回复
使用道具
举报
返回列表
发帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
CSNA会员注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
浏览过的版块
资源共享
快速回复
返回顶部
返回列表