ARP协议(2)ARP协议格式详解

一、协议格式

ARP协议的格式如下:

分两大块来讲解:

1、红色框起来的是:以太网的首部,共14字节。

这部分是你不管发送什么以太网协议的数据包,它都是需要的,而且是必须的。各字段的说明:

字段 所占字节数 说明
以太网目的地址 6 要向哪台主机发送信息,主机的MAC地址
以太网源地址 6 信息是从哪台机器发送出来的,主机的MAC地址
帧类型 2 表示这是什么类型的数据包。如果是RAP的话,该值为:0x0806

2、蓝色框起来的部分,这就是ARP协议的格式(请求/应答)

字段 所占字节数 说明
硬件类型 2 通常填1,表示以太网硬件地址类型
协议类型 2 通常为0x0800,表示IP地址类型
硬件地址长度 1 MAC地址的长度,填6
协议地址长度 1 IP地址长度,填4
op 2 操作字段:

ARP请求:1

ARP相应:2

RARP请求:3

RARP相应:4

发送端以太网地址 6
发送端IP地址 4
目的以太网地址 6
目的以太网IP地址 4

对于一个ARP请求来说,除目的端硬件地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。

二、分析ARP协议

这里要用到一抓包工具:wireshark,这是一免费的抓包工具,居于winpcap驱动,大家可以到网上去下载。下面我主要用这个工具来分析ARP协议格式。(Linux下可以用tcpdump来抓包,本ARP讲解全部都基于win7下)

1、wireshark基本用法

关于wireshark的用法,大家可以去搜索,而且在下载包里,也自带了一份使用说明。在这里简单讲解下它基本使用。

安装,打开wireshark会出现这样的界面:

点击 抓包 -- 网络接口

出现的窗口中,

第1列 详细信息, 就是你电脑里的网络适配器(网卡)的描述信息,我这有3个,第一个是无线网卡,第二个是虚拟的无线网卡,第三个是插入网线的网卡。

第2列 IP地址,就是每个网卡的IP/MAC地址。默认显示的是MAC地址,在上面在点击下,就会显示IP地址

第3列 包,是经过该网卡的包的数量

第4列 包数/秒, 是每秒经过该网卡包的数量

上面的3个网卡中,可以看出,只有第一个网卡是由流量的(包数),所以在这台机器上,第一个网卡是可用的。

当然,可能会同时存在多个可用的网卡,这个时候,要监听哪个网卡的数据,就由你来决定了。(可以通过IP/MAC地址来分辨)

wireshark可以有很多的过滤规则,如果不设置的话,它会显示所有经过该网卡的数据包。在这里,我先不对它进行过滤设置,点击上面的开始按钮,出现:

图中,我用红框分割出了4部分:

第1部分 过滤:这里填写你要过滤的表达式(不是随便填的,可以参考它的说明文档)

第2部分 是主体部分,这里主要显示了经过该网卡的数据包,各段的含义,大家看字段名就可以看出是什么意思,这里我就不再赘述了。

第3部分 是对应包格式说明

第4部分 是原始数据包的内容(十六进制)

2、ARP包详解

好,这个时候,我们根据RAP的协议,来研究下,ARP在真正网络上是如何来传输的。

另外,wireshark一旦开启后,就不停地把包展现出来,为避免显示包数过多,而不必我们分析时,可进行暂停,如图:

在Protocol这列我们找到ARP,如果太多,可以在 过滤框里输入arp回车,就把arp协议的过滤出来了

我们随便选出一ARP包:

上面红色线或框的部分,就是我们之前说的ARP协议格式的各个字段,大家对照协议,就都明白了。

有同学就问了,这个包,那我可以控制它么?

好,下面一篇,我们主要来学习,如果对ARP进行编程。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-26 14:45:40

ARP协议(2)ARP协议格式详解的相关文章

网络层协议介绍,IP包格式详解+ARP原理(重点3,网络小白必备知识)

