Networking - ARP 协议

ARP 协议概述

ARP(Address Resolution Protocol),即地址解析协议,用于把 IP 地址映射到物理地址。网段上的每台主机都维护着一个被称为 ARP Table 或 ARP Cache 的表格,其中包含着网段上其他主机的 IP 地址与物理地址的对应关系。当主机需要向网段上的其他主机发送数据时,它会查看 ARP Cache 来获得目的的物理地址。ARP 缓存是动态变化的。如果要接收数据的地址当前并不存在于 ARP Cache,主机就会广播一个 ARP 请求帧。ARP 请求帧包含未解析的 IP 地址,还包含发送这个请求的主机的 IP 地址和物理地址。网段上的其他主机接收到这个 ARP 请求,拥有这个未解析的 IP 地址的主机会向发出请求的主机发送自己的物理地址。这个新的 IP 地址与物理地址的对应关系就会添加到请求主机的 ARP Cache 中。一般来说,ARP Cache 里的条目在一定时间后会过期,条目就会被从表里删除。当主机需要向这个条目所包含的 IP 地址发送数据时,解析过程会再次重复。

ARP 报文格式

ARP 报文格式如下:

HTYPE PTYPE HLEN PLEN OPER SHA SPA THA TPA

HTYPE(Hardware Type): 该字段有 2 个字节,表示硬件类型。

PTYPE(Protocol Type): 该字段有 2 个字节,表示协议类型。

HLEN(Hardware Address Length ): 该字段有 1 个字节,表示硬件地址长度。

PLEN(Protocol Address Length ): 该字段有 1 个字节,表示协议地址长度。

OPER(Operation): 该字段有 2 个字节,表示操作类型。1 表示 ARP 请求,2 表示 ARP 应答。

SHA(Sender Hardware Address): 该字段有 6 个字节,表示发送者硬件地址。

SPA(Sender Protocol Address): 该字段有 4 个字节,表示发送者 IP 地址。

THA(Target Hardware Address): 该字段有 6 个字节,表示目标硬件地址。

TPA(Target Protocol Address): 该字段有 4 个字节,表示目标 IP 地址。

ARP 工作过程

下面使用 Wireshark 分析 ARP 的工作过程。试验的机器:发送者机器(IP 地址:10.21.28.47,MAC 地址:68:f7:28:0f:32:2e)下文称为 HOSTA;目标机器(IP 地址:10.21.28.110,MAC 地址:54:ee:75:25:33:fd),下文称为 HOSTB。

1. 使用 "arp and eth.addr == 68:f7:28:0f:32:2e" 过滤规则定位数据封包。观察编号为 2370 的数据帧,MAC 地址为 68:f7:28:0f:32:2e 广播了一个 ARP 请求帧,询问 “Who has 10.21.28.110?  Tell 10.21.28.47”。

2. 观察 No.2370 的 Ethernet II 数据帧的内容。源 MAC 地址为 68:f7:28:0f:32:2e,目的 MAC 地址为 ff:ff:ff:ff:ff:ff(广播),数据包类型 ARP(0x0806)。

3. 观察 No.2370 的 ARP 数据包的内容。Opcode 的值为 1,表示这是一个 ARP 请求。源 MAC 地址为 68:f7:28:0f:32:2e,源 IP 地址为 10.21.28.47,目标 IP 地址为 10.21.28.110。这就像是 HOSTA 向网段里的其他主机发出询问 “你们好,我的 MAC 地址是 68:f7:28:0f:32:2e,IP 地址是 10.21.28.47,IP 地址为 10.21.28.110 的主机的 MAC 地址是多少啊,可以站出来跟我说一下吗?”。

4. 观察编号为 2371 的数据帧,MAC 地址 54:ee:75:25:33:fd 主机回应了 68:f7:28:0f:32:2e:“10.21.28.110 is at 54:ee:75:25:33:fd”。

5. 观察 No.2371 的 ARP 数据包的内容。Opcode 的值为 2,表示这是一个 ARP 应答。源 MAC 地址为 54:ee:75:25:33:fd,源 IP 地址为 10.21.28.110,目标 MAC 地址为 68:f7:28:0f:32:2e,目标 IP 地址为 10.21.28.47。HOSTB 收到 HOSTA 的 ARP 请求后,发现 HOSTA 询问的 IP 地址 10.21.28.110 正是自己的 IP 地址。就回应 HOSTA 说 “10.21.28.110 是我的 IP 地址,我的 MAC 地址是 54:ee:75:25:33:fd。”

