当前位置:文档之家› ARP

ARP

ARP
ARP

专业课课程论文

题目:TCP/IP——协议分析与应用编程

地址解析协议——ARP

作者:

学号:

所属学院:

专业年级:

总评分:

完成时间:

地址解析协议——ARP

摘要

计算机网络作为承载当今信息社会的重要基础,已经成为现代生活中人们不可或缺的工具,近年来,网络安全问题日益严重,关于网络安全的报道层出不穷,造成的经济损失越来越大。

ARP协议是TCP/IP协议中重要的一员,其功能主要是为局域网内网络设备提供IP地址向硬件地址的转化,其设计建立在局域网内网络设备之间相互信任的基础上,由此产生了许多ARP欺骗攻击方法。许多木马和病毒利用ARP协议这一设计上的漏洞在局域网内进行ARP欺骗攻击,给局域网的安全造成了严重威胁。为解决ARP欺骗给局域网带来的安全问题,目前已有许多学者在这方面做了有意义的探索与实践,尽管某些方案在实际项目的应用中已相对成熟,但在防御能力上仍存在着一定的局限性。

首先,本文在对OSI参考模型、TCP/IP参考模型、以太网技.术、IP地址和MAC 地址等相关理论基础学习和研究的基础上对ARP协议进行了简要的分析,研究说明了ARP的工作原理,并以实例的方式详细地分析了ARP的工作过程,且在此基础上提出了对ARP的改进,最后简要描述了ARP缓存区和它的一些命令;其次,本文分析了ARP协议上的一些安全漏洞以及ARP协议攻击的原理,并总结了ARP 攻击的类型,其中对ARP欺骗做了详细的介绍,包括ARP欺骗原理及各种欺骗手段;然后,对比ARP攻击的方式,本文提出了ARP攻击防范的一些方法;最后描述了ARP的一些常见问题,并作出了解答。

关键词:地址解析;ARP;安全缺陷;ARP攻击;ARP欺骗;

目录

第一章引言 (5)

1.1 选题背景 (5)

1.2 课题研究意义 (5)

1.3 论文组织方式 (6)

第二章 ARP (6)

2.1 ARP协议简介 (6)

2.2 ARP的工作过程 (7)

2.3 ARP的改进 (8)

2.4 ARP的缓存区 (9)

2.5 ARP命令 (10)

第三章 ARP协议的安全缺陷、攻击原理及攻击类型 (11)

3.1 ARP协议的安全缺陷 (12)

3.2 ARP协议攻击原理 (13)

3.3 ARP协议攻击类型 (13)

3.3.1 IP地址冲突 (13)

3.3.2 ARP泛洪攻击 (14)

3.3.3 ARP溢出攻击 (14)

3.3.4 ARP欺骗 (14)

3.3.4.1 欺骗原理 (15)

3.3.4.2 ARP欺骗种类 (15)

3.3.4.3 两种情况 (16)

3.3.4.4 局域网ARP欺骗的应对 (18)

3.3.4.5 ARP欺骗的危害 (19)

3.3.5 ARP扫描攻击 (19)

3.2.6 虚拟主机攻击 (20)

第四章 ARP协议攻击防范 (20)

4.1 设置静态 ARP 缓存表 (20)

4.2 设置ARP Server (21)

4.3 交换机上绑定端口和MAC地址 (21)

4.4 禁用网络接口做ARP解析 (21)

4.5 数据加密传输 (21)

4.6 第三层交换方式 (22)

4.7 IPV6的应用 (22)

第五章 ARP常见问题 (22)

5.1 什么是ARP? (22)

5.2 为什么要有ARP? (23)

5.3 什么是ARP cache? (23)

5.4 路由器有ARP cache吗? (23)

5.5 路由器怎么使用ARP cache? (23)

5.6 ARP和Ping有什么关系? (23)

5.7 ARP欺骗用途 (24)

结束语 (24)

参考文献 (25)

第一章引言

1.1 选题背景

计算机网络作为承载当今信息社会的重要基础,已经成为现代生活中人们不可或缺的工具,近年来,网络安全问题日益严重,关于网络安全的报道层出不穷,造成的经济损失越来越大。黑客通过基于网络的入侵来达到窃取敏感信息的目的,也有人以基于网络的攻击见长,被人收买通过网络来攻击商业竞争对手企业,造成网络企业无法正常运营。

对计算机网络安全造成威胁的既有环境和灾害因素,也有人为因素。在人为有意攻击中,主要利用计算机网络系统自身的脆弱性。现代计算机系统越来越庞大和复杂,操作系统和软件组件中不可避免的存在各种漏洞;而在计算机网络发展初期制订的网络和通信协议往往考虑不够严谨、周密,留下了一些安全隐患,而网络通信协议一旦成为广泛应用的标准,要想更改和修补几乎是不可能。这些安全隐患无疑成为日后网络攻击中的薄弱环节。虽然国际标准化组织(ISO)制订了开放网络框架结构OSI七层模型,但是随着Internet的普及推广,TCP/IP协议成为无可争辩的事实标准,甚至在以太网中也广泛采用。利用TCP/IP协议中的一些安全隐患进行的网络攻击也随之而来,如SYN Flood、Teardrop、Land和ARP 攻击等。对协议的利用攻击成为网络安全研究的新课题。[1]

1.2 课题研究意义

网络协议安全是网络安全中的重要领域,研究ARP协议及其在网络攻防中的应用具有积极的意义。ARP协议是TCP/IP协议簇中的一员,位于网络层和数据链路层之间。其功能是将IP地址转换为局域网地址。在任何一个现代操作系统中,无论是PC广泛使用的Windows还是Apple的Mac OS,也无论是Linux、Solaris还是其他的Unix,都无一例外地支持ARP。作为网络协议,对ARP的攻击是跨平台的。利用ARP协议可以对网络安全造成严重威胁。ARP协议设计的本意是将32位的IP地址转换为局域网地址以便于传输数据链路层的数据帧。利用ARP协议可以获知局域网中指定主机的MAC地址,也可以探测局域网中活动的主机;而将ARP协议用于网络攻击,它既可作为网络被动攻击的工具,在交换式局域网络中进行ARP欺骗以实现中间人窃听,也可以作为网络主动攻击的

利器,切断指定主机间的通信,或造成IP冲突。资料显示,构造畸形的ARP数据报可以造成局域网络通信瘫痪。

1.3 论文组织方式

全文共分四章结构安排如下:

第一章:引言

第二章:简要的介绍了ARP、ARP工作原理、缓存区及命令

第三章:介绍了ARP协议的安全的缺陷、攻击原理及攻击类型

第四章:介绍了ARP攻击的防范方法

第五章:介绍了ARP的一些常见问题

第二章ARP

2.1 ARP协议简介

在局域网中,一台主机要和另一台主机进行通信,必须要知道目标主机的IP地址,但是最终负责在局域网中传送数据的网卡等物理设备是不识别IP地址的,只能识别其硬件地址即MAC地址。MAC地址是48位的,通常表示为12个16进制数,每2个16进制数之间用“-”或者冒号隔开,如比如IP地址为192.168.0.7,网卡MAC地址为00-03-0F-FD-1D-2B。每一块网卡都有其全球唯一的MAC地址,网卡之间发送数据,只能根据对方网卡的MAC地址进行发送,这时就需要一个将高层数据包中的IP地址转换成低层MAC地址的协议,而这个重要的任务将由ARP协议完成。[3]

ARP全称为Address Resolution Protocol,地址解析协议。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能准确的记住对方电脑网卡的MAC 地址,以便数据的发送呢?这就涉及到了另外一个概念,ARP缓存表。在局域网的任何一台主机中,都有一个ARP缓存表,该表中保存这网络中各个电脑的IP

地址和MAC地址的对照关系。当这台主机向同局域网中另外的主机发送数据的时候,会根据ARP缓存表里的对应关系进行发送。

2.2 ARP的工作过程

地址解析协议(ARP)是根据给定的IP地址获取对应的物理地址,其功能的实现包括两个步骤:请求获取目的主机的物理地址和向发送请求物理地址的主机回送解析结果。图 1 以实例方式描述了主机A要获取主机B的物理地址的工作过程。[7]

图 1 ARP工作实例

1.请求获取目的主机的物理地址

(1)主机A调用ARP,请求IP地址为“192.168.0.15”的目的主机的物理地址。

(2)ARP创建一个ARP请求数据报,其内容包括:源主机A的物理地址、源主机A的IP地址和目的主机B的IP地址。ARP请求数据报格式如图 2 所示,其直接封装在链路层数据报中。