一.我们先回顾一下网络层是我们网络基础七层原理的哪一层是我们的第三层,这个数据包里面有IP头部,TC头部和上层数据二.网络层的功能网路层数据包里面的IP地址相当于我们的逻辑地址,全局地址,在全球当中我们的电脑会被分配到一个地址.三.数据包格式详解版本:我们现在有两个版本IPV4,IPV6,首先我们的IP地址的资源是有限的,我们暂时处于这两个的中间,全球60几亿人.首部长度:就是我们头部格式的长度,不包含上层数据优先级与服务类型:决定什么数据先发送,就比如我们QQ发消息给别人,同时我们还在下载东西

搞懂分布式技术4:ZAB协议概述与选主流程详解

搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要是根据ZAB协议是实现分布式系统数据一致性. zookeeper根据ZAB协议建立了主备模型完成zookeeper集群中数据的同步.这里所说的主备系统架构模型是指,在zookeeper集群中,只有一台leader负责处理外部客户端的事物请求(或写操作),然后leader服务器将客户端的写操作数据同步

多媒体封装格式详解---MP4

MP4文件格式详解--结构概述 http://blog.csdn.net/pirateleo/article/details/7061452 一.基本概念 1. 文件,由许多Box和FullBox组成. 2. Box,每个Box由Header和Data组成. 3. FullBox,是Box的扩展,Box结构的基础上在Header中增加8bits version和24bits flags. 4. Header,包含了整个Box的长度size和类型type.当size==0时,代表这是文件中最后一个

BMP格式详解

BMP格式详解 BMP文件格式详解(BMP file format) BMP文件格式,又称为Bitmap(位图)或是DIB(Device-Independent Device,设备无关位图),是Windows系统中广泛使用的图像文件格式.由于它可以不作任何变换地保存图像像素域的数据,因此成为我们取得RAW数据的重要来源.Windows的图形用户界面(graphical user interfaces)也在它的内建图像子系统GDI中对BMP格式提供了支持. 下面以Notepad++为分析工具,结合

多媒体开发之---h264格式详解

http://blog.csdn.net/bluebirdssh/article/details/6533501 http://blog.csdn.net/d_l_u_f/article/details/7260772 http://blog.csdn.net/sunnylgz/article/details/7680262 http://blog.csdn.net/heanyu/article/details/6204414 多媒体开发之---h264格式详解,布布扣,bubuko.com

大端小端格式详解

1. 什么是大端,什么是小端: 所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中: 所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中. 2.为什么会有大小端: 为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit.但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处

(原创)高性能IP数据库格式详解 qqzeng-ip.dat

高性能IP数据库格式详解 qqzeng-ip.dat 编码:UTF8           字节序:Little-Endian 返回多个字段信息(如:亚洲|中国|香港|九龙|油尖旺|新世界电讯|810200|Hong Kong|HK|114.17495|22.327115) ------------------------ 文件结构 --------------------------- //文件头 16字节(4-4-4-4) [索引区第一条流位置][索引区最后一条流位置][前缀区第一条的流位置]

Linux下可执行文件格式详解

Linux下面,目标文件.共享对象文件.可执行文件都是使用ELF文件格式来存储的.程序经过编译之后会输出目标文件,然后经过链接可以产生可执行文件或者共享对象文件.Linux下面使用的ELF文件和Windows操作系统使用的PE文件都是从Unix系统的COFF文件格式演化来的. 我们先来了解一些基本的想法. 首先,最重要的思路是一个程序从人能读懂的格式转换为供操作系统执行的二进制格式之后,代码和数据是分开存放的,之所以这样设计有这么几个原因: 1.程序执行之后,代码和数据可以被映射到不同属性的虚拟

avi 格式详解

http://blog.csdn.net/becomly/article/details/6283004 http://blog.csdn.net/easecom/article/details/4508094 VI(Audio Video Interleaved 的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉.编辑.回放等应用程序 中.通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一

(转)Excel自定义格式详解

”G/通用格式”:以常规的数字显示,相当于”分类”列表中的”常规”选项.例:代码:”G/通用格式”.10显示为10:10.1显示为10.1. 2. “#”:数字占位符.只显有意义的零而不显示无意义的零.小数点后数字如大于”#”的数量,则按”#”的位数四舍五入.例:代码:”###.##”,12.1显示为12.10;12.1263显示为:12.13 3.”0”:数字占位符.如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足.例:代码:”00000”.1234567显示为12