ARP
+ -

ARP 简介

2023-07-19 9 0

ARP协议—-Address Resolution Protocol—-地址解析协议

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧之前将目标主机的IP地址转换成目标主机的MAC地址的过程。

ARP协议的基本功能就是通过目标主机的IP地址,查询目标主机的MAC地址,以保证通信的顺利进行。协议又称做服务,ARP协议也即ARP服务,提供把IP地址转换成MAC地址的服务!

在现行寻址机制中,主机的以太网网卡只能识别MAC地址,而不能识别IP地址,若数据帧中不指明主机B的MAC 地址,主机B的网卡不能识别该帧是发给自己的,因此主机A仅知道主机B的IP地址还不够,还必须知道主机B的MAC地址,才能完成对主机B的访问;网络之间是用IP地址寻址,网络之内(同一物理网段或称IP子网)是用MAC地址寻址。

功能

使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

地址解析协议由互联网工程任务组(IETF)在1982年11月发布的RFC 826中描述制定。 地址解析协议是IPv4中必不可少的协议,而IPv4是使用较为广泛的互联网协议版本(IPv6仍处在部署的初期)。
OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接打交道。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头,但由于发送时只知道目标IP地址,不知道其MAC地址,又不能跨第二、三层,所以需要使用地址解析协议。

ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

重要性

ARP是基于以太网数据包的,以太网数据包是以物理地址(MAC)进行数据包传输入,而IP层的数据却是以IP为寻址的,而ARP就是从MAC地址到IP地址的转换。所以可以这么说,如果没有ARP,则上层IP协议栈是无法工作的,ARP是IP层及上层协议栈的基础,是可以进行数据通讯的基础。

安全问题

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

0 篇笔记 写笔记

ARP 简介
ARP协议—-Address Resolution Protocol—-地址解析协议地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息......
ARP 报文格式
ARP的数据包格式协议如下图所示:图中以太网目的地址,以太网源地址,发送端以太地址,发送端IP地址,目的以太网地址,目的IP地址这几个字段的含义很明显。帧类型:固定为08 06 ,指标为ARP。硬件类型字段:指明了发送方想知道的硬件接口类型,以太网的值为00 01;协议类型字段:指明了发送方......
ARP C数据结构
使用C/C++语言,我们可以定义ARP的数据结构如下:#pragma pack(1)//以太网头#define ETH_ALEN (6)typedef struct _ETH_HEADER{ unsigned char DstAddr[ETH_ALEN]; ......
ARP 工作流程
数据的格式均以网络字节序存储即大端存储。协议类型:08 06 ARP08 00 IP操作码:00 01 请示00 02 回复硬件地址和协议地址长度均以字节为单位,这和IP数据包头长度有点不一样,IP数据包头长度是4字节的倍数,但IP数据总长度却以字节为单位。以下为抓包数据格式解释:本......
ARP 命令行工具
ARP命令常见用法arp -aarp –g用于查看缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。arp -a Ip如......
ARP 攻击及防范
故障原因局域网内有人使用ARP欺骗的木马程序(比如:传奇盗号的软件,某些传奇外挂中也被恶意加载了此程序)。故障原理在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的A......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!