图 2 ARP数据报格式与封装

(3)主机A在本地网络中广播ARP请求数据报,请求数据报的目的地为广播地址。

2.向发送请求物理地址的主机回送解析结果

(1)由于是广播发送,该网络中的所有主机都能接受到ARP请求数据报,并将数据报中的目的主机的IP地址与自己的IP地址进行匹配,如果不匹配则忽略该数据报的处理。

(2)如果某主机发现请求数据报中的目的主机的IP地址与自己的IP地址一致,如图 1 中的主机B,则产生一个包含自己的物理地址的ARP应答数据报,其中包含:应答主机的物理地址、应答主机IP地址、请求主机的物理地址和请求主机的IP地址,ARP应答数据报格式如图 2 所示。

(3)ARP应答数据报直接以单播形式回送给发送ARP请求数据报的主机A。

(4)主机A利用应答数据包中得到的应答主机B的物理地址,完成地址解析过程。

2.3 ARP的改进

根据上面分析的ARP的工作过程,不难发现在同一物理网络中,主机A向主

机B发送数据报是首先要广播ARP请求数据报来获取主机B的物理地址。由于网络上的每台主机都必须接受和处理广播数据报,进而造成网络工作效率低下,为此,我们引入了ARP高速缓存技术,即将某台主机或网络设备上经常使用的目的主机的IP地址和物理地址直接记录在本机的内存中,以减少广播ARP请求帧的次数,进而提高网络工作效率。其工作流程图如 3 所示,在源主机和目的主机上都引入了本地高速缓存机制。[7]

图 3 引入高速缓存后的ARP请求实现流程

2.4 ARP的缓存区

每一台主机都会在ARP快取缓冲区(ARP Cache)中建立一个ARP表格,用来记录IP位址和物理地址的对应关系。为了节省ARP缓冲区内存,被解析过的ARP条目的寿命都是有限的。如果超过了界限,那么越长时间没被使用过的资料就自动删除,以腾出空间来储存更新的资料。所以,当机器收到ARP请求报文时,如果查询对象不是自己,则不会根据发送端地址资料来更新自己的ARP表格,而是完全忽略该报文。同时,每个存在cache中的条目,都不是永久保存的:每个条目再更新的时候,都会被赋予一个存活倒数计时值,如果在倒数时间到达的时候,该资料就会被清掉。然而,如果该资料在倒数时间到达之前被使用过,则计时值会被重新赋予。在工作站PC的Windows环境中,ARP条目的寿命是2分钟,在大部分Cisco

交换机中,该值是5分钟。

注意:ARP不能通过IP路由器发送广播,所以不能用来确定远程网络设备的硬件地址。对于目标主机位于远程网络的情况,IP利用ARP确定默认网关(路由器)的硬件地址,并将数据包发到默认网关,由路由器按它自己的方式转发数据包。

2.5 ARP命令

我们可以是用ARP命令察看和操作ARP高速缓存,在Windows或Unix中的用法都是相似的。在Windows中运行DOS控制台程序CMD.EXE,键入arp即可得到该命令的用法:(如图 4 所示)

Microsoft Windows XP [版本5.1.2600]

(C) 版权所有1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>arp

Displays and modifies the IP-to-Physical address translation tables used by

address resolution protocol (ARP).

ARP -s inet_addr eth_addr [if_addr]

ARP -d inet_addr [if_addr]

ARP -a [inet_addr] [-N if_addr]

-a Displays current ARP entries by interrogating the current

protocol data. If inet_addr is specified, the IP and Physical

addresses for only the specified computer are displayed. If

more than one network interface uses ARP, entries for each ARP

table are displayed.

-g Same as -a.

inet_addr Specifies an internet address.

-N if_addr Displays the ARP entries for the network interface specified

by if_addr.

-d Deletes the host specified by inet_addr. inet_addr may be

wildcarded with * to delete all hosts.

-s Adds the host and associates the Internet address inet_addr

with the Physical address eth_addr. The Physical address is

given as 6 hexadecimal bytes separated by hyphens. The entry

is permanent.

eth_addr Specifies a physical address.

if_addr If present, this specifies the Internet address of the

interface whose address translation table should be modified.

If not present, the first applicable interface will be used. Example:

> arp -s 157.55.85.212 00-aa-00-62-c6-09 .... Adds a static entry.

> arp -a .... Displays the arp table.

图 4 ARP命令格式

选项-a用来显示ARP高速缓存中的内容。不带参数时,arp –a将显示高速缓存中的所有项目;如果带IP地址参数,该命令将显示高速缓存中相应IP对应的地址映射,如arp –a 192.168.0.2;如果主机上配置了不止一块网卡,使用参数-N If_addr(If_addr为网卡的IP地址)还可以查看指定网卡在高速缓存中的所有项目,如arp –a –N 192.168.0.101。

选项-d用以删除ARP高速缓存中的某一项内容。不带参数的arp –d将删除ARP高速缓存中的所有项目,这也可以加上通配符*作为参数来实现;如果要删除指定IP对应的项目,可以把该IP作为命令的参数,如arp –d 192.168.0.2。

另外,可以通过选项-s来增加高速缓存中的内容,如:

arp –s 192.168.0.2 00-0C-11-3F-00-1B

新增加的内容是静态的,它没有超时值,不会被ARP应答更改,除非机器重新启动。这种特性可以让我们在网关服务器上进行IP地址与MAC地址绑定,只有绑定的机器才能够通过网关服务器代理接入Internet。

使用ARP命令还可以作为判断网络中是否感染了ARP病毒的一个参考。用户不可能熟悉网络中每一台机器的MAC地址,但应该熟悉用来上网的网关服务器的MAC地址,如果网络时断时续,请用arp –a 网关IP 进行查看,如果显示的是一个陌生的MAC地址,很可能网络中存在ARP病毒。可用静态ARP项来对抗ARP病毒。[1]

第三章ARP协议的安全缺陷、攻击原理及攻击类型

3.1 ARP协议的安全缺陷

(1)ARP请求以广播方式进行

当源主机要和目的主机通信而没有目的主机的MAC地址时,便会向整个局域网广播ARP请求数据包。这使得攻击者可以伪装ARP应答,与真正的目的主机展开竞争,并由此确定子网内机器什么时候刷新ARP缓存,以实现最大限度的假冒和欺骗。由ARP协议的工作原理可知,主机A进行ARP查询时是广播方式的。若主机A已知主机B的MAC地址,就可以单独向主机B发送ARP查询请求。主机B 获得该请求之后就会更新自己MAC表中主机A的MAC地址。所以如果局域网内的其它主机向主机B发送假冒主机A的单播ARP查询请求,更改掉主机B中的MAC 表中的主机A的MAC地址,则主机B到主机A的所有通信都会被切断。同样,主机A在进行ARP查询时,主机B应该发送ARP应答包,但是该协议未规定,主机B在未收到主机A的ARP查询时不能向主机A发送ARP应答包。这是ARP协议的一个安全隐患。因为主机B主动采取点对点对主机A发送ARP应答包就可以更新主机A的MAC地址表中与主机B有关的表项信息。如果局域网内的其它计算机向主机A发送假冒主机B的MAC地址替换为假的MAC地址,那么主机A与主机B的所有IP通信将被中断。[2]

(2)ARP地址转换表动态更新

这种老化机制的动态更新方式较为灵活,但同时也带来了安全问题。由于正常的ARP地址转换表都是有时限的,这使得假冒者如果在下次交换之前成功修改了源主机的地址,就可以进。

(3)ARP响应无控制和无认证

ARP协议是局域网协议,设计之初,为了获得较高的传输效率,在数据链路层没有做安全上的防范,在使用ARP协议时无需认证,使用ARP协议的局域网假设通信双方是相互信任和相互独立的。由于ARP协议是无状态的,任何主机即使在没有请求的时候也可以做出应答。ARP协议并未规定,主机在未受到查询时不能发送ARP应答包,这是ARP协议的一个安全隐患。这样,在任何时候,只要接收到ARP 应答包,主机就会自动更新ARP缓存。这样攻击者就可以向目标主机发送假冒的ARP数据包进行欺骗,以达到监听的目的。许多系统会接收未请求的ARP响应,并用新信息更新ARP缓存。操作系统在动态维护列表时并没有检测本机是否发出了请求包,而是只要接收了应答包就进行列表维护操作。如果有人故意发送包含错误MAC地址的应答包,就会造成用错误列表的更新和对应。一台主机的IP地址映射在另一台主机的ARP协议缓存后,它就会被当作可信任的计算机。但并未提供验证IP和MAC地址一致性和真实性的验证机制。大多数主机保存了通过ARP得到的映射,没有考虑有效性,也没有维护一致性。这样,ARP表就有可能把几个不