6. HOSTA 接收到 HOSTB 的应答后,就可以更新 HOSTA 的 ARP Cache 了。

时间: 2025-01-31 09:35:11

Networking - ARP 协议的相关文章

9、网络知识(路由交换和ARP协议)+配置单网卡多ip和配置默认路由

网络知识详解 提问:网络到底是什么?我们在电缆中传输的都是电信号(高电压或者是低电压),所以高电压就是1,低电压就是0,所以规定一定的时间传输固定的高低电压来当做是接收的数据我们所谓的10Mbps:每秒中可以传输10M个bit所以别人说你的是4M的带宽,指的就是4Mbps,要除以8才是实际的速率那就是4Mbps=4/8MBs=0.5MBs=0.51024KBs=(41024)Kbps=512KB/s的下载速率我们平时说的下载速度就是以KB/s为单位的1KB/S=8Kbps 512KB/S=8K*

arp协议及运用

Arp协议和Arp欺骗 今天更深入了解网络的传输的原理.如两台计算机建立连接的过程:两台计算机之间通信,在数据链路层转发靠MAC地址,在网络传输则靠IP地址.但是在两台计算机建立连接之前,只知道对方的IP地址,那么要怎么样获取对方的MAC地址呢? 这时就要先发一个ARP数据包,来获取对方的MAC地址. 地址解析协议, 即ARP(AddressResolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主

TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议

转http://blog.csdn.net/goodboy1881/article/details/668556 —————————————————————————————————————————————————————— 把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UD

图解ARP协议(三)ARP防御篇-如何揪出"内鬼"并"优雅的还手"

一.ARP防御概述 通过之前的文章,我们已经了解了ARP攻击的危害,黑客采用ARP软件进行扫描并发送欺骗应答,同处一个局域网的普通用户就可能遭受断网攻击.流量被限.账号被窃的危险.由于攻击门槛非常低,普通人只要拿到攻击软件就可以扰乱网络秩序,导致现在的公共网络.家庭网络.校园网.企业内网等变得脆弱无比. 所以,如何进行有效的ARP防御?作为普通用户怎么防御?作为网络/安全管理员又怎么防御?有哪些ARP防御软件?如果被ARP攻击了,如何揪出"内鬼",并"优雅的还手"?

ARP协议详解

ARP协议简介 IP地址属于网络层,但ip地址在传输的时候需要跨越不同的物理网络进行交换,此时如果一台主机要将一个帧发送到另一台主机,光知道其ip地址是不够的,还需要知道其有效的“硬件地址”. ARP(地址解析协议)就提供了一种在32位IPv4地址和以太网的48位MAC地址(硬件地址)之间的映射. ARP提供的是网络层地址到相关硬件地址的“动态映射”,即:会自动执行和随时间变化,而不需要系统管理员的配置.(如一台一台主机改变了它的网卡后(mac地址改变),ARP可以在一定延时后继续正常工作) 整

Lvs原理及部署之ARP协议

1.什么使ARP协议 ARP协议,全称"Address Resolution Protocol" ,中文名是地址解析协议,使用ARP协议可实现通过IP地址获得对应的物理地址(MAC地址). 在TCP/IP的网络环境下,每个联网的主机都会被分配一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文在物理网络上传输,还必须要知道对方目的主机的物理地址(MAC)才行.这样就存在把IP地址转换成物理地址的地址转换的问题. 我们以以太网环境为例说明,为了正确地向目的主

ARP协议及ARP欺骗详解

ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址:收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源.ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记

浅谈ARP协议以及应用

0. 前言 本章主要简单的介绍ARP的协议格式,主机如何发送和处理ARP报文,以及免费ARP. 1. ARP协议原理 ARP,全称Address Resolution Protocol,地址解析协议,在网络中,有IP地址和MAC地址,在链路层发送报文时使用的是MAC硬件地址,这时需要将IP地址转换为48bit MAC地址,这就会使用到ARP协议. 如下,有两台主机,239主机ping向238主机.当本地ARP缓存中没有238主机对应的项时,会发起ARP广播请求,之后使用arp命令查看ARP缓存,

ARP协议

ARP协议 原文地址:http://blog.csdn.net/tigerjibo/article/details/7351992#t4 前言:ARP协议的作用: 1. 什么是ARP? ARP (Address Resolution Protocol) 是个地址解析协议.最直白的说法是:在IP以太网中,当一个上层协议要发包时,有了该节点的IP地址,ARP就能提供该节点的MAC地址. 2为什么要有ARP? OSI 模式把网络工作分为七层,彼此不直接打交道,只通过接口(layre interface