普通ARP请求及回应

合集下载

arp请求和相应的具体过程 -回复

arp请求和相应的具体过程 -回复

arp请求和相应的具体过程-回复ARP(Address Resolution Protocol)是一种网络协议,用于将IP地址与MAC地址相互映射,以实现在网络层和链路层之间的通信。

ARP 请求和相应的过程是实现该映射的关键步骤。

本文将逐步解释ARP请求和响应的具体过程。

1. ARP基本概念ARP是一种请求-响应协议,用于获取目标设备的MAC地址。

它由两种主要消息组成:ARP请求和ARP响应。

ARP请求消息包含发送方的IP地址和MAC地址,以及目标设备的IP地址。

ARP响应消息包含发送方的IP和MAC地址,以及目标设备的IP和MAC地址。

2. ARP请求流程当主机A需要与主机B进行通信时,主机A会首先检查其本地的ARP 缓存。

如果目标设备的MAC地址已经在ARP缓存中,则主机A可以直接进行通信。

否则,主机A需要发送ARP请求以获取目标设备的MAC 地址。

3. ARP请求消息格式ARP请求消息包含以下字段:a. 硬件类型:指定链路层的类型,如以太网。

b. 协议类型:指定网络层的类型,如IPv4。

c. 硬件地址长度:指定MAC地址的字节数。

d. 协议地址长度:指定IP地址的字节数。

e. 操作码:指定此消息是ARP请求。

f. 发送方MAC地址:发送方的MAC地址。

g. 发送方IP地址:发送方的IP地址。

h. 目标MAC地址:通常设置为0。

i. 目标IP地址:目标设备的IP地址。

4. ARP请求过程a. 主机A将目标设备的IP地址作为目标IP地址,并设置目标MAC 地址为0,发送ARP请求消息到本地链路。

b. ARP请求消息被封装在数据链路层的帧中,并使用广播地址发送到本地网络上的所有设备。

c. 当主机B接收到ARP请求消息时,它会检查目标IP地址是否与自己的IP地址匹配。

d. 如果主机B的IP地址与目标IP地址匹配,它会将自己的MAC地址作为目标MAC地址,并将其发送到主机A的MAC地址。

e. 如果主机B的IP地址与目标IP地址不匹配,则忽略ARP请求消息。

ARP请求详解

ARP请求详解

ARP请求详解/thread-520007-1.htmlIP地址是不能直接用来进行通信的。

这是因为IP地址只是主机在抽象的网络层中的地址。

若要将网络层中传送的数据报交给目的主机,还要传到链路层转变成MAC帧后才能发送到实际的网络上。

因此,不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

由于IP地址有32 bit,而局域网的硬件地址是48bit,因此它们之间不存在简单的映射关系。

此外,在一个网络上可能经常会有新的主机加入进来,或撤走一些主机。

更换网卡也会使主机的硬件地址改变。

可见在主机中应存放一个从IP地址到硬件地址的映射表,并且这个映射表还必须能够经常动态更新。

地址解析协议ARP很好地解决了这些问题。

每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表,这些都是该主机目前知道的一些地址。

如果不使用ARP高速缓存,那么任何一个主机只要进行一次通信,就必须在网络上用广播方式发送ARP请求分组,这就使网络上的通信量大大增加。

ARP将已经得到的地址映射保存在高速缓存中,这样就使得该主机下次再和具有同样目的地址的主机通信时,可以直接从高速缓存中找到所需的硬件地址而不必再用广播方式发送ARP请求分组。

(详解过程请参考第2页)ARP将保存在高速缓存中的每一个映射地址项目都设置生存时间(例如,10~20分钟)。

凡超过生存时间的项目就从高速缓存中删除掉。

设置这种地址映射项目的生存时间是很重要的。

设想有一种情况。

主机A和B通信。

A的ARP高速缓存里保存有B的物理地址。

但B的网卡突然坏了,B立即更换了一块,因此B的硬件地址就改变了。

A还要和B继续通信。

A 在其ARP高速缓存中查找到B原先的硬件地址,并使用该地址向B发送数据帧。

但B原先的硬件地址已经失效了,因此A无法找到主机B。