同的IP地址映射到同一MAC地址上。

3.2 ARP协议攻击原理

ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗 能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。

ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP 地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

3.3 ARP协议攻击类型

3.3.1 IP地址冲突

制造出局域网上有另一台主机与受害主机共享一个IP的假象。由于违反了唯一性要求,受害主机会自动向用户弹出警告对话框。大量的攻击数据包能令受害主机耗费大量的系统资源。对于windows操作系统,只要接收到一个ARP数据包,不管该ARP数据包符不符合要求,只要该ARP数据包所记录的源IP地址同本地主机相同但MAC地址不同,windows系统就会弹出IP地址冲突的警告对话框。根据IP地址冲突的攻击特征描述,这种类型的ARP攻击主要有以下几种:

(1)单播型的IP地址冲突:链路层所记录的目的物理地址为被攻击主机的物理地址,这样使得该ARP数据包只能被受攻击主机所接收而不被局域网内的其它主机所接收实现隐蔽式攻击。

(2)广播型的IP地址冲突:链路层所记录的目的物理地址为广播地址,这样使得局域网内的所有主机都会接受到该ARP数据包,虽然该ARP数据包所记录的目的IP地址不是受攻击主机的IP地址,但是由于该ARP数据包为广播数据包,这样受攻击主机也会接收到从而弹出IP地址冲突的警告对话框。

3.3.2 ARP泛洪攻击

攻击主机持续把伪造的MAC-IP映射对发给受害主机,对于局域网内的所有主机和网关进行广播,抢占网络带宽和干扰正常通信。这种攻击方式的主要攻击特征包含(1)通过不断发送伪造的ARP广播数据报使得交换机拼于处理广播数据报耗尽网络带宽。(2)令局域网内部的主机或网关找不到正确的通信对象,使得正常通信被阻断。(3)用虚假的地址信息占满主机的ARP高速缓存空间,造成主机无法创建缓存表项,无法正常通信,这种攻击特征作者将其命名为ARP溢出攻击。ARP泛洪攻击不是以盗取用户数据为目的,它是以破坏网络为目的,属于损人不利己的行为。

3.3.3 ARP溢出攻击

ARP溢出攻击的特征主要有:

(1)所发送的伪造MAC-IP映射对的IP地址是非本地网的虚拟不存在的IP 地址但MAC地址是固定的,由于当操作系统接收到一个源IP地址在ARP高速缓存表中不存在的ARP数据包时,就会在缓存表中创建一个对应MAC-IP的入口项。

(2)所发送的伪造MAC-IP映射对的IP地址是非本地网的虚拟不存在的IP 地址而且MAC地址也是虚拟变化的。发送这种类型的攻击数据包会引起交换机的CAM表溢出。由于交换机是通过学习进入各端口数据帧的源MAC地址来构建CAM 表,将各端口和端口所连接主机的MAC地址的对应关系进行记录,因而可根据CAM表来决定数据帧发往哪个端口。如果攻击源持续向交换机发送大量有错误的MAC地址ARP数据包,就会破坏端口与MAC的对应关系,并导致CAM表溢出。在这种情形之下,缺少防范措施的交换机就会以广播的模式处理报文,形成泛洪向所有接口转发通信信息流。[9]最终使得交换机变成HUB,将交换式的网络变成广播式的网络,使得网络带宽急剧下降。

3.3.4 ARP欺骗

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应

答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。所以在网络中,有人发送一个自己伪造的ARP应答,网络可能就会出现问题。这可能就是协议设计者当初没考虑到的。

3.3.

4.1 欺骗原理

假设一个网络环境中,网内有三台主机,分别为主机A、B、C。主机详细信息如下描述:

A的地址为:IP:192.168.10.1 MAC:AA-AA-AA-AA-AA-AA

B的地址为:IP:192.168.10.2 MAC:BB-BB-BB-BB-BB-BB

C的地址为:IP:192.168.10.3 MAC:CC-CC-CC-CC-CC-CC

正常情况下A和C之间进行通讯,但是此时B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A被欺骗了),这时B就伪装成C了。同时,B同样向C 发送一个ARP应答,应答包中发送方IP地址四192.168.10.1(A的IP地址),MAC地址是BB-BB-BB-BB-BB-BB(A的MAC地址本来应该是AA-AA-AA-AA-AA-AA),当C收到B伪造的ARP应答,也会更新本地ARP 缓存(C也被欺骗了),这时B就伪装成了A。这样主机A和C都被主机B欺骗,A和C之间通讯的数据都经过了B。主机B完全可以知道他们之间说的什么:)。这就是典型的ARP欺骗过程。

注意:一般情况下,ARP欺骗的某一方应该是网关。

3.3.

4.2 ARP欺骗种类

(1)拒绝服务攻击:拒绝服务攻击就是使目标主机不能响应外界请求,从而不能对外提供服务的攻击方法。如果攻击者将目标主机ARP缓存中的MAC地址全部改为根本就不存在的地址,那么目标主机向外发送的所有以太网数据帧会丢失,使得上层应用忙于处理这种异常而无法响应外来请求,也就导致目标主机产生拒绝服务。

(2)中间人攻击:中间人攻击就是攻击者将自己的主机插入两个目标主机通信路径之间,使他的主机如同两个目标主机通信路径上的一个中继,这样攻击者就可以监听两个目标主机之间的通信。例如局域网内的三台机子A、S、D,现在A 要监听S与D之间的通信。攻击过程如下:A侵染目标主机S与D的ARP缓存,使得S向D发送数据时,使用的是D的IP地址与A的MAC地址,并且D向S发送数据时,使用的是S的IP地址与A的MAC地址,因此所有S与D之间的数据都将经

过A,再由A转发给他们。

如果攻击者对一个目标主机与它所在局域网的路由器实施中间人攻击,那么攻击者就可以截取Internet与这个目标主机的之间的全部通信。[10]

(3)多主机欺骗:篡改被攻击主机群中关于网络内某一台主机X的ARP记录,被攻击的主机群为网络中的多台主机而非一台主机。主机X为网关或网络内任何一台非网关的正在运行主机。被篡改后的MAC地址可以为网络内正在运行的主机MAC地址或随机伪造的不存在主机的MAC地址。[8]

T时刻,主机A关于主机X的ARP记录被篡改;

T+N时刻,主机B关于主机X的ARP记录被篡改;

………

T+M时刻,主机Z关于主机X的ARP记录被篡改;

例如当攻击主机要仿冒网关就会向局域网内的主机群发送ARP数据包,以自身MAC地址来冒充真正的网关,使受骗主机群的ARP缓冲区的MAC地址错误地更新为攻击源的MAC地址,导致受骗主机群向假网关发送通信信息,而不是通过路由器或交换途径寻找真正的网关并发送通信信息。这时攻击主机可以把自己设置成一台路由器负责对数据包转发,从而达到仿冒网关的目的。这是一种比较常见的欺骗形式,这种欺骗方式可以控制同一网关下的所有主机对网络的访问。网吧内经常发生游戏密码被盗现象就是因为遭受到仿冒网关的ARP攻击。

(4)全子网轮询欺骗:篡改被攻击主机X中关于网络内多台主机的ARP记录,这台被攻击的主机为网关或网络内任何一台非网关的主机,被篡改后的MAC 地址可以为网络内正在运行的主机MAC地址或随机伪造的不存在主机的MAC地址。[8]

T时刻,主机X关于主机A的ARP记录被篡改;

T+N时刻,主机X关于主机B的ARP记录被篡改;

………

T+M时刻,主机X关于主机Z的ARP记录被篡改;

(5)网络监听:攻击主机利用上述多主机欺骗来仿冒网关,利用全子网轮询欺骗来篡改真正网关上关于局域网内所有主机的ARP缓存记录,从而实现对局域网内所有主机同外部网的通信进行监听。实现了在交换式网络环境中对网络通信的监听。

3.3.

4.3 两种情况

ARP欺骗存在两种情况:一种是欺骗主机作为“中间人”,被欺骗主机的数据都经过它中转一次,这样欺骗主机可以窃取到被它欺骗的主机之间的通讯数据;另一种让被欺骗主机直接断网。

第一种:窃取数据(嗅探)

通讯模式:

