学习ARP协议.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:6 大小:26KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

学习ARP协议.doc

学习ARP协议.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

jingshne@netexpert.cnhttp://www.netexpert.cn学习ARP协议今天有一朋友给我挂电话,说他路由有问题了。开始是网络有问题,后来他断开网络,用单机接路由的LAN口进去调试,竟然都登录不进去!我便叫他在CMD下输入ARP—D(清空ARP缓存的命令)先试下,不要那么急着定结论。一分种后他再挂电话过来,可以登录了。问题有没有解决我们暂不去管,因为我们今天主要是聊ARP协议。了解ARP协议是非常有必要的,局域网内的通讯它必不可少,而且作用非常大,在后续的学习中,我们还将会遇到ARP欺骗等比较重要的东东。所以,俺将模拟刚才的那个问题,来跟大家一起探讨。一、ARP的基本概念为了省事,俺从网上搜了下,然后ctrlC,ctrlV下来。(*-*)IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(AddressResolutionProtocol,ARP)就是用来确定这些映象的协议。ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上,ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。图1以太网上的ARP报文格式jingshne@netexpert.cnhttp://www.netexpert.cn图1是一个用作IP到以太网地址转换的ARP报文的例子。在图中每一行为32位,也就是4个八位组表示,在以后的图中,我们也将遵循这一方式。硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。操作字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。当目标机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。二、模拟环境比较简单,所以没有画拓朴图。思路:使用两台带WEB管理的路由(A和B),设同一IP(192。168。22。1),用一台PC(192。168。22。5)接入其中一台,打开WEB管理介面。然后立即切换到另一台路由(就是野蛮的把网线拔下换到别一台),再接着打开WEB管理,看会有什么现像发生。(1)接入A,打开WEB管理。捕包如下:由上图我们可以看到,再进行通讯之前,会先进行ARP请求,然后再是HTTP连接的建立。上面所捕的目标MAC地址是FF:FF:FF:FF:FF:FF,目标IP是:192。168。22。1。其意义就是这是一个广播包,主机192。168。22。5希望得到192。168。22。1的MAC地址。(2)立即把网线拔下接入到B,再打开WEB管理。可是我却发现,立即就能访问。jingshne@netexpert.cnhttp://www.netexpert.cn也就是说没有出现刚才所说,需要清空ARP缓存的情况。怎么回事?看下面我们捕包的截图:上图蓝色部分是A的包,为了明显区分,我把B上的WEB访问端口改了下,这样我们就看到是褐色的了,并被omnipeek识别为使用了代理。我们发现蓝色和褐色之间,并没有ARP的请求与获取(SMB不用管),也就是说没有做任何动作,就可以访问B了。为什么呢?换了一个设备MAC地址应该是不同的啊!大家看上面有个蓝色选中区域,是一个从Draytek:27:9A:25发出来的请求192。168。22。6的ARP请求包,而这个MAC地址的IP是192。168。22。1(即是我们设置给AB路由的IP),请大家看上图的解码部分。由此我们便非常清楚了,在我们进行HTTP的连接之前,路由器已经把自己的MAC地下送过来了