ARP协议概述
- 格式:doc
- 大小:137.00 KB
- 文档页数:12
ARP地址解析协议简介ARP(Address Resolution Protocol)是一种用于解析本地IP地址和MAC地址之间对应关系的协议。
在TCP/IP网络中,当一个主机需要与另一个主机通信时,通常需要知道目标主机的MAC地址。
而ARP协议就是用来获取目标主机的MAC地址的。
ARP工作原理1.当源主机要发送数据包给目标主机时,首先检查自己的ARP缓存表中是否有目标主机的IP地址对应的MAC地址。
如果有,则直接使用该MAC地址进行通信。
2.如果ARP缓存表中没有目标主机的信息,则源主机会发送一个ARP请求广播包到局域网内的所有主机。
该ARP请求包包含源主机的IP地址以及MAC地址。
3.接收到ARP请求广播包的主机会检查自己的IP地址是否与ARP请求包中的目标IP地址相匹配。
如果匹配,则该主机会向源主机发送一个ARP 响应包,包含自己的IP地址和MAC地址。
4.源主机收到ARP响应包后,会将目标主机的IP地址和MAC地址添加到ARP缓存表中,并使用该MAC地址进行通信。
ARP缓存表ARP缓存表是每个主机上存储IP地址与MAC地址对应关系的表格。
它用于加快ARP解析的速度,避免频繁地发送ARP请求包。
当一个主机收到ARP响应包时,会将目标主机的IP地址和MAC地址添加到ARP缓存表中。
在后续的通信过程中,主机会直接使用ARP缓存表中的MAC地址进行通信。
ARP缓存表通常具有以下信息:- IP地址:目标主机的IP地址。
- MAC地址:目标主机的MAC地址。
- 接口:用于与目标主机通信的网络接口。
ARP欺骗ARP欺骗(ARP Spoofing)是一种恶意攻击技术,黑客通过伪造ARP响应包来篡改ARP缓存表中的对应关系。
一旦攻击成功,黑客就可以拦截、修改或重定向通信流量,从而实施中间人攻击。
为了防止ARP欺骗攻击,可以采取以下措施: - 使用静态ARP表:将重要主机的IP地址和MAC地址手动添加到ARP缓存表中,这样可以防止被攻击者伪造。
介绍ARP协议的定义和目的ARP(Address Resolution Protocol)是一种网络协议,用于将IP地址映射到物理硬件地址(MAC地址)。
它的主要目的是在局域网中解析目标设备的IP地址,以便能够正确地发送数据包。
定义ARP协议是一种在以太网或其他局域网中使用的协议,用于确定目标设备的MAC地址。
它通过发送ARP请求广播来查询目标设备的MAC地址,并通过ARP响应获得相应的映射关系。
目的ARP协议的目的是建立IP地址和MAC地址之间的映射关系,以便实现在局域网上的数据传输。
通过将IP地址解析为对应的MAC地址,ARP协议使得数据包能够准确地被发送到目标设备。
主要目标包括:1.地址解析:ARP协议通过查询目标设备的MAC地址,实现IP地址到MAC地址的解析,确保数据包被正确路由和传递。
2.局域网通信:在局域网中,设备之间通常使用MAC地址进行通信。
ARP协议使得设备能够通过IP地址找到对应的MAC地址,从而在局域网内进行数据传输。
3.缓存管理:ARP协议维护一个本地的ARP缓存表,记录IP地址和MAC地址的映射关系。
这样,在后续的通信中,可以直接使用缓存中的映射关系,提高数据传输的效率。
总之,ARP协议的定义和目的是为了解决IP地址和MAC地址之间的映射关系,以支持在局域网上的有效数据传输。
解释ARP协议的工作原理和过程ARP协议(Address Resolution Protocol)是一种用于解析IP地址和MAC地址之间映射关系的协议。
它的工作原理可以简单地描述为以下几个步骤:1.发送ARP请求广播:当一个设备需要发送数据包到目标设备时,它首先检查本地的ARP缓存表,查看是否有目标IP地址对应的MAC地址。
如果没有找到对应的MAC地址,它将发送一个ARP请求广播到局域网上的所有设备。
2.目标设备响应ARP请求:局域网上的其他设备接收到ARP请求广播后,会检查是否是自己的IP地址与之匹配。
ARP协议的功能以及运作过程一、ARP协议的概述ARP(Address Resolution Protocol)是一种用于在IPv4网络中解析IP地址和MAC地址之间映射关系的协议。
它使得计算机可以通过IP地址找到对应的MAC地址,从而实现数据包在局域网中的正确传输。
二、ARP协议的功能ARP协议的主要功能包括以下几个方面:1. IP地址与MAC地址的映射ARP协议能够解决IP地址和MAC地址之间的映射关系。
在局域网中,每台计算机都有唯一的MAC地址,用于在数据链路层传输数据。
而在网络层使用的是IP地址,ARP协议就是用于在这两者之间建立对应关系的。
2. 动态维护ARP缓存表为了加速IP地址和MAC地址的查找过程,ARP协议会维护一个ARP缓存表(ARP Cache Table)。
这个表中存储了最近访问过的IP地址和对应的MAC地址。
当需要发送数据包时,ARP会首先查找该表,如果找到了对应的MAC地址,则直接发送数据包;如果没有找到,则需要进行ARP请求操作,获取目标MAC地址。
3. ARP请求和ARP响应当需要发送数据包到一个目标IP地址时,发送方会首先查询ARP缓存表。
如果缓存表中没有目标IP地址对应的MAC地址,那么发送方会发送一个ARP请求广播,请求目标IP地址的MAC地址。
目标主机收到ARP请求后,会根据自己的IP地址判断是否需要响应。
如果需要响应,则会发送一个ARP响应包,包含自己的MAC地址给发送方。
4. 广播和单播ARP协议在进行地址解析时,通常使用广播(Broadcast)方式进行,即将ARP请求广播到整个局域网中的所有主机。
但是ARP响应包则使用单播(Unicast)方式,只将响应包发送给请求方。
三、ARP协议的运作过程1. 发起ARP请求当主机A需要向主机B发送数据包时,如果没有主机B的MAC地址,就需要使用ARP协议来获取。
1.主机A首先检查自己的ARP缓存表,查找是否有主机B的IP地址和对应的MAC地址。
网络协议之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的基本工作原理ARP(Address Resolution Protocol)是一种解决网络层地址与物理层地址映射的协议。
在计算机网络通信过程中,数据包需要通过MAC 地址进行传输,但是IP地址是网络层的标识符,因此需要ARP协议来将IP地址转换为MAC地址。
本文将详细介绍ARP的基本工作原理。
一、ARP协议概述1.1 ARP协议定义ARP(Address Resolution Protocol)是一种用于解决网络层地址与物理层地址映射的协议。
它定义了一个请求响应消息格式,用于查询目标设备的MAC地址,并将其存储在本地缓存中。
1.2 ARP协议作用ARP协议主要有两个作用:(1)解析IP地址和MAC地址之间的映射关系;(2)维护本地缓存表。
二、ARP基本工作原理2.1 ARP请求过程当主机A需要向主机B发送数据时,首先会检查本地缓存表中是否存在B的MAC地址。
如果存在,则直接使用该MAC地址进行通信;如果不存在,则需要进行以下操作:(1)主机A构造一个ARP请求包,其中包含目标IP地址和自己的MAC地址;(2)该ARP请求包被广播到整个局域网内;(3)所有收到该请求包的主机都会检查自己的IP地址是否与请求包中的目标IP地址相同。
如果相同,则将自己的MAC地址作为响应包返回给主机A;否则,忽略该请求包。
2.2 ARP响应过程当主机A收到主机B的ARP响应包后,会将B的MAC地址存储在本地缓存表中。
下次需要向B发送数据时,就可以直接使用本地缓存表中存储的MAC地址进行通信。
2.3 ARP缓存表ARP缓存表是一个记录IP地址和MAC地址映射关系的表格,其中每一项都包含了一个IP地址和对应的MAC地址以及一个时间戳。
当主机A收到一个ARP响应包时,会将目标IP地址和对应的MAC地址写入本地缓存表,并设置一个时间戳。
如果在一段时间内没有使用该映射关系,则会从缓存表中删除该项。
三、ARP协议优化3.1 ARP广播优化由于ARP请求是广播到整个局域网内的,因此会产生大量广播流量,影响网络性能。
ARP协议概说1 ARP协议概述ARP协议和ICMP协议是常用的TCP/IP底层协议。
在对网络故障进行诊断的时候,它们也是最常用的协议。
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP 协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。
2 ARP工作原理2.1 ARP工作过程当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。
然后,寻找IP地址到实际MAC地址的映射,这需要发送ARP广播消息。
当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。
最后,协议栈将IP包封装到以太网帧中进行传送。
如图1所示,描述了ARP广播过程。
图1 ARP广播在图1中,当主机A要和主机B通信(如主机A Ping主机B)时。
主机A 会先检查其ARP缓存内是否有主机B的MAC地址。
如果没有,主机A会发送一个ARP请求广播包,此包内包含着其欲与之通信的主机的IP地址,也就是主机B 的IP地址。
当主机B收到此广播后,会将自己的MAC地址利用ARP响应包传给主机A,并更新自己的ARP缓存,也就是同时将主机A的IP地址/MAC地址对保存起来,以供后面使用。
主机A在得到主机B的MAC地址后,就可以与主机B 通信了。
同时,主机A也将主机B的IP地址/MAC地址对保存在自己的ARP缓存内。
2.2 ARP报文格式ARP报文被封装在以太网帧头部中传输,如图2所示,是ARP请求协议报文头部格式。
图2 ARP请求协议报文头部格式图2中黄色的部分是以太网(这里是Ethernet II类型)的帧头部。
其中,第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。
第二个字段是源MAC地址,即请求地址解析的主机MAC地址。
第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议。
介绍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 概述地址解析协议,即 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(Address Resolution Protocol),地址解析协议,是一种用于在局域网中将IP地址解析为对应MAC地址的协议。
在计算机网络中,IP地址用于标识网络中的设备,而MAC地址则是用于标识设备的物理地址。
ARP协议的作用是通过IP地址查询对应的MAC地址,以实现数据的传输。
在本文中,我们将对ARP协议进行解析,并探讨其在实际应用中的作用与功能。
一、ARP协议概述1. ARP协议的定义ARP协议是一种地址解析协议,其作用是根据IP地址查询对应的MAC地址。
它通过广播的方式发送ARP请求,在局域网中寻找目标设备的MAC地址,以便进行数据传输。
一旦获取到目标设备的MAC地址,就可以通过以太网(Ethernet)传输层实现数据的传输。
2. ARP协议的工作原理ARP协议的工作原理可以分为以下四个步骤:a) 发送ARP请求:源设备向网络中的所有设备发送ARP请求,请求目标设备的MAC地址。
b) 目标设备响应ARP请求:目标设备接收到ARP请求后,将其MAC地址作为ARP响应发送给源设备。
c) 源设备收到ARP响应:源设备接收到目标设备的ARP响应后,将其存储在本地的ARP缓存中,以便将来的数据传输。
d) 数据传输:源设备通过目标设备的MAC地址将数据进行传输。
二、ARP协议的应用1. IP地址与MAC地址转换ARP协议的主要应用是实现IP地址与MAC地址之间的转换。
当一个设备需要与网络中的另一个设备进行通信时,首先需要知道目标设备的MAC地址,而通过ARP协议,可以通过目标设备的IP地址查询到其对应的MAC地址,从而实现数据的传输。
2. ARP缓存管理每次进行ARP请求响应之后,源设备会将目标设备的IP地址与MAC地址存储在本地的ARP缓存中,以便将来的数据传输。
ARP缓存管理是对这些缓存条目进行管理和维护的过程。
当ARP缓存中的某条目过期或者失效时,源设备会重新发送ARP请求以更新对应的MAC地址。
arp协议知识点总结一、ARP协议的原理1.1 ARP协议的作用ARP协议主要用于解决IP地址和MAC地址之间的对应关系问题。
在计算机网络中,通信双方需要知道对方的MAC地址才能实现数据包的传输。
而IP地址是用于标识设备的网络位置,通信双方在知道对方的IP地址后,就需要根据这个IP地址获取对应的MAC地址,从而实现数据的传输和通信。
1.2 ARP协议的原理ARP协议的原理就是在通信双方知道对方的IP地址后,通过广播的方式发送ARP请求报文,请求对方提供其对应的MAC地址。
收到ARP请求的设备会向发送请求的设备回复ARP应答报文,其中包含了其对应的MAC地址。
然后发送方根据这个MAC地址就可以构建数据帧,将数据包发送给对应的设备。
二、ARP协议的工作流程2.1 ARP协议的工作原理ARP协议的工作流程可以分为以下几个步骤:(1)发送ARP请求:当主机A需要和主机B进行通信时,首先会在本地ARP缓存表中查找主机B的IP地址对应的MAC地址。
如果找不到,则会发送ARP请求广播给本地子网中的所有主机,请求对应IP地址的MAC地址。
(2)接收ARP请求:所有的主机都会收到这个ARP请求广播,但只有主机B会对其进行回应。
(3)发送ARP应答:主机B接收到ARP请求后,会向主机A发送ARP应答报文,其中包含了自己的MAC地址。
(4)更新ARP缓存表:主机A收到ARP应答后,就会将主机B的IP地址和MAC地址对应关系更新到本地ARP缓存表中,以便以后再次通信时可以直接获取到对应的MAC地址。
2.2 ARP协议的工作流程图以下是ARP协议的工作流程图:[图]三、ARP协议的特点3.1 ARP协议的特点(1)ARP协议是一种简单、有效的地址解析协议,能够实现IP地址和MAC地址之间的对应关系。
(2)ARP协议是一种无状态协议,通信双方只是简单地请求和回应,没有任何状态信息保存。
(3)ARP协议是在数据链路层上的协议,其主要作用是将IP地址和MAC地址进行映射,实现了网络层和数据链路层之间的转换。
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 MaskIface211.161.17.254 ether 00:04:9A:AD:1C:0A Ceth0Address:主机的IP地址Hwtype:主机的硬件类型Hwaddress:主机的硬件地址Flags Mask:记录标志,"C"表示arp高速缓存中的条目,"M"表示静态的arp条目。
用"arp --a"命令可以显示主机地址与IP地址的对应表,也就是机器中所保存的arp缓存信息。
这个高速缓存存放了最近Internet地址到硬件地址之间的映射记录。
高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0可以看到在缓存中有一条211.161.17.254相对应的arp缓存条目。
d2server:/home/kerberos# telnet 211.161.17.21Trying 211.161.17.21...Connected to 211.161.17.21.Escape character is '^]'.^].telnet>quitconnetion closed.在执行上面一条telnet命令的同时,用tcpdump进行监听:d2server:/home/kerberos# tcpdump -e dst host 211.161.17.21tcpdump: listening on eth0我们将会听到很多包,我们取与我们arp协议相关的2个包:1 0.0 00:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FF arp 60who has 211.161.17.21 tell d2server2 0.002344(0.0021) 00:E0:3C:43:0D:24 00:D0:F8:0A:FB:83 arp 60arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24在第1行中,源端主机(d2server)的硬件地址是00:D0:F8:0A:FB:83。
目的端主机的硬件地址是FF:FF:FF:FF:FF:FF,这是一个以太网广播地址。
电缆上的每个以太网接口都要接收这个数据帧并对它进行处理。
第1行中紧接着的一个输出字段是arp,表明帧类型字段的值是0x0806,说明此数据帧是一个ARP请求或回答。
在每行中,单词后面的值60指的是以太网数据帧的长度。
由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据,14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60字节。
第1行中的下一个输出字段arp who-has表示作为ARP请求的这个数据帧中,目的I P地址是211.161.17.21的地址,发送端的I P地址是d2server的地址。
tcpdump打印出主机名对应的默认I P地址。
从第2行中可以看到,尽管ARP请求是广播的,但是ARP应答的目的地址却是211.161.17.21(00:E0:3C:43:0D:24)。
ARP应答是直接送到请求端主机的,而是广播的。
tcpdump打印出arp reply的字样,同时打印出响应者的主机ip和硬件地址。
在每一行中,行号后面的数字表示tcpdump收到分组的时间(以秒为单位)。
除第1行外,每行在括号中还包含了与上一行的时间差异(以秒为单位)。
这个时候我们再看看机器中的arp缓存:d2server:/home/kerberos# arp -a (211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0 (211.161.17.21) at 00:E0:3C:43:0D:24 [ether] on eth0arp高速缓存中已经增加了一条有关211.161.17.21的映射。
再看看其他的arp相关的命令:d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00d2server:/home/kerberos# arpAddress HWtype HWaddress Flags Mask Iface 211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0 211.161.17.21 ether 00:00:00:00:00:00 CM eth0d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] PERM on eth0可以看到我们用arp -s选项设置了211.161.17.21对应的硬件地址为00:00:00:00:00:00,而且这条映射的标志字段为CM,也就是说我们手工设置的arp选项为静态arp选项,它保持不变没有超时,不像高速缓存中的条目要在一定的时间间隔后更新。
如果想让手工设置的arp选项有超时时间的话,可以加上temp选项d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 temp d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] on eth0d2server:/home/kerberos# arpAddress HWtype HWaddress Flags Mask Iface211.161.17.254 ether 00:04:9A:AD:1C:0A C eth0 211.161.17.21 ether 00:00:00:00:00:00 C eth0可以看到标志字段的静态arp标志"M"已经去掉了,我们手工加上的是一条动态条目。
请大家注意arp静态条目与动态条目的区别。
在不同的系统中,手工设置的arp静态条目是有区别的。
在linux和win2000中,静态条目不会因为伪造的arp响应包而改变,而动态条目会改变。
而在win98中,手工设置的静态条目会因为收到伪造的arp响应包而改变。
如果您想删除某个arp条目(包括静态条目),可以用下面的命令:d2server:/home/kerberos# arp -d 211.161.17.21d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at on eth0可以看到211.161.17.21的arp条目已经是不完整的了。
还有一些其他的命令,可以参考linux下的man文档:d2server:/home/kerberos# man arp3 ARP欺骗我们先复习一下上面所讲的ARP协议的原理。
在实现TCP/IP协议的网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义,但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的硬件mac地址来识别。
也就是说,只有机器的硬件mac地址和该ip包中的硬件mac地址相同的机器才会应答这个ip包,因为在网络中,每一台主机都会有发送ip包的时候,所以,在每台主机的内存中,都有一个arp--> 硬件mac 的转换表。
通常是动态的转换表(该arp表可以手工添加静态条目)。
也就是说,该对应表会被主机在一定的时间间隔后刷新。
这个时间间隔就是ARP高速缓存的超时时间。
通常主机在发送一个ip包之前,它要到该转换表中寻找和ip包对应的硬件mac地址,如果没有找到,该主机就发送一个ARP广播包,于是,主机刷新自己的ARP缓存。
然后发出该ip包。
了解这些常识后,现在就可以谈在以太网络中如何实现ARP欺骗了,可以看看这样一个例子。
3.1 同一网段的ARP欺骗图2 同一网段的arp欺骗如图2所示,三台主机A: ip地址192.168.0.1 硬件地址AA:AA:AA:AA:AA:AAB: ip地址192.168.0.2 硬件地址BB:BB:BB:BB:BB:BBC: ip地址192.168.0.3 硬件地址CC:CC:CC:CC:CC:CC一个位于主机B的入侵者想非法进入主机A,可是这台主机上安装有防火墙。