应答 -> 应答 -> 应答 -> 应答 -> 应答 -> 请求 -> 应答 -> 应答 ->请求->应答...

描述:这种情况就属于我们上面所说的典型的ARP欺骗,欺骗主机向被欺骗主机发送大量伪造的ARP应答包进行欺骗,当通讯双方被欺骗成功后,自己作为了一个“中间人“的身份。此时被欺骗的主机双方还能正常通讯,只不过在通讯过程中被欺骗者“窃听”了。

出现原因(可能):

*木马病毒

*嗅探

*人为欺骗

第二种:导致断网

通讯模式:

应答 -> 应答 -> 应答 -> 应答 -> 应答 -> 应答 -> 请求…

描述:这类情况就是在ARP欺骗过程中,欺骗者只欺骗了其中一方,如B欺骗了A,但是同时B没有对C进行欺骗,这样A实质上是在和B通讯,所以A就不能和C通讯了,另外一种情况还可能就是欺骗者伪造一个不存在地址进行欺骗。对于伪造地址进行的欺骗,在排查上比较有难度,这里最好是借用TAP 设备(呵呵,这个东东好像有点贵勒),分别捕获单向数据流进行分析!

出现原因(可能):

* 木马病毒

*人为破坏

*一些网管软件的控制功能

附:ARP木马病毒

ARP欺骗木马的中毒现象表现为:使用局域网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错 ,以及一些常用软件出现故障等。如果局域网中是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS 窗口下运行命令ARP -d后,又可恢复上网。

ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。

如果第一种ARP欺骗发生时,只要重启路由器,网络就能全面恢复,那问题一定是在路由器了。为此,宽带路由器背了不少“黑锅”。作为网吧路由器的厂家,对防范ARP欺骗不得已做了不少份内、份外的工作。一、在宽带路由器中把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。二、力劝网管员在内网所有PC上设置网关的静态ARP信息,这叫PC机IP-MAC绑定。一般厂家要求两个工作都要做,称其为IP-MAC双向绑定。显示和修改“地址解析协议”(ARP)所使用的到以太网的IP或令牌环物理地址翻译表。该命令只有在安装了TCP/IP协议之后才可用。

3.3.

4.4 局域网ARP欺骗的应对

一、故障现象及原因分析

情况一:当局域网内某台主机感染了ARP病毒时,会向本局域网内(指某一网段,比如10.10.75.0这一段)所有主机发送ARP欺骗攻击谎称自己是这个网端的网关设备,让原本流向网关的流量改道流向病毒主机,造成受害者正常上网。

情况二:局域网内有某些用户使用了ARP欺骗程序(如:网络执法官,QQ盗号软件等)发送ARP欺骗数据包,致使被攻击的电脑出现突然不能上网,过一段时间又能上网,反复掉线的现象。

二、故障诊断

如果用户发现以上疑似情况,可以通过如下操作进行诊断:

点击“开始”按钮->选择“运行”->输入“arp–d”->点击“确定”按钮 然后重新尝试上网,如果能恢复正常,则说明此次掉线可能是受ARP欺骗所致。

注:arp-d命令用于清除并重建本机arp表。arp–d命令并不能抵御ARP欺骗,执行后仍有可能再次遭受ARP攻击。

三、故障处理

1、中毒者:建议使用趋势科技SysClean工具或其他杀毒软件清除病毒。

2、被害者:

(1)绑定网关mac地址。具体方法如下:

1)首先,获得路由器的内网的MAC地址(例如网关地址10.10.75.254的MAC地址为0022aa0022aa)。2)编写一个批处理文件AntiArp.bat内容如下:@echooffarp-darp-s10.10.75.25400-22-aa-00-22-aa

将文件中的网关IP地址和MAC地址更改为您自己的网关IP地址和MAC地址即可,计算机重新启动后需要重新进行绑定,因此我们可以将该批处理文件AntiArp.bat文件拖到“windows--开始--程序--启动”中。这样开机时这个批处理就被执行了。

(2)使用ARP防火墙(例如AntiArp)软件抵御ARP攻击。

AntiArp软件会在提示框内出现病毒主机的MAC地址

四、找出ARP病毒源

第一招:使用Sniffer抓包

在网络内任意一台主机上运行抓包软件,捕获所有到达本机的数据包。如果发现有某个IP不断发送ARP Request请求包,那么这台电脑一般就是病毒源。原理:无论何种ARP病毒变种,行为方式有两种,一是欺骗网关,二是欺骗网内的所有主机。最终的结果是,在网关的ARP缓存表中,网内所有活动主机的MAC 地址均为中毒主机的MAC地址;网内所有主机的ARP缓存表中,网关的MAC地址也成为中毒主机的MAC地址。前者保证了从网关到网内主机的数据包被发到中毒主机,后者相反,使得主机发往网关的数据包均发送到中毒主机。

第二招:使用arp-a命令任意选两台不能上网的主机,在DOS命令窗口下运行arp-a命令。例如在结果中,两台电脑除了网关的IP,MAC地址对应项,都包含了

192.168.0.186的这个IP,则可以断定192.168.0.186这台主机就是病毒源。原理:一般情况下,网内的主机只和网关通信。正常情况下,一台主机的ARP缓存中应该只有网关的MAC地址。如果有其他主机的MAC地址,说明本地主机和这台主机最后有过数据通信发生。如果某台主机(例如上面的192.168.0.186)既不是网关也不是服务器,但和网内的其他主机都有通信活动,且此时又是ARP病毒发作时期,那么,病毒源也就是它了。

第三招:使用tracert命令在任意一台受影响的主机上,在DOS命令窗口下运行如下命令,tracert61.135.179.148。假定设置的缺省网关为10.8.6.1,在跟踪一个外网地址时,第一跳却是10.8.6.186,那么,10.8.6.186就是病毒源。原理:中毒主机在受影响主机和网关之间,扮演了“中间人”的角色。所有本应该到达网关的数据包,由于错误的MAC地址,均被发到了中毒主机。此时,中毒主机越俎代庖,起了缺省网关的作用。

3.3.

4.5 ARP欺骗的危害

前面也提到了ARP欺骗可以造成内部网络的混乱,让某些被欺骗的计算机无法正常访问内外网,让网关无法和客户端正常通信。实际上他的危害还不仅仅如此,一般来说IP地址的冲突我们可以通过多种方法和手段来避免,而ARP协议工作在更低层,隐蔽性更高。系统并不会判断ARP缓存的正确与否,无法像IP 地址冲突那样给出提示。而且很多黑客工具例如网络剪刀手等,可以随时发送ARP欺骗数据包和ARP恢复数据包,这样就可以实现在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的上网与否,甚至还可以直接对网关进行攻击,让所有连接网络的计算机都无法正常上网。这点在以前是不可能的,因为普通计算机没有管理权限来控制网关,而现在却成为可能,所以说ARP欺骗的危害是巨大的,而且非常难对付,非法用户和恶意用户可以随时发送ARP欺骗和恢复数据包,这样就增加了网络管理员查找真凶的难度。

3.3.5 ARP扫描攻击

向局域网内的所有主机发送ARP请求,从而获得正在运行主机的IP和MAC地址映射对。ARP扫描往往是为发动ARP攻击做准备。攻击源通过ARP扫描来获得所要攻击主机的IP和MAC地址。从而为网络监听、盗取用户数据,实现隐蔽式攻击做准备。

ARP扫描(ARP请求风暴)

通讯模式(可能)

请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 应答 -> 请求 -> 请求 -> 请求...

描述:

网络中出现大量ARP请求广播包,几乎都是对网段内的所有主机进行扫描。大量的ARP请求广播可能会占用网络带宽资源,ARP扫描一般为ARP攻击的前奏。

出现原因(可能):

*病毒程序,侦听程序,扫描程序。

*如果网络分析软件部署正确,可能是我们只镜像了交换机上的部分端口,所以大量ARP请求是来自与非镜像口连接的其它主机发出的。

*如果部署不正确,这些ARP请求广播包是来自和交换机相连的其它主机。

3.2.6 虚拟主机攻击

通过在网络内虚拟构建网卡,将自己虚拟成网络内的一台主机,拥有虚拟的物理地址和IP地址。主要是通过在链路层捕获所有流经的ARP请求数据包进行分析,若是对虚拟主机的ARP请求就会发送对应虚拟物理地址的ARP响应,并且虚拟主机本身也会发送ARP请求。虚拟主机攻击会占用局域网内的IP地址资源,使得正常运行的主机发生IP地址冲突,并且局域网内的主机也无法正常获得IP 地址。

