ARP协议学习
- 格式:doc
- 大小:22.00 KB
- 文档页数:1
ARP协议详解ARP报文结构ARP协议详解与ARP报文结构ARP(Address Resolution Protocol,地址解析协议)是一个重要的网络协议,用于将IP地址与MAC地址相互映射。
在局域网中,每个主机都有一个唯一的IP地址和MAC地址,而ARP协议则负责通过目标IP地址获取对应的MAC地址,从而实现数据包的正确传输。
一、ARP工作流程ARP的工作流程可以简单概括为以下几个步骤:1. 发送ARP请求:源主机A在发送数据包时,会先检查目标主机B的IP地址是否与自己在同一局域网中,如果不是,则需要获取目标主机的MAC地址。
A会根据目标主机的IP地址构建一个ARP请求包(ARP Request),该包中包含源主机A的IP地址、MAC地址以及目标主机的IP地址。
然后,A会将ARP请求包广播发送到局域网中的所有主机。
2. 接收ARP请求:局域网中的其他主机收到ARP请求包后会进行筛选,只有与ARP请求包中的目标IP地址相同的主机会继续处理。
3. 发送ARP响应:局域网中的目标主机B收到ARP请求包后会将自己的MAC地址信息封装在一个ARP响应包(ARP Reply)中,并发送给源主机A。
该ARP响应包中包含目标主机B的IP地址、MAC地址以及源主机A的IP地址。
4. 更新ARP缓存表:源主机A收到ARP响应包后会将目标主机B的IP地址与其对应的MAC地址映射关系添加到本地的ARP缓存表中,以备将来使用。
5. 数据传输:当主机A获取到目标主机B的MAC地址后,就可以将待发送的数据包封装在以太网帧中,通过局域网将数据包传输给目标主机B。
二、ARP报文结构ARP报文结构包括以下字段:1. 硬件类型(Hardware Type):占2字节,表示硬件接口类型,例如以太网。
2. 协议类型(Protocol Type):占2字节,表示网络协议类型,例如IPv4或IPv6。
3. 硬件地址长度(Hardware Address Length):占1字节,表示源和目标MAC地址的长度,通常为6(以太网中的MAC地址长度)。
ARP协议详述1.ARP协议概述IP数据包常通过以太网发送。
以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。
因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。
在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。
地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。
ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。
目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。
发送者将这个地址对高速缓存起来,以节约不必要的ARP通信。
如果有一个不被信任的节点对本地网络具有写访问许可权,那么也会有某种风险。
这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。
ARP机制常常是自动起作用的。
在特别安全的网络上,ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。
图1 以太网上的ARP报文格式图1是一个用作IP到以太网地址转换的ARP报文的例子。
在图中每一行为32位,也就是4个八位组表示,在以后的图中,我们也将遵循这一方式。
硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。
协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。
硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。
操作字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP 响应为4。
当发出ARP请求时,发送方填好发送方首部和发送方IP地址,还要填写目标IP地址。
当目标机器收到这个ARP广播包时,就会在响应报文中填上自己的48位主机地址。
2 ARP使用举例我们先看一下linux下的arp命令(如果开始arp表中的内容为空的话,需要先对某台主机进行一个连接,例如ping一下目标主机来产生一个arp项):d2server:/home/kerberos# arpAddress HWtype HWaddress Flags Mask Iface211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0Address:主机的IP地址Hwtype:主机的硬件类型Hwaddress:主机的硬件地址Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目。
网络协议之ARP协议原理及应用ARP协议原理及应用一、协议概述ARP(Address Resolution Protocol,地址解析协议)是一种用于解析IPv4地址和MAC地址之间对应关系的协议。
它在局域网中起到了重要的作用,用于在发送数据前确定目标主机的MAC地址,以便将数据正确地发送到目标主机。
本协议旨在解释ARP协议的工作原理和应用场景。
二、协议原理1. ARP请求过程当发送方主机A需要向目标主机B发送数据时,首先会检查本地的ARP缓存表,如果该表中存在目标主机B的IP地址对应的MAC地址,则直接使用该MAC 地址发送数据。
如果ARP缓存表中没有目标主机B的对应项,则主机A会发送一个ARP请求广播,请求目标主机B回复其MAC地址。
该广播包含发送方主机A 的IP地址和MAC地址。
2. ARP应答过程当目标主机B收到ARP请求广播后,会检查请求中的IP地址是否与自己的IP 地址匹配,如果匹配则会发送一个ARP应答包给发送方主机A。
该应答包中包含目标主机B的MAC地址。
3. ARP缓存表更新发送方主机A在收到目标主机B的ARP应答包后,会将目标主机B的IP地址和MAC地址的对应关系记录到本地的ARP缓存表中,以便下次发送数据时直接使用。
三、协议应用1. IP地址解析ARP协议用于将IP地址解析为对应的MAC地址。
在发送数据时,发送方主机A需要知道目标主机B的MAC地址才能正确地将数据发送到目标主机。
通过ARP 协议,发送方主机A可以向目标主机B发送ARP请求,获取目标主机B的MAC地址,并将其缓存在本地的ARP缓存表中,以便后续的通信。
2. 局域网内通信ARP协议在局域网内部起到了重要的作用。
在局域网中,主机之间通常使用IP地址进行通信,而ARP协议则负责将IP地址解析为对应的MAC地址。
通过ARP协议,主机可以通过IP地址找到目标主机的MAC地址,从而实现局域网内的通信。
3. 网关寻址在网络中,网关是连接不同子网的设备,用于实现不同子网之间的通信。
ARP原理(1)A R P发送一份称作A R P请求的以太网数据帧给以太网上的每个主机。
这个过程称作广播,如图(ARP)中的虚线所示。
A R P请求数据帧中包含目的主机的I P地址(主机名为b s d i),其意思是“如果你是这个I P地址的拥有者,请回答你的硬件地址。
”(2)目的主机的A R P层收到这份广播报文后,识别出这是发送端在寻问它的I P地址,于是发送一个A R P应答。
这个A R P应答包含I P地址及对应的硬件地址。
(注:如果目的主机不存在,根据TCP重传机制,一般将在75秒后不再重新发送。
)(3)收到A R P应答后,使A R P进行请求—应答交换的I P数据报现在就可以传送了。
(4)发送I P数据报到目的主机。
ARP高速缓存A R P高效运行的关键是由于每个主机上都有一个A R P高速缓存。
这个高速缓存存放了最近I n t e r n e t地址到硬件地址之间的映射记录。
高速缓存中每一项的生存时间一般为2 0分钟,起始时间从被创建时开始算起。
ARP的分组格式在以太网上解析I P地址时,A R P请求和应答分组的格式如下图所示抓包截图:以太网目的地址就是目标MAC地址。
如上图中的就是广播给所有人。
以太网源地址就是源MAC地址。
帧类型就是说明后面数据类型。
对于ARP请求或英达来说,该字段的值为0x0806。
可见抓包图形容词hardware(硬件)和protocol(协议)用来描述ARP分组中的各个字段。
例如,一个ARP请求分组询问协议地址(这里是I P地址)对应的硬件地址(这里是以太网地址)。
硬件类型字段表示硬件地址的类型。
它的值为1即表示以太网地址。
如抓包图:一个是以太网址,一个是IP地址接下来两个字段规定后四个字段的长度op操作字段指出四种操作类型,它们是A R P请求(值为1)、A R P应答(值为2)、R A R P请求(值为3)和R A R P应答(值为4)。
这个字段必需的,因为A R P请求和A R P应答的帧类型字段值是相同的。
TCP/IP之ARP调试在编写ARP程序及调试之前需要知道ARP协议的概念、工作原理、ARP的格式和ARP数据包的填充,下面将我编写ARP程序及调试过程写出来。
第一步ARP协议的基础知识1.ARP的定义及工作原理地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。
于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。
这就是ARP协议要做的事情。
ARP工作过程可以简单描述为以下三步:①A首先广播一个ARP报文;②网上的所有主机都接收到报文;③只有B识别,回答A,发送定向ARP报文;2.ARP包的格式图1以太网使用ARP请求或发送格式由上图可以看出ARP数据包由两部分组成:以太网首部+以太网ARP帧。
首先分析以太网首部,以太网首部它将存在于任何一个协议数据包的前面,格式如下,以太网首部填充的是接收方的是MAC地址,此处通常是ff-ff-ff-ff-ff-ff即在局域网内发送广播;发送方的MAC地址(根据实际情况而定),ARP帧类型默认值为0x0806。
表格1 以太网首部帧格式表格2 ARP帧格式3.ARP数据包的填充ARP请求数据包的填充:按照表格2和表格3依次填充数据ARP应答数据包的填充:按照表格2和表格3填充,只要交换接收者和发送者的MAC和IP即可第二步编程实现ARP请求和应答在了解ARP基本知识的基础上,开始编写程序以及程序调试。
整体的流程图为:我做的ARP协议主要实现的功能:设置DM9000的MAC地址为:12-34-56-78-9a-bc,IP 地址为192.168.2.2,并且知道PC机的IP地址为192.168.2.225,目前想知道PC机的MAC地址。
即通过ARP协议来解析PC机的MAC地址。
实现的步骤如下:1.dm9000初始化dm9000初始化的过程,实际上就是填写和设置dm9000寄存器的过程,寄存器的名称宏定义在dm9000.h中,具体的配置过程如下:void DM9000_init() //DM9000初始化{DM9000_write(DM9000_NCR,0x01); //第一次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00); //清除复位位DM9000_write(DM9000_NCR,0x01); //为了确保复位正确,第二次软件复位DELAY_US(20);DM9000_write(DM9000_NCR,0x00); //清除复位位DM9000_write(DM9000_GPR,0x01); //PHY掉电DELAY_US(20);DM9000_write(DM9000_GPR,0x00); //PHY激活DELAY_US(3000); //至少延时2msDM9000_write(DM9000_NSR,0x2c); //清除发送完成标志DM9000_write(DM9000_ISR,0x3f); //清除中断标志位DM9000_write(DM9000_RCR,0x39); //丢弃长数据包,丢弃CRC校验错误数据包,接收使能DM9000_write(DM9000_TCR,0x00); //禁止发送DM9000_write(DM9000_NCR,0x00); //配置为正常模式DM9000_write(DM9000_IMR,0x80); //使能SRAM的读/写指针在指针地址超过SRAM的大小时自动DM9000_write(DM9000_PAB0,0x12); //dm9000的mac地址写到PARDM9000_write(DM9000_PAB1,0x34);DM9000_write(DM9000_PAB2,0x56);DM9000_write(DM9000_PAB3,0x78);DM9000_write(DM9000_PAB4,0x9a);DM9000_write(DM9000_PAB5,0xbc);DM9000_write(DM9000_NSR,0x2c); //再一次清除发送完成标志DM9000_write(DM9000_ISR,0x3f); //清除中断标志位DM9000_write(DM9000_IMR,0x81); //开接收中断,关掉发送中断}2.构建ARP请求包ARP数据包=以太网首部(14字节)+ARP帧格式(28字节)+18字节的填充字(填充字为0)。
ARP协议的基础知识ARP协议,全称为地址解析协议(Address Resolution Protocol),是用于在TCP/IP通信中实现IP地址与MAC地址转换的协议。
ARP协议是一种广泛应用于以太网中的协议,是以太网通信的必要基础。
ARP协议的基本原理是,在局域网内,每台主机都有一个独特的MAC地址,而网络通信的基础是IP地址。
当主机需要向另外一台主机发送数据时,需要知道目标主机的MAC地址,以便将数据包正确发送到目标主机。
而ARP协议的作用就是,通过查询网络中的MAC地址,将IP地址与MAC地址建立对应关系,从而实现网络通信。
ARP协议的核心是ARP缓存,即一个IP地址与MAC地址的映射表。
当主机需要发送数据包时,它首先检查自己的ARP缓存,查找目标主机的MAC地址。
如果ARP缓存中存在目标主机的MAC地址,则数据包直接发送到目标主机。
如果ARP缓存中不存在目标主机的MAC地址,则主机需要发送一个ARP请求数据包,请求网络中是否有该IP地址对应的MAC地址。
如果有,目标主机将会应答一个ARP响应数据包,告诉源主机它的MAC地址,从而建立起IP地址与MAC地址的对应关系。
在ARP协议中,有一个重要的参数——TTL(Time to Live),它表示ARP缓存中一个IP地址与MAC地址的存活时间。
当一个IP地址与MAC地址的对应关系在ARP缓存中的存活时间达到TTL时,该对应关系将会被ARP缓存删除。
这一机制能够避免ARP缓存中存在旧的或失效的MAC地址,从而保证网络通信的可靠性。
除了基本功能外,ARP协议还有一些扩展功能,如静态ARP、逆向ARP等。
静态ARP是一种手动配置ARP缓存中IP地址与MAC地址的对应关系的方法,可以节省ARP请求和响应的开销。
逆向ARP是一种基于MAC地址查询IP地址的协议,它被应用于无线局域网中,可以在无需IP地址的情况下完成无线终端的连接。
总的来说,ARP协议是实现以太网通信的重要基础,它通过建立IP地址与MAC地址的对应关系,在网络通信中起到了关键作用。
介绍ARP协议的作用和功能ARP(Address Resolution Protocol)是一种用于在IPv4网络中解析IP地址和物理MAC地址之间映射关系的协议。
它在局域网中起着至关重要的作用,使得网络设备能够通过IP地址找到对应的MAC地址,从而实现数据的正确传递。
IP地址和MAC地址在理解ARP协议之前,需要了解IP地址和MAC地址的概念。
IP地址是全球唯一标识网络中设备的地址,它由32位二进制数组成,通常以点分十进制表示(例如:192.168.0.1)。
而MAC地址是网络设备的物理地址,由48位二进制数组成,通常以冒号分隔的十六进制表示(例如:00:1A:2B:3C:4D:5E)。
ARP协议的功能ARP协议的主要功能是将IP地址解析为对应的MAC地址,或者将MAC地址解析为对应的IP地址。
具体来说,ARP 协议提供了以下两个重要的功能:1.地址解析:当一台设备需要与另一台设备通信时,它需要知道目标设备的MAC地址。
通过发送ARP请求广播,源设备可以询问局域网中的所有设备:“谁拥有这个IP地址?”目标设备收到请求后,会回复一个ARP响应,包含自己的MAC地址。
这样,源设备就可以得到目标设备的MAC地址,从而建立通信。
2.地址缓存:为了避免频繁的ARP请求和响应,设备会在本地维护一个ARP缓存表(也称为ARP缓存或ARP表)。
ARP缓存表记录了已解析的IP地址和对应的MAC地址的映射关系。
当设备需要与已知IP地址通信时,它可以直接查找ARP缓存表,而无需发送ARP请求。
如果在ARP缓存表中找不到对应的条目,设备将重新发送ARP请求以更新缓存。
ARP协议的重要性ARP协议在局域网中的作用非常重要。
它使得设备能够通过IP地址进行通信,并且在需要时能够动态地解析IP地址和MAC地址的映射关系。
ARP协议的正常运行对于实现数据包的正确传递和网络通信的顺畅性至关重要。
然而,由于ARP协议的工作机制较为简单,存在一些安全风险,例如ARP欺骗攻击和ARP缓存中毒攻击。
arp实验报告总结1. 引言ARP(地址解析协议)是计算机网络中的重要协议之一,用于将IP地址转换为物理地址(MAC地址)。
本实验旨在通过对ARP协议的理论学习和实际实验操作,深入理解ARP协议的工作原理和应用场景。
2. 实验目的1) 了解ARP协议的基本概念和工作流程;2) 掌握ARP请求和应答消息的格式和交互过程;3) 使用网络工具进行ARP实验,观察和分析实验结果;4) 分析ARP协议的优缺点及应用场景。
3. 实验步骤1) 理论学习:通过阅读相关资料和教材,了解ARP协议的基本概念、工作原理和数据包格式。
2) 实验环境搭建:在实验室中搭建实验环境,包括多台计算机和交换机等设备,并配置IP地址。
3) 实验操作:使用网络工具(如Wireshark)对ARP的请求和应答过程进行抓包,并分析抓包结果。
4) 实验结果分析:根据实验抓包结果,分析ARP协议的工作方式、消息交互过程和应用实例。
5) 实验总结:对实验过程中遇到的问题和实验结果进行总结,归纳ARP协议的特点和应用场景。
4. 实验结果及分析通过实验操作和抓包分析,得出以下结论:1) ARP协议通过广播方式发送ARP请求消息,等待目标主机的ARP应答消息,以获取目标主机的MAC地址。
2) ARP缓存表用于存储IP地址与MAC地址的映射关系,可以提高网络传输的效率。
3) ARP协议存在着ARP欺骗攻击的风险,黑客可以通过篡改ARP表来实施中间人攻击。
4) ARP协议在局域网环境中广泛应用,用于解析IP地址和MAC地址的转换,实现网络通信。
5. ARP协议的优缺点1) 优点:ARP协议简单实用,通过IP地址与MAC地址的转换,实现了网络通信的可靠性和效率。
2) 缺点:ARP协议依赖于广播方式进行地址解析,会增加网络负载和安全风险;同时,ARP协议对网络规模有一定限制,无法跨越子网进行通信。
6. 应用场景ARP协议在以下场景中起到重要作用:1) 局域网通信:ARP协议用于在局域网中解析IP地址和MAC地址的对应关系,实现计算机之间的通信。
ARP\
DNS会自动把网址解析为IP地址,浏览器查找的是IP地址,而不是网址
IP地址通过ARP协议转换为MAC地址,即第二层物理地址
ARP欺骗:伪造IP地址和MAC地址
名词解释:
ARP address resolution protocol 地址解析协议。
主机在发送帧之前将目标的IP地址改为MAC 地址。
基本功能:通过目标设置的IP地址,查询目标设备的MAC地址。
网络中实际传输的是帧,帧里面包含目标主机的MAC地址。
ARP的工作原理:
每台安装TCP/IP协议的电脑里都有一个ARP缓存表,表里的地址和MAC地址一一对应。
例如:主机A(192.168.1.5)向主机B(192.168.1.1)发送数据,主机A会在自己的ARP 缓存表里寻找是否有目标机器的IP地址,如果找到了,也就知道了目标机器的MAC地址,然后就直接把MAC地址写入帧里面就可以了。
若没有找到对应的IP地址,就会在网络上发送广播。
如何查看ARP缓存表:
Arp –a查看
Arp –d删除ARP表中某一行第内容
Arp –s可手动在ARP表中指定IP地址和MAC地址的对应
ARP欺骗
1.对路由器ARP表的欺骗原理:截取网关数据。
解决方案:重启路由器。
制造一系列的错误的内网MAC地址给路由,并按照一定的频率不断的进行,使真实的MAC地址信息无法通过更新,结果路由器只能把所有的数据传给错误的MAC地址,使PC无法获得信息。
2.对内网PC的网关欺骗原理:伪造网关。
建立假网关,欺骗PC向假网关发送数据,而不是通过正常的路由器来上网,即网络掉线。
路由器功能
1.路由器IP=MAC绑定吧IP和MAC都输入到一个静态表中
2.PC机IP=MAC绑定在内网的所有机器上设置网关的静态ARP信息。