但是过了一段时间,A的ARP高速缓存中已经删除了B原先的硬件地址(因为它的存在时间到了),于是A重新广播发送ARP请求分组,又找到了B。

arp请求和相应的具体过程

arp请求和相应的具体过程

ARP( 地址解析协议)是用于将IP地址解析为MAC地址的协议,以便在局域网上进行通信。

下面是ARP请求和相应的具体过程:1.(首先,发送方主机A要发送数据给目标主机B,但是A并不知道B的MAC地址。

A会检查本地的ARP缓存表,看是否已经有B的IP地址对应的MAC地址。

如果有,A就可以直接发送数据了。

如果没有,A需要发送ARP请求来获取B的MAC地址。

2.(A创建一个ARP请求包,包含以下几个字段:(((-(目标MAC地址:全0 广播地址,表示发送给所有主机)(((-(目标IP地址:B的IP地址(((-(源MAC地址:A的MAC地址(((-(源IP地址:A的IP地址(((-(ARP请求操作码:1 表示ARP请求)3.(A将ARP请求包封装在以太网帧中,并将目标MAC地址设置为广播地址 全FF),以太网帧的目标IP地址设置为B的IP地址,源MAC地址设置为A的MAC地址,源IP地址设置为A的IP地址。

然后A将该帧发送到本地网络上。

4.(所有在本地网络上的主机都会收到这个ARP请求包,但是只有IP地址与请求中的目标IP 地址相同的主机 即B)会作出响应。

5.(B接收到ARP请求包后,检查请求包中的目标IP地址是否与自己的IP地址相匹配。

如果匹配,B将创建一个ARP响应包,包含以下几个字段:(((-(目标MAC地址:A的MAC地址(((-(目标IP地址:A的IP地址(((-(源MAC地址:B的MAC地址(((-(源IP地址:B的IP地址(((-(ARP响应操作码:2 表示ARP响应)6.(B将ARP响应包封装在以太网帧中,并将目标MAC地址设置为发送ARP请求的A的MAC 地址,以太网帧的目标IP地址设置为A的IP地址,源MAC地址设置为B的MAC地址,源IP地址设置为B的IP地址。

然后B将该帧发送到本地网络上。

7.(A接收到ARP响应包后,会检查响应包中的源IP地址是否与自己的IP地址相匹配。

如果匹配,A将从响应包中获取B的MAC地址,并将其添加到ARP缓存表中。

ARP(地址解析协议)

ARP(地址解析协议)

ARP(地址解析协议)⽬录1. ARP 概述地址解析协议,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的⼀个TCP/IP协议。

它是IPv4中⽹络层必不可少的协议,不过在IPv6中已不再适⽤,并被邻居发现协议(NDP)所替代。

主机发送信息时将包含⽬标IP地址的ARP请求⼴播到⽹络上的所有主机,并接收返回消息,以此确定⽬标的物理地址;收到返回消息后将该IP地址和物理地址存⼊本机ARP缓存中并保留⼀定时间,下次请求时直接查询ARP缓存以节约资源。

地址解析协议是建⽴在⽹络中各个主机互相信任的基础上的,⽹络上的主机可以⾃主发送ARP应答消息,其他主机收到应答报⽂时不会检测该报⽂的真实性就会将其记⼊本机ARP缓存;由此攻击者就可以向某⼀主机发送伪ARP应答报⽂,使其发送的信息⽆法到达预期的主机或到达错误的主机,这就构成了⼀个ARP欺骗。

ARP命令可⽤于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。

相关协议有RARP、代理ARP。

⽹络层使⽤的是 IP 地址,但在实际⽹络的链路上传输数据帧时,最终还必须使⽤该⽹络的硬件地址。

但 IP 地址和下⾯的⽹络的硬件地址由于格式不同⽽不存在简单的映射关系。

此外,⼀个⽹络上可能会经常会有新主机加⼊进来,或撤⾛⼀些主机。

更换⽹络适配器也会使主机的硬件地址改变。

地址解析协议 ARP 解决的⽅法是:在主机ARP⾼速缓存中应存放⼀个从IP地址到硬件地址的映射表,并且这个映射表还经常动态更新(新增或超时删除)。

注意:ARP是解决同⼀局域⽹中主机或者路由器的IP地址和硬件地址的映射问题,在每⼀台主机中都有⼀个ARP⾼速缓存(ARP cache),⾥⾯存储本主机所知道本局域⽹中其他主机的IP地址与硬件地址的映射表2. ARP 协议⼯作原理当主机 A 向本局域⽹上的某台主机 B 发送 IP 数据报时,就先在其 ARP ⾼速缓存中查看有⽆主机 B 的 IP 地址。

描述arp欺骗的原理及过程 -回复

描述arp欺骗的原理及过程 -回复

描述arp欺骗的原理及过程-回复ARP欺骗(Address Resolution Protocol spoofing)是一种网络攻击技术,攻击者通过伪造或欺骗目标网络设备的ARP信息,实现对通信进行窃听、篡改和伪装等恶意操作。

本文将详细介绍ARP欺骗的原理及过程。

一、ARP协议的基本原理在深入了解ARP欺骗之前,我们先来了解一下ARP协议的基本原理。

ARP (地址解析协议)是一种用于解析IP地址与MAC地址之间关系的协议。

在TCP/IP网络中,数据在发送时使用的是IP地址,而以太网(Ethernet)则使用MAC地址进行寻址。

ARP协议的作用就是通过查询网络上的其他设备,获取指定IP地址对应的MAC地址,从而实现数据包的转发。

ARP协议的工作方式如下:1. 当源主机要发送数据包给目标主机时,首先检查本地的ARP缓存表(ARP cache),看目标主机的MAC地址是否已经缓存。

2. 如果ARP缓存表中不存在目标主机的MAC地址,源主机会发送一个ARP请求广播,询问其他主机谁知道目标主机的MAC地址。

3. 目标主机收到ARP请求后,会发送一个ARP响应,包含自己的MAC 地址。

4. 源主机收到ARP响应后,将目标主机的IP地址和对应的MAC地址存入ARP缓存表,并将数据包发送给目标主机。

二、ARP欺骗原理ARP欺骗就是攻击者利用ARP协议的工作原理,欺骗目标主机获取其MAC地址,从而干扰或中断正常的通信。

实现ARP欺骗的关键是通过伪造ARP响应,将攻击者自己的MAC地址告诉目标主机,使其将数据包发送给攻击者。

这样,攻击者就可以窃听、篡改或伪装网络通信。

ARP欺骗的主要类型包括:1. ARP请求响应欺骗:攻击者伪造一个含有目标主机IP地址和另一个MAC地址的ARP响应,发送给本地网络中的其他主机,使其错误地认为目标主机的MAC地址是伪造的MAC地址。

这样,其他主机发送的数据包将会被错误地发送给攻击者。

arp协议的解析过程

arp协议的解析过程

arp协议的解析过程ARPA(地址解析协议)是一种局域网(LAN)协议,它用于将IP 地址转换为物理地址,即MAC地址。

它还可以识别本地网络中的主机,并检查网络上其他主机的存在。

许多网络协议都使用ARP来完成地址解析功能,包括TCP/IP、IPX和AppleTalk。

ARP协议的解析过程非常简单,但很有效。

当一台计算机想要发送一个数据包到另一台计算机时,它会发送一个广播ARP请求。

此广播ARP请求是一个使用广播通信机制的数据包,其中包含了发送方和接收方的IP地址。

每个网络上的主机都会收到此ARP请求,但只有接收方才会回复一个ARP应答,以及它的MAC地址。

发送方收到ARP 应答后,就可以用它的MAC地址继续发送数据包。

ARP协议建立在其他协议的基础上运行,并有效地解析IP地址到MAC地址。

ARP使用什么样的协议取决于本地网络的连接类型。

如果本地网络是基于以太网的,它会使用以太网ARP(Ethernet ARP)协议。

而如果本地网络是基于令牌环的,它会使用令牌环ARP(Token Ring ARP)协议。

无论使用哪种协议,ARP协议解析这样的步骤都是一样的:发送ARP请求,接收ARP应答,然后用收到的MAC地址发送数据包。

为了更有效地使用ARP协议,大多数系统都支持ARP缓存(也称为ARP表)。

一旦计算机接收到ARP应答,它就会把接收方的IP地址和MAC地址保存到ARP缓存中。

以后,它就会检查ARP缓存,而不是发送新的ARP请求,以节省网络带宽。

在局域网内,每个主机的ARP缓存列表大致相同,但是当此主机发送数据包到Internet时,它的ARP缓存列表就完全不同了,因为Internet上的每个主机都有一个不同的IP地址。

ARP协议也被用于防止ARP欺骗,也称为ARP伪造。

ARP伪造是一种攻击方法,允许攻击者伪造网络中其他主机的IP地址,以便解除网络上数据的传输权限。

比如,当攻击者伪装成另一台连接到网络的计算机时,就可以收集他人的网络数据包。

ARP协议简介(何敏2009年5月技术文档一)

ARP协议简介(何敏2009年5月技术文档一)

ARP,即地址解析协议,为IP地址到对应的硬件地址之间提供动态映射。

当一台主机把以太网数据帧发送到局域网中的另一台主机时,是根据48bit的硬件地址(即MAC地址)来确定目的接口的,设备驱动程序并不检查IP数据报中的目的IP地址。

一、ARP分组的格式:如上图示,以太网前两个字段是以太网的目的地址和源地址,目的地址为全1的为广播地址。

两个字节的帧类型表示后面数据的类型,对于ARP报文,其值为0x0806。

硬件类型字段表示硬件地址的类型,值为1表示以太网。

协议类型表示要映射的协议地址类型,其值为0x0800表示IP地址。

硬件地址长度和协议地址长度是以字节为单位的,对于以太网上IP地址的ARP报文来说,值分别为6和4。

接下来的操作字段指出四种操作类型,分别是ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)、RARP应答(值为4)。

最后四个字段分别是发送端和目的以太网地址和IP地址。

二、ARP举例:1、当主机要与局域网上另一主机建立连接时,它需要首先知道目的主机的MAC地址,于是它会发一个ARP广播,局域网上的每个主机都能收到。

ARP请求的数据帧中包含目的主机的IP地址,其意思是“如果你是这个IP地址的拥有者,请回答你的硬件地址”。

2、目的主机收到这个ARP广播后,识别出这是发送端在询问它的MAC地址,于是发送ARP应答,告诉源主机自己的MAC地址。

3、当源主机收到ARP应答后,就可以发送IP数据报到目的主机了。

如果目的主机是远程网络,那么源主机首先需要知道默认网关的MAC地址,把IP数据报传给网关,由网关完成转发。

下面是使用抓包软件抓到的ARP请求和回应报文:ARP请求报文:ARP应答报文:三、ARP代理:如果ARP请求是从一个网络的主机发给另一个网络的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称为ARP代理(proxy ARP)。

这样可以欺骗源主机,使它误认为路由器就是目的主机,而实际上目的主机在路由器的另一边。

ARP 命令详解

ARP 命令详解

ARP 命令详解ARp(地址转换协议)的使用技巧ARp是一个重要的TCp/Ip协议,并且用于确定对应Ip地址的网卡物理地址。

实用arp 命令,我们能够查看本地计算机或另一台计算机的ARp高速缓存中的当前内容。

此外,使用arp命令,也可以用人工方式输入静态的网卡物理/Ip地址对,我们可能会使用这种方式为缺省网关和本地服务器等常用主机进行这项作,有助于减少网络上的信息量。

按照缺省设置,ARp高速缓存中的项目是动态的,每当发送一个指定地点的数据报且高速缓存中不存在当前项目时,ARp便会自动添加该项目。

一旦高速缓存的项目被输入,它们就已经开始走向失效状态。

例如,在Windows NT/2000网络中,如果输入项目后不进一步使用,物理/Ip地址对就会在2至10分钟内失效。

因此,如果ARp高速缓存中项目很少或根本没有时,请不要奇怪,通过另一台计算机或路由器的ping命令即可添加。

所以,需要通过arp命令查看高速缓存中的内容时,请最好先ping 此台计算机(不能是本机发送ping命令)。

ARp常用命令选项:·arp -a或arp –g 用于查看高速缓存中的所有项目。

-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARp高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

·arp -a Ip 如果我们有多个网卡,那么使用arp -a加上接口的Ip地址,就可以只显示与该接口相关的ARp缓存项目。

·arp -s Ip 物理地址我们可以向ARp高速缓存中人工输入一个静态项目。

该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

·arp -d Ip 使用本命令能够人工删除一个静态项目。

例如我们在命令提示符下,键入Arp –a;如果我们使用过ping 命令测试并验证从这台计算机到Ip 地址为10.0.0.99 的主机的连通性,则ARp 缓存显示以下项:Interface:10.0.0.1 on interface 0x1 Internet Address physical Address Type 10.0.0.9900-e0-98-00-7c-dc dynamic在此例中,缓存项指出位于10.0.0.99 的远程主机解析成00-e0-98-00-7c-dc 的媒体访问控制地址,它是在远程计算机的网卡硬件中分配的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

普通ARP请求及回应
一、ARP的定义
ARP(Address Resolution Protocol)地址解析协议:是在仅知道主机的IP地址时确定其物理地址的一种协议。

其主要作用是通过已知IP地址,获取对应物理地址的一种协议。

ARP具体说来就是将网络层地址解析为数据链路层的MAC地址。

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

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

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

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

三、ARP请求及应答过程
如图所示,A与B位于同一网段,A想要与B进行通信,此时,A就需要对自己的数据进行封装,但是,A只知道B的IP地址,不知道B的MAC地址,故而数据封装失败,A就会先发送一个ARP包询问B的MAC地址。

此时,就产生了,ARP的请求及应答。

下面我们来详细阐述一下这些步骤吧。

[键入文字]
[键入文字] 1、A 开始进行数据封装。

从网络层开始封装,先封装ICMP ,封装示意图如下:
2
、现在ICMP
封装完成了,接下来就要开始封装IP 了。

3、现在网络层封装完成了,接下来就是要封装数据链路层了。

[键入文字]
4、现在问题出现了,A 不知道B 的MAC 地址,数据封装失败。

数据封装失败了,那么A 要怎么办呢?此时,A 就要向它所在的网段(192.168.10.0)的所有主机发送ARP 包询问B 的MAC 地址,这个时候,A 就要开始封装ARP 包了。

5、
A 的
ARP 包封装完成了,现在只需要将其发送到网络中就行了。

在网络中抓包,发现ARP 请求包。

将请求包展开如下:
[键入文字]
6、在这个网络中的所有主机都会拆包,因为目标MAC 是全为F 的包,这就是一个广播,但是,正常情况下,只有B 会给A 回复。

此时对于B 来说就会有一个封装数据的过程,下面就是B 封装数据的过程。

7、B 封装完成后就发送给A ,A 收到B
的回复以后就开始更新本地
的MAC 缓存表,将B 的MAC 与IP 存进缓存表中。

[键入文字] 8、此时,A 知道了B 的MAC 地址,那么A 与B 的通信就可以进行了,这个时候A 就开始继续封装数据。

封装过程如下图:
9、现在开始封装
IP
10、A 的网络层封装完了,现在A 就开始封装数据链路层了。

封装过程如下:
[键入文字]
11、A 的数据包封装完了,接下来就是将数据在物理层转化为电信号进行传输了,发送的数据包被B 接收。

注:数据在链路上传输是电信号在进行传输。

12、B 接收数据后就对数据进行解封装,然后层层拆封装,然后再给A 回包。

13、在B 的回包过程中值得一提的就是,B 封装
ICMP 时的情形是不
一样的,其具体情形如下:
14、B 封装IP 的过程也是不同的。

其具体过程如下:
[键入文字]
15、B 封装数据链路层的过程如下:(也是不同的)
16、B 的封装就完成了,剩下的就是转换成电信号,在链路上传输。

至此ARP 就结束了。

四、ARP 总结
ARP 的主要作用是:在只知道IP 地址时,可以利用ARP 协议寻找相应IP 的MAC 地址,但是,ARP 得建立在信任的基础上,因为,ARP 的请求和应答之间没有什么固定的机制,如果在ARP
应答中一些居心不良者也进行ARP 应答时,就容易出现ARP 欺骗。

所以,ARP 也并不是完全安全的。

[键入文字]。

相关文档
最新文档