第四章ARP协议攻击防范

4.1 设置静态 ARP 缓存表

ARP协议攻击最根本的原理就是改变IP地址与MAC地址的正确对应关系。所以可以采取静态ARP表来防范,就是在目标主机的ARP缓存中设置静态地址映射记录。这样,当主机A向主机B发送数据前就不需要通过向所在的局域网广播ARP请求来获得B的MAC地址,它会直接查询ARP静态记录表来获得B的MAC地址。攻击者也就没有机会向A发送ARP应答。但是,攻击者在未接收到ARP请求的情况下仍凭空伪造ARP应答发送给A,A将拒绝用伪造的数据更新ARP缓存中的静态记录。这种方法的缺点很明显,就是在经常更换IP地址的局域网环境里,由于每个主机都采用ARP静态记录,手工维护十分繁琐,工作量很大,这种方法在实际上应用中很少采用。[5]

arp命令使用详解

arp命令使用详解(1) 显示和修改“地址解析协议 (ARP)”缓存中的项目。ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。 语法 arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]] 参数 -a[ InetAddr] [ -N IfaceAddr] 显示所有接口的当前 ARP 缓存表。要显示特定 IP 地址的 ARP 缓存项,请使用带有InetAddr 参数的 arp -a,此处的 InetAddr 代表 IP 地址。如果未指定 InetAddr,则使用第一个适用的接口。要显示特定接口的 ARP 缓存表,请将 -N IfaceAddr 参数与 -a 参数一起使用,此处的 IfaceAddr 代表指派给该接口的 IP 地址。-N 参数区分大小写。 -g[ InetAddr] [ -N IfaceAddr] 与 -a 相同。 -d InetAddr [IfaceAddr] 删除指定的 IP 地址项,此处的 InetAddr 代表 IP 地址。对于指定的接口,要删除表中的某项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。要删除所有项,请使用星号 (*) 通配符代替 InetAddr。 -s InetAddr EtherAddr [IfaceAddr] 向 ARP 缓存添加可将 IP 地址 InetAddr 解析成物理地址 EtherAddr 的静态项。要向指定接口的表添加静态 ARP 缓存项,请使用 IfaceAddr 参数,此处的 IfaceAddr 代表指派给该接口的 IP 地址。 /? 在命令提示符下显示帮助。 注释 ? InetAddr 和 IfaceAddr 的 IP 地址用带圆点的十进制记数法表示。

防arp简单方法-静态绑定网关(整理)

静态绑定网关MAC 简单方法:手工绑定: (1).确定用户计算机所在网段 (2).查出用户网段网关IP (3).根据网关IP查出用户网段网关Mac,本地查询: (4).用命令arp -s 网关IP 网关MAC静态绑定网关IP和MAC 举例: (1).确定用户计算机所在网段 开始->程序->附件->命令提示符,打开命令提示符窗口,输入ipconfig命令,查出用户正常分配到的IP地址: 本机IP: 10.13.2.62 网关IP: 10.13.2.254 (2).IP为10.13.3.254 的网关的MAC地址为00-0b-46-01-01-00 (4).在命令提示符窗口中输入以下命令 arp –d //清空ARP缓存 arp -s 10.13.2.254 00-0b-46-01-01-00 //静态绑定网关MAC地址arp –a //查看ARP缓存记录

=============================================== 由于手工绑定在计算机关机重启后就会失效,需要再次重新绑定 可以采用批处理的方式,完成上述步骤,同时使之开机运行即可 使用arp命令静态绑定网关MAC,格式如下: arp -s 网关IP 网关MAC 如果觉得每次手动输入比较复杂,您可以编写一个简单的批处理文件然后让它每次开机时自动运行, 批处理文件如下: ----------------------------------- @echo off echo 'arp set' arp -d arp -s 网关IP 网关MAC exit ------------------------------------

华为怎么配置配置ARP

配置配置ARP 组网需求 如图所示,Switch的接口GE0/0/1通过LAN Switch(即LSW)连接主机,接口GE0/0/2通过路由器Router连接Server。要求: GE0/0/1属于VLAN2,GE0/0/2属于VLAN3。 为了适应网络的快速变化,保证报文的正确转发,在Switch的接口VLANIF2上配置动态ARP 的参数。 为了保证Server的安全性,防止非法ARP报文的侵入,在Switch的接口GE0/0/2上增加一个静态ARP表项,Router的IP地址为10.2.2.3,对应的MAC地址为00e0-fc01-0000。 配置思路 ARP的配置思路如下: 创建VLAN,并将接口加入到VLAN中。 配置用户侧VLANIF接口的动态ARP的参数。 配置静态ARP表项。 数据准备 为完成此配置示例,需准备如下的数据: 接口GE0/0/1属于VLAN2,接口GE0/0/2属于VLAN3。 接口VLANIF2的IP地址为2.2.2.2,子网掩码为255.255.255.0。ARP表项老化时间为60秒,老化探测次数为2次。

LSW的IP地址为2.2.2.1,子网掩码为255.255.255.0。 Router与Switch对接的接口IP地址为10.2.2.3,子网掩码为255.255.255.0,对应的MAC 地址为00e0-fc01-0000。 操作步骤 创建VLAN,并将接口加入到VLAN中。 # 创建VLAN2和VLAN3。 system-view [Quidway] vlan batch 2 3 # 将接口GE0/0/1加入VLAN2中,接口GE0/0/2加入VLAN3中。 [Quidway] interface gigabitethernet 0/0/1 [Quidway-GigabitEthernet0/0/1] port hybrid tagged vlan 2 [Quidway-GigabitEthernet0/0/1] quit [Quidway] interface gigabitethernet 0/0/2 [Quidway-GigabitEthernet0/0/2] port hybrid tagged vlan 3 [Quidway-GigabitEthernet0/0/2] quit 配置VLANIF接口的动态ARP的参数。 # 创建接口VLANIF2。 [Quidway] interface vlanif 2# 配置接口VLANIF2的IP地址。 [Quidway-Vlanif2] ip address 2.2.2.2 255.255.255.0# 配置ARP表项老化时间为60秒。[Quidway-Vlanif2] arp expire-time 60# 配置ARP表项老化探测次数为2次。 [Quidway-Vlanif2] arp detect-times 2 [Quidway-Vlanif2] quit 配置静态ARP表项。 # 创建接口VLANIF3。 [Quidway] interface vlanif 3# 配置接口VLANIF3的IP地址。 [Quidway-Vlanif3] ip address 10.2.2.2 255.255.255.0 [Quidway-Vlanif3] quit # 配置一条静态ARP表项:IP地址为10.2.2.3,对应的MAC地址为00e0-fc01-0000,VLAN 编号为3,出接口为GE0/0/2。 [Quidway] arp static 10.2.2.3 00e0-fc01-0000 vid 3 interface gigabitethernet 0/0/2

网络合约协议分析获取并解析ARP

成绩: 网络协议分析 报告题目: 获取并解析网络中的ARP数据包 学院:计算机科学与技术学院 专业:计算机科学与技术 班级:0411203 学号:2012211699 姓名:李传根

一、要求及功能 编程序,获取网络中的ARP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。 运行格式:程序名日志文件 二、原理及方法 2.0什么是ARP 地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)。 2.1、ARP协议及工作原理 ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的

普通ARP请求及回应

普通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地址放入本机缓存,便于下次使用。 注:不管A是否发送ARP请求A都会接受ARP应答,并且更新本地的ARP缓存。 三、ARP请求及应答过程 如图所示,A与B位于同一网段,A想要与B进行通信,此时,A就需要对自己的数据进行封装,但是,A只知道B的IP地址,不知道B的MAC地址,故而数据封装失败,A就会先发送一个ARP包询问B的MAC地址。此时,就产生了,ARP的请求及应答。下面我们来详细阐述一下这些步骤吧。 [键入文字]

[键入文字] 1、A 开始进行数据封装。从网络层开始封装,先封装ICMP ,封装示意图如下: 2 、现在ICMP 封装完成了,接下来就要开始封装IP 了。 3、现在网络层封装完成了,接下来就是要封装数据链路层了。

ARP静态绑定批处理文件脚本详细讲解

ARP静态绑定批处理文件脚本详细讲解 网上流传了很多对付ARP欺骗的批处理脚本,本文是对比较流行的一个脚本加以注释和讲解,希望对广大51CTO网友和网管员有用。 网上流传了很多对付ARP欺骗的批处理脚本,本文是对比较流行的一个脚本加以注释和讲解,希望对广大51CTO网友和网管员有用。原批处理文件如下: @echo off if exist ipconfig.txt del ipconfig.txt ipconfig /all >ipconfig.txt if exist phyaddr.txt del phyaddr.txt find "Physical Address" ipconfig.txt >phyaddr.txt for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M if exist IPAddr.txt del IPaddr.txt find "IP Address" ipconfig.txt >IPAddr.txt for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I arp -s %IP% %Mac% del ipaddr.txt del ipconfig.txt del phyaddr.txt exit 现在以//开头的为我的解释 @echo off //关闭命令回显

if exist ipconfig.txt del ipconfig.txt //如果存在ipconfig.txt 这个文件就对其进行删除 ipconfig /all >ipconfig.txt //把ipconfig /all 命令的显示结果写入ipconfig.txt if exist phyaddr.txt del phyaddr.txt //如果存在phyaddr.txt 这个文件就对其进行删除 find "Physical Address" ipconfig.txt >phyaddr.txt //在ipconfig.txt 文件里查找Physical Address 字段的内容并将其字段内容写入phyaddr.txt for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M //在phyaddr.txt 文件中从第一行象下跳两行,也就是从第三行开始,从第12个符号处取值,并把该值设置成MAC 变量,举个例子:Physical Address. . . . . . . . . : 00-E0-FC-0C-A8-4F,每一个连续的数值为一个符号 符号1:Physical 符号2:Address. 符号3:. 符号4:. 符号5:. 符号6:. 符号7:. 符号8:. 符号9:.

ARP地址解析过程非常有用

ARP地址解析过程(同一子网和不同子网) 人们最熟悉的网络可以说是以太网,而且人们都知道,每块网卡都有一个编号,也就是网卡地址(称为MAC地址),代表计算机的物理地址。另外,网络中的每一台计算机都分配了一个IP地址,这样,每台计算机上都有两个地址,IP地址和MAC 地址。 IP地址并不能代替MAC地址,前者是在大网中为了方便定位主机所采用的方式,如果网络规模不大,完全可以不使用IP地址。但是,无论什么网络环境物理地址都是要使用的。因为物理地址对应于网卡的接口,只有找到它才算真正到达了目的地。而IP地址是为了方便寻址人为划分的地址格式,因此IP地址也被称为逻辑地址,又因为这种结构化地址是在OSI的第3层定义的,也被称为3层地址。相应地,物理地址是在第2层定义的,被称为2层地址。IP地址是一种通用格式,无论其下一层的物理地址是什么类型,都可以被统一到一致的IP地址形式上,因此IP地址屏蔽了下层物理地址的差异。 既然IP地址并不能代替物理地址,它只是在逻辑上表示一台主机,物理地址才对应于网卡的接口,只有找到它才能将数据送达到目的地。那么如何把二者对应起来就是要解决的首要问题,因为二者代表的是同一台机器。为此人们开发了地址解析协议(Address Revolution Protocol,ARP),地址解析协议负责把IP地址映射到物理地址。 下面分两种情况解释ARP的工作过程:同一子网内的arp和不同子网间的arp。(1)同一子网内的ARP 主机A (172.16.20.20/24)与主机B通信。假设在A上Ping主机B的IP地址172.16.20.5/24。 为了把测试信息发送到主机B和A,将构造关于Ping的IP数据包。可以确定,这个包头中的源IP地址是172.16.20.20,目的地址172.16.20.5。IP数据包构造完成以后,需要将它从网卡发送出去,在这之前必须要封装2层的帧头,本例中2层是以太网环境,因此需要构建以太网帧头。分析帧头中的MAC地址情况,它的源地址应该是00-0C-04-18-19-aa,这个地址很容易获得,主机A直接从自己的网卡中获取即可,帧头中的目的MAC地址应该是00-0C-04-38-39-bb,它对应于主机B的MAC地址。主机A如何得知主机B的MAC地址呢?这是主机A在封装2层帧头时必须解决的问题,否则无法发送这个帧出去。主机A唯一的办法是向主机B发出询问,请主机B回答它自己的MAC地址是什么。ARP协议正是负责完成这一工作的,即已知目的节点的IP地址来获取它相应的物理地址。

ARP绑定网关及批处理

ARP绑定网关及批处理 一.WINDOWS下绑定ARP绑定网关 步骤一: 在能正常上网时,进入MS-DOS窗口,输入命令:arp -a,查看网关的IP对应的正确MA C地址,并将其记录下来。 注意:如果已经不能上网,则先运行一次命令arp -d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话)。一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp -a。 步骤二: 如果计算机已经有网关的正确MAC地址,在不能上网只需手工将网关IP和正确的MAC地址绑定,即可确保计算机不再被欺骗攻击。 要想手工绑定,可在MS-DOS窗口下运行以下命令: arp -s 网关IP 网关MAC 例如:假设计算机所处网段的网关为192.168.1.1,本机地址为192.168.1.5,在计算机上运行arp -a后输出如下: Cocuments and Settings>arp -a Interface:192.168.1.5 --- 0x2 Internet Address Physical Address Type 192.168.1.1 00-01-02-03-04-05 dynamic 其中,00-01-02-03-04-05就是网关192.168.1.1对应的MAC地址,类型是动态(dynamic)的,因此是可被改变的。 被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC。如果希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找该攻击的机器做准备。 手工绑定的命令为: arp -s 192.168.1.1 00-01-02-03-04-05 绑定完,可再用arp -a查看arp缓存: Cocuments and Settings>arp -a Interface: 192.168.1.5 --- 0x2 Internet Address Physical Address Type 192.168.1.1 00-01-02-03-04-05 static 这时,类型变为静态(static),就不会再受攻击影响了。 但是,需要说明的是,手工绑定在计算机关机重启后就会失效,需要再次重新绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,把病毒杀掉,才算是真正解决问题。作批处理文件 在客户端做对网关的arp绑定,具体操作步骤如下: 步骤一: 查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。 比如:网关192.168.1.1 对应00-01-02-03-04-05。 步骤二: 编写一个批处理文件rarp.bat,内容如下:

ARP解决方案及配置

ARP解决方案及配置 目录 第1章防ARP攻击功能介绍1-1 1.1 ARP攻击简介1-1 1.2 ARP攻击防御1-3 1.2.2 DHCP Snooping功能1-3 1.2.3 ARP入侵检测功能1-4 1.2.4 ARP报文限速功能1-4 1.3 防ARP攻击配置指南1-5 第2章配置举例2-1 2.1 组网需求2-1 2.2 组网图2-2 2.3 配置思路2-2 2.4 配置步骤2-3 2.5 注意事项2-6 防ARP攻击配置举例 关键词:ARP、DHCP Snooping 摘要:本文主要介绍如何利用以太网交换机DHCP监控模式下的防ARP攻击功能,防止校园网中常见的“仿冒网关”、“欺骗网关”、“欺骗终端用户”、ARP泛洪等攻击形式。同时,详细描述了组网中各个设备的配置步骤和配置注意事项,指导用户进行实际配置。 缩略语:ARP(Address Resolution Protocol,地址解析协议) MITM(Man-In-The-Middle,中间人攻击) 第1章防ARP攻击功能介绍 近来,许多校园网络都出现了ARP攻击现象。严重者甚至造成大面积网络不能正常访问外网,学校深受其害。H3C公司根据校园网ARP攻击的特点,给出了DHCP监控模式下的防ARP攻击解决方案,可以有效的防御“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”、“ARP 泛洪攻击”等校园网中常见的ARP攻击方式;且不需要终端用户安装额外的客户端软件,简化了网络配置。 1.1ARP攻击简介 按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为“ARP欺骗”创造了条件。 校园网中,常见的ARP攻击有如下几中形式。 (1)仿冒网关 攻击者伪造ARP报文,发送源IP地址为网关IP地址,源MAC地址为伪造的MAC地址的ARP报文给被攻击的主机,使这些主机更新自身ARP表中网关IP地址与MAC地址的对应关系。这样一来,主机访问网关的流量,被重定向到一个错误的MAC地址,导致该用户无法正常访问外网。 图1-1 “仿冒网关”攻击示意图 (2)欺骗网关

图解ASA防火墙上进行ARP绑定

图解ASA防火墙上进行ARP绑定(图) 目前我公司使用的网络全是静态IP地址,在公司里面有一台ASA5505防火墙,应领导要求,在该防火墙上面要限制某部份用户不能使用某些应用(如QQ农场等),而领导的计算机不做任何限制。为了实现这些功能,我们需要在ASA 5505防火墙上面做ARP绑定,然后再使用访问控帛列表来对这些IP地址与MAC地址进行限制。具体配置很简单,那么下面就带大家一起来看看如何在ASA 5500防火墙上面配置ARP绑定呢? 很简单的几条命令,我们就实现将下面PC的IP地址与MAC地址进行绑定了。下面我们来测试一下看看。刚才上面的IP地址与MAC地址是我笔记本无线网卡的IP地址与MAC地址(如下图)。 我们ping 192.168.0.199(防火墙内网接口地址)看看能否正常通信。

从上图我们可以看见,通过我们的无线网卡能够正常的去与我们防火墙内部接口正常通信。那么下面我将我无线网卡上面的IP地址换至有线网卡上面再测试,这样我有线网卡的MAC地址就不能与防火墙上面设置的MAC 地址匹配(如下图)。 那么我们现在再来看看能不能正常进行通信呢(如下图) 从这里我们可以很明显的看见,他不能与我们防火墙进行通信,而这样就已经实现了IP地址与MAC地址对应以后才能正常通过防火墙出去。但是这样有一点我们大家很容易忽略的,就是我们只将我们需要用的地址进行IP与MAC绑定,而其他没有用的就没有绑,那么人有使用没有绑定IP地址与MAC地址的IP去访问互联网,是能够正常出去的。下面我们来试试,我现在将我的IP地址改成192.168.0.2,这个IP地址在我当前的网络中是没有使用的,在防火墙上面也没有对该IP地址进行MAC地址绑定。 这时候我们再ping一下防火墙的内网接口地址看看能否正常通信呢?

计算机网络解析ARP数据包

计算机网络解析A R P 数据包 -CAL-FENGHAI.-(YICAI)-Company One1

成绩评定表 课程设计任务书

3 相关知识 ................................ 错误!未定义书签。 4 课程设计分析......................... 错误!未定义书签。 5 程序代码 ................................ 错误!未定义书签。 6 运行结果与分析 ..................... 错误!未定义书签。 7 个人心得 (1) 8 参考文献 ................................ 错误!未定义书签。

摘要 本文首先介绍了解析ARP数据包课程设计的目的与意义,本次课程设计的要求,接着说明了,什么是ARPARP数据报消息格式以及ARP协议的工作流程加强我们对ARP协议的认识,然后分析了本次课程设计的难点、重点、参考算法、核心代码,以及对运行结果的分析,还有一些相关知识的拓展。最后对本次课设进行了个人心得的总结。

1课程设计目的 课程设计的目的是对网络上的ARP数据包进行解析,从而熟悉ARP数据包的结构,对ARP协议有更好的理解和认识。 2 课程设计要求 通过编写程序,获取网络中的ARP数据包,解析数据包的内容,将结果显示在标准输出上,并同时写入日志文件。 程序的具体要求如下所示: (1)以命令行的形式运行,如下所示: ParseArp log_file其中,arpparse为程序名;log_file为日志文件名。 (2)程序输出内容如下所示: 源IP地址源MAC地址目的IP地址目的MAC地址操作时间各部分的说明如下所示: 源IP地址:输出ARP消息格式中的源IP地址字段 源MAC地址:输出ARP消息格式中的源物理地址字段 目的IP地址:输出ARP消息格式中的目的IP地址字段。 目的MAC地址:输出ARP消息格式中的目的物理地址字段操作:输出ARP消息格式中的操作字段,若为ARP请求, 则为1,若为ARP应答,则为2。 时间:该ARP包产生的时间。 (3)当程序接收到键盘输入Ctrl+C时字段退出。

网卡ARP静态开机绑定

通过NETSH命令解决网卡ARP学习不正常的案例 设备配置: 服务器端双网卡配置,ETH0 IP 192.168.8.253 255.255.255.0;ETH1 IP 10.3.0.8 255.255.255.0。所接设备为三台基站设备(服务器到基站由于传输需要经过两台交换机,一对光电转换),IP地址分别为192.168.8.112、192.168.8.113、192.168.8.114。服务器及基站均为静态固定IP。 故障表现: 网卡正常工作一段时间后,三台基站会相继掉线(三台基站不是同时掉),通过抓包软件,发现服务器能收到基站的广播包,但无法PING通,服务器运行arp -a 发现ETH0 网卡ARP表中丢失基站的映射信息。 通过常规手段在服务器运行ARP –S 192.168.8.X XX-XX-XX-XX-XX-XX后,提示命令无法执行。 故障分析: 重启基站/交换机后,基站与服务器能PING通,但过段时间后,仍会相断掉线,排除是基站设备和交换机的问题导致。故障定位于服务器所接网卡问题,但目前仍无得出是什么问题导致网卡的ARP学习不正常。 故障排除: 在服务器上运行命令netsh I I show in得到192.168.8.253所在的网卡IDX号 如图所示,ETH0所对应的IDX 为11 新建一个批处理文件导入服务器启动项,编辑以下信息并保存后,重启服务器 netsh -c "i i" add neighbors 11 192.168.8.112 基站MAC地址(格式为XX-XX-XX-XX-XX-XX)netsh -c "i i" add neighbors 11 192.168.8.113基站MAC地址(格式为XX-XX-XX-XX-XX-XX)netsh -c "i i" add neighbors 11 192.168.8.114基站MAC地址(格式为XX-XX-XX-XX-XX-XX)

MAC与ARP解析

网络技术竞赛教师培训资料 2008-6-28版 1. IP地址与MAC地址 (1)IP地址 TCP/IP协议要求Internet中的每台主机和连网设备有一个规定格式的、唯一性的地址标识,使Internet上的信息能够正确地传送到目的地。这个统一编制的标识称为IP地址。 IP地址是一个32位的二进制数,如:11001010 01111110 01010000 00001010就是一个符合Internet地址方案的IP地址。 为了便于管理网络和研究技术,我们通常用“点分十进制表示法”来书写IP地址,即将IP 地址分为4组,每8位为1组,写作对应的十进制数,以点号分隔。上面的IP地址写作:202.126.80.10。 Internet是由很多网络互相连接而形成的,Internet中的每台设备都属于其中的某一个网络。在一个IP地址中,包含了该设备所在网络的网络编号以及该设备在网络内部的编号。如上面的地址,其网络编号为202.126.80,网内编号为10。 (2)IP地址规划 Internet编址方案将IP地址分为5类,对各类地址作如下编址规定: ?A类地址:用于大型网络;高端的8位表示网络编号,低端的24位表示网内编号;地址的第1位为0。 ?B类地址:用于中型网络;高端的16位表示网络编号,低端的16位表示网内编号;地址的前两位为10。 ?C类地址:用于小型网络;高端的24位表示网络编号,低端的8位表示网内编号;地址的前3位为110。 ?D类地址:多播地址,用于多点传送;地址的前4位为1110。 ?E类地址:备用地址;地址的前5位为11110。

图1.1 IP地址编码规则 根据图1.1所示的编码规则,我们得到如表1-1所列出的IP地址特征和网络特征。 表1-1 IP地址特征和网络特征 (3)子网技术 如果一个网络内的主机很多的话,数据流量会很大。我们在第4章中曾讲过,适当划分网段,使用网桥或交换机类的网络互连设备,能够有效地减轻网络负载。Internet使用子网技术来划分网段,将一个较大的网络分解为若干个较小的网络。 划分子网时,首先要决定子网的个数,然后在IP地址的网内编号位中采用合适的位数对子网进行编号,从而确定每个子网的地址范围。 例:将网络202.126.80划分为6个子网。实现步骤: 1)确定子网编号使用的地址位。202.126.80是一个C类网络,IP地址的低8位为网络内部编号,我们取其中的高3位作为子网编号,由于全0编号和全1编号有特殊意义不能使用,这3位的其余6种组合正好用于6个子网的编号。 2)确定各子网的地址范围。在一个子网内的主机,子网编号的3位是相同的;子网内部编号使用5位,因为全0和全1有特殊意义不能使用,编号从00001到11110,最多容纳30台主机。

华为交换机 01-02 ARP配置

2 ARP配置关于本章 ARP(Address Resolution Protocol)是一种地址解析协议。通过ARP协议,建立IP地 址与MAC地址之间的映射,实现以太网数据帧在物理网络中的传送。 2.1 ARP概述 ARP提供了一种将IP地址解析为MAC地址的解析机制,是以太网通信的基础。 2.2 设备支持的ARP特性 ARP可以分为静态和动态两种。设备还支持一些扩展ARP的应用,比如Proxy ARP、出 口ARP检测EAI(Egress ARP Inspection)功能以及配置IP地址冲突检测功能。 2.3 缺省配置 介绍ARP相关参数的缺省配置。 2.4 配置静态ARP 配置静态ARP表项可以增加通信的安全性。 2.5 优化动态ARP ARP表项动态学习是主机和交换机本身就具有的功能,并且设备的缺省状态即为ARP表 项动态学习,不需要使用命令启动此功能。但根据网络需要,用户可以调整动态ARP 的一些参数。 2.6 配置Proxy ARP 交换机可以作为ARP请求中目标主机的代理,代为回答一些特殊情况下不可达的ARP请 求。 2.7 配置出口ARP检测功能 配置出口ARP检测功能,设备可以限制ARP报文的转发范围,防止ARP报文在VLAN内 广播,减小了VLAN内的网络负荷。 2.8 配置IP地址冲突检测功能 配置IP地址冲突检测功能,设备可以通过ARP报文检测网络中存在的IP地址冲突。 2.9 维护ARP 维护ARP包括清除ARP表项、监控ARP运行状况。 2.10 配置举例 配置示例中包括组网需求、配置思路等。

2.1 ARP概述 ARP提供了一种将IP地址解析为MAC地址的解析机制,是以太网通信的基础。 当主机或其它网络设备有数据要发送给另一个主机或设备时,它需要知道对方的网络 层地址(即IP地址)。但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过物 理网络发送,因此发送方还必须有接收方的物理地址,这就需要一个从IP地址到物理 地址的映射。地址解析协议ARP(Address Resolution Protocol)可以将IP地址解析为 MAC地址。 2.2 设备支持的ARP特性 ARP可以分为静态和动态两种。设备还支持一些扩展ARP的应用,比如Proxy ARP、出 口ARP检测EAI(Egress ARP Inspection)功能以及配置IP地址冲突检测功能。 动态ARP和静态ARP对比 ARP表项分为动态ARP表项和静态ARP表项。动态ARP和静态ARP的概念、表项生成与 维护情况和应用场景如表2-1所示。 表2-1动态ARP与静态ARP对比表 ARP支持的扩展应用 ARP还支持扩展应用,如表2-2所示。

网络基础 地址解析(ARP)协议

网络基础地址解析(ARP)协议 地址解析协议(Address Resolution Protocol,ARP)是一种能够实现IP地址到物理地址转化的协议。在计算机网络中,通过物理地址来识别网络上的各个主机,IP地址只是以符号地址的形式对目的主机进行编址。通过ARP协议将网络传输的数据报目的IP地址进行解析,将其转化为目的主机的物理地址,数据报才能够被目的主机正确接收。 实现IP地址到物理地址的映射在网络数据传输中是非常重要的,任何一次从互联网层及互联网层以上层发起的数据传输都使用IP地址,一旦使用IP地址,必须涉及IP地址到物理地址的映射,否则网络将不能识别地址信息,无法进行数据传输。 IP地址到物理地址的映射包括表格方式和非表格方式两种。其中,表格方式是事先在各主机中建立一张IP地址、物理地址映射表。这种方式很简单,但是映射表需要人工建立及人工维护,由于人工建立维护比较麻烦,并且速度较慢,因此该方式不适应大规模和长距离网络或映射关系变化频繁的网络。而非表格方式采用全自动技术,地址映射完全由设备自动完成。根据物理地址类型的不同,非表格方式有分为直接映射和动态联编两种方式。1.直接映射 物理地址分为固定物理地址和可自由配置的物理地址两类,对于可自由配置的物理地址,经过配置后,可以将其编入IP地址码中,这样物理地址的解析就变的非常简单,即将它从IP地址的主机号部分取出来便是,这种方式就是直接映射。直接映射方式比较简单,但适用范围有限,当IP地址中主机号部分不能容纳物理地址时,这种方式将失去作用。另外,以太网的物理地址都是固定的,一旦网络接口更改,物理地址也随之改变,采用直接映射将会出现问题。 2.动态联编 由于以太网具有广播能力和物理地址是固定的特点,通常使用动态联编方式来进行IP 地址到物理地址的解析。动态联编ARP方式的原理是,在广播型网络中,一台计算机A欲解析另一台计算机B的IP地址,计算机A首先广播一个ARP请求报文,请求计算机B回答其物理地址。网络上所有主机都将接收到该ARP请求,但只有计算机B识别出自己的IP 地址,并做出应答,向计算机A发回一个ARP响应,回答自己的物理地址。 为提高地址解析效率,ARP使用了高速缓存技术,即在每台使用ARP的主机中,都保留一个专用的高速缓存,存放最近获得的IP地址-物理地址联编信息。当收到ARP应答报文时,主机就将信宿机的IP地址和物理地址存入缓存。在发送报文时,首先在缓存中查找相应的地址联编信息,若不存在相应的地址联编信息,再利用ARP进行地址解析。这样不必每发一个报文都进行动态联编,提高地址解析效率,从而使网络性能得到提高。 另外,还有一种在无盘工作站中常用的反向地址解析协议(RARP),它可以实现物理地址到IP地址的转换。在无盘工作站启动时,首先以广播方式发出RARP请求,网络上的RARP服务器会根据RARP请求中的物理地址为该工作站分配一个IP地址,生成一个RARP 响应报文发送回去。然后,无盘工作站接收到RARP响应报文,便获得自己的IP地址,就能够和服务器进行通信。

H3C防ARP解决与方案及配置

H3C防ARP解决方案及配置 ARP, 方案 目录 第1章防ARP攻击功能介绍 1-1 1.1 ARP攻击简介 1-1 1.2 ARP攻击防御 1-3 1.2.2 DHCP Snooping功能 1-3 1.2.3 ARP入侵检测功能 1-4 1.2.4 ARP报文限速功能 1-4 1.3 防ARP攻击配置指南 1-5 第2章配置举例 2-1 2.1 组网需求 2-1 2.2 组网图 2-2 2.3 配置思路 2-2 2.4 配置步骤 2-3 2.5 注意事项 2-6 防ARP攻击配置举例 关键词:ARP、DHCP Snooping 摘要:本文主要介绍如何利用以太网交换机DHCP监控模式下的防ARP攻击功能,防止校园网中常见的“仿冒网关”、“欺骗网关”、“欺骗终端用户”、ARP泛洪等攻击形式。同时,详细描述了组网中各个设备的配置步骤和配置注意事项,指导用户进行实际配置。 缩略语:ARP(Address Resolution Protocol,地址解析协议) MITM(Man-In-The-Middle,中间人攻击) 第1章防ARP攻击功能介绍 近来,许多校园网络都出现了ARP攻击现象。严重者甚至造成大面积网络不能正常访问外网,学校深受其害。H3C公司根据校园网ARP攻击的特点,给出了DHCP监控模式下的防ARP攻击解决方案,可以有效的防御“仿冒网关”、“欺骗网关”、“欺骗终端用户”、“ARP中间人攻击”、“ARP泛洪攻击”等校园网中常见的ARP攻击方式;且不需要终端用户安装额外的客户端软件,简化了网络配置。 1.1 ARP攻击简介 按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为“ARP欺骗”创造了条件。 校园网中,常见的ARP攻击有如下几中形式。 (1) 仿冒网关

计算机网络解析ARP数据包

成绩评定表

课程设计任务书

摘要 本文首先介绍了解析ARP数据包课程设计的目的与意义,本次课程设计的要求,接着说明了,什么是ARP?ARP数据报消息格式以及ARP协议的工作流程加强我们对ARP协议的认识,然后分析了本次课程设计的难点、重点、参考算法、核心代码,以及对运行结果的分析,还有一些相关知识的拓展。最后对本次课设进行了个人心得的总结。

3相关知识 (1)什么是ARP 地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP 地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP 具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP 协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目

ARP工作原理

ARP 一.简介 ARP,即地址解析协议,实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP 地址变换成物理地址的地址转换问题。以以太网环境为例,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。另有电子防翻滚系统也称为ARP。 二.基本功能 在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC 地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 另外,当发送主机和目的主机不在同一个局域网中时,即便知道目的主机的MAC地址,两者也不能直接通信,必须经过路由转发才可以。所以此时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的某个端口的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。这种情况称为ARP代理(ARP Proxy)。 三.工作原理 当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。然后,寻找IP地址到实际MAC地址的映射,这需要发送ARP广播消息。当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。 如图1所示,描述了ARP广播过程。

相关主题
文本预览
相关文档 最新文档