精华内容
下载资源
问答
  • wireshark分析arp协议
    千次阅读
    2021-01-05 22:55:06

    最近很多人发现了,我写了好几篇协议解析文章,但是大部分人都不怎么熟悉以太网点对点协议之pppoe协议讲解PPTP协议详解及报文解析的协议,从事网络安全开发的,可能常见!今天主要研究ARP协议。

    什么是ARP协议

    ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。

    ARP协议在网络层下面作为OSI网络和OSI链路层之间接口的一部分运行。在通过以太网使用IPv4时使用。

    ARP有哪些类型

    ARP协议延伸出来的"代理ARP"、“免费ARP”、“RARP”、“IARP”,类型,而这些不同种类的ARP,主要应用在:

    代理ARP

    代理ARP是一种技术,通过该技术,给定网络上的代理设备可以响应ARP请求以获取不在该网络上的IP地址。代理知道流量目的地的位置,并提供自己的MAC地址作为目的地。

    免费ARP

    免费ARP几乎就像一个管理程序,是网络上的主机简单地宣布或更新其IP到MAC地址的一种方式。ARP请求不会提示免费ARP将IP地址转换为MAC地址。

    RARP

    不知道自己IP地址的主机可以使用反向地址解析协议(RARP)进行发现。

    IARP

    ARP使用IP地址查找MAC地址,而IARP使用MAC地址查找IP地址。

    为什么需要ARP

    ARP是必需的,因为连接到网络的主机或计算机的软件地址(IP地址)需要转换为硬件地址(MAC地址)。

    如果没有ARP协议,则主机将无法找出另一台主机的硬件地址。

    ARP工作流程

    ARP整个完整交互过程仅需要两个包,一问一答即可搞定! 一个是 ARP 请求过程,一个是 ARP 应答过程。

    为了让大家更好的理解ARP协议以及广播和单播的概念,我们来看一下用Wireshark抓取到的真实网络中的ARP过程,通过数据包的方式来呈现。

    ARP 请求过程:
    在这里插入图片描述

    当主机PC1想要给主机PC2发送数据时,主机PC1会首先在自己的本地ARP缓存表中检查与主机PC2相匹配的MAC地址。如果主机PC1在自己的缓存表中没找到主机PC2的相关条目,那么它就要想办法获取主机PC2的MAC地址。这就需要将ARP的请求帧广播到本地网络上的所有主机中。

    ARP请求包:

    在分析 ARP 协议包之前,先介绍一下它的报文格式,以帮助用户更清楚的理解每个包。
    在这里插入图片描述
    以太网头部信息来确定这个数据包是不是一个真的广播数据包。发现这个数据包目的地址是ff:ff:ff:ff:ff:ff,这是一个广播地址,是因为主机 PC2 不知道 PC1 主机的 MAC 地址,说明当前数据包会被广播到当前网段中的所有设备上。而这个数据包中以太网的源地址就是本机的MAC地址。

    Hardware type :占2字节,硬件类型,标识链路层协议。
    Protocol type: 占2字节,协议类型,标识网络层协。
    Hardware size :占1字节,硬件地址大小,标识MAC地址长度,这里是6个字节(48bit)。
    Protocol size: 占1字节,协议地址大小,标识IP地址长度,这里是4个字节(32bit)。
    Opcode: 占2字节,操作代码,标识ARP数据包类型,1表示请求,2表示回应。
    Sender MAC address :占6字节,发送者MAC。
    Sender IP address :占4字节,发送者IP。
    Target MAC address :占6字节,目标MAC,此处全0表示在请求。
    Target IP address: 占4字节,目标IP。

    ARP 应答过程:

    在这里插入图片描述
    主机PC2将包含有自己MAC地址的ARP响应消息直接回复给主机PC1(单播)。主机PC1收到从主机PC2发来的ARP响应消息后,会将主机PC2的IP地址和MAC地址添加到自己的ARP缓存表中。接下来,主机PC1就可以向主机PC2发送消息了。

    ARP响应包:

    在这里插入图片描述
    arp应答报文和arp请求报文类似。不同的是,此时以太网头部帧头部分的目的MAC地址为发送ARP协议地址解析请求的MAC地址,而源MAC地址为被解析的主机MAC地址。同时操作类型为2表示是应答数据报文。

    Hardware type :占2字节,硬件类型,标识链路层协议。
    Protocol type: 占2字节,协议类型,标识网络层协。
    Hardware size :占1字节,硬件地址大小,标识MAC地址长度,这里是6个字节(48bit)。
    Protocol size: 占1字节,协议地址大小,标识IP地址长度,这里是4个字节(32bit)。
    Opcode: 占2字节,操作代码,标识ARP数据包类型,1表示请求,2表示回应。
    Sender MAC address :占6字节,发送者MAC。
    Sender IP address :占4字节,发送者IP。
    Target MAC address :占6字节,目标MAC,此处全0表示在请求。
    Target IP address: 占4字节,目标IP。

    按wireshark格式解析ARP协议:

    
    int main(int argc, char* argv[])
    {
        char errbuf[1024];
        pcap_t *desc = 0;
    
        char *filename = argv[1];
        if (argc != 2)
        {
            printf("usage: ./dissect_pppoe [pcap file]\n");
            return -1;
        }
    
        printf("ProcessFile: process file: %s\n", filename);
        if ((desc = pcap_open_offline(filename, errbuf)) == NULL)
        {   
            printf("pcap_open_offline: %s error!\n", filename);
            return -1; 
        }   
    
        pcap_loop(desc, pkt_number, (pcap_handler)ace_pcap_hand, NULL);
        pcap_close(desc);
        return 0;
    }
    
    

    输出结果:

    在这里插入图片描述

    ARP到底是链路层还是网络层?

    这里给一下我的观点,协议到底所属哪一层,ARP协议能获取到MAC信息,服务于链路层,是不是属于链路层?如果往这方面想的话,ARP是链路层。

    以太网协议类型0x0800是IP协议,0x0806是ARP协议,都是在一个层面上,IP是网络层,那么ARP认为是网络层。

    在《TCP/IP详解卷一》里面就提到了这个问题,感兴趣的小伙伴可以去看看。

    总结

    在发送数据的时候,只知道目标IP地址,不知道MAC地址,而又不能跨越第二、三层实现通讯,这就需要使用地址解析协议(ARP)。

    ARP协议是在RFC826中定义的。RFC是定义各种协议实现标准的官方文档,建议大家在学习网络知识的时候,应当多多参考这些资料,因为它最权威,也最全面。

    参考: https://www.rfc-editor.org/info/rfc826

    欢迎关注微信公众号【程序猿编码】,需要ARP源代码和报文的添加本人微信号(17865354792)

    更多相关内容
  • 校内老师录制的较为详细的学习视频 利用Wireshark分析ARP协议视频 仅供学习使用,不得商用 谢谢 0积分共享 积分增加可留言修改
  • 校内实验 0积分共享 若自动添加积分可私信 仅供学习参考使用,不得商用(凑字数) 分析ARP协议
  • Wireshark抓分析ARP协议

    万次阅读 多人点赞 2022-04-29 20:46:43
    使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的地址解析过程、自主学习逻辑以及初次访问和多次访问的区别。

    「作者主页」:士别三日wyx
    「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
    「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》

    使用Wireshark工具抓取ARP协议的数据包,分析ARP协议的地址解析过程、自主学习逻辑以及初次访问和多次访问的区别。

    第一步:Ping本网段内任意主机

    1)cmd执行下面这条命令获取局域网内所有主机:

    for /L %i IN (1,1,254) DO ping -w 2 -n 1 192.168.31.%i
    

    命令的意思是:ping 192.168.0.1 到 192.168.0.255 之间的所有IP,注意将IP地址的第3位改成自己的网段。

    2)cmd执行 arp -a 命令,从ARP表中查看本网段内有哪些主机。

    在这里插入图片描述

    3)记录一个本网段的IP,然后 arp -d 清空ARP表

    在这里插入图片描述
    4)cmd执行 arp -a,验证ARP表已被清空(第五步会解释为什么要清空)

    在这里插入图片描述
    5)Wireshark开启抓包后,ping 本网段的IP

    在这里插入图片描述

    第二步:过滤ARP协议的数据包

    显示过滤器中输入:arp,过滤ARP协议的数据包。

    在这里插入图片描述

    抓到了两个数据包,第一个包是ARP请求包,第二个包是ARP响应包。

    第三步:数据包分析

    先分析一下这两个数据包做了什么

    1)先看第一个数据包,源地址(Source字段)是我自己的MAC地址

    在这里插入图片描述

    cmd 执行 ipconfig /all 验证一下:

    在这里插入图片描述
    目标地址(Destination字段)是 Broadcast,就是广播的意思
    Info 字段,是对当前动作的描述:

    在这里插入图片描述
    总结一下第一个数据包做了什么:
    我的电脑,发送了一个广播,广播的内容是 “谁是192.168.31.118?告诉192.168.31.121”
    192.168.31.121是我电脑的IP,意思就是:呼叫192.168.31.118,收到请回复我。

    4)第二个数据包的目的地址(Destination 字段)是我电脑的MAC地址

    在这里插入图片描述
    结合 Info 字段的信息,总结一下第二个数据包做了什么:
    有个主机,向我的电脑发送了一个信息,信息的内容是 “192.168.31.118 是 74:b5:87:db:06:ac”
    这个主机把MAC地址告诉了我的电脑。

    综上所述,我们可以得出一个结论:

    ARP地址解析协议就像一个队内语音,他会向局域网内所有主机广播请求,索要目标IP的MAC地址;知道的主机就会响应具体的MAC地址。

    第四步:数据内容分析

    接下来我们根据包的数据分析一下,这两个包是怎么做的

    1)第一个包的数据,重点看我圈起来的两个地方

    • 第一处:ARP后面的括号里是 request,说明这是个请求包
    • 第二处:源IP、源MAC、目标IP都有值,目标MAC却全是0,意思就是告诉他们:我不知道这个IP的MAC地址。

    在这里插入图片描述
    2)第二个包的数据,重点看我圈起来的两个地方

    • 第一处:ARP后面的括号里是 reply,说明这是个响应包
    • 第二处:源IP、源MAC、目标IP、目标MAC都有值,接收方可以从这里获取IP对应的MAC地址。

    在这里插入图片描述

    第五步:ARP自主学习

    还记得第一步的时候,我们清空了ARP表吗?

    再次使用 arp -a 查看ARP表

    在这里插入图片描述

    可以发现,表中添加了我们刚才 ping 的IP,以及对应的MAC地址,这就是ARP的学习能力:解析成功的MAC地址会被临时缓存,以节约资源。

    第六步:再次访问

    1)Wireshark开启抓包,重新访问这个主机

    在这里插入图片描述
    2)查看ARP请求包的目的MAC地址

    在这里插入图片描述
    由于是第二次访问,ARP表中已经缓存了MAC地址,所以这次ARP请求不再广播,而是直接从ARP表中获取。

    展开全文
  • 计算机网络 实验报告 年级 姓名 学号_ 实验日期_ 实验名称 实验二利用Wireshark分析ARP协议 一实验项目名称及实验项目编号 ARP协议学习与分析 二课程名称及课程编号 计算机网络 三实验目的和要求 实验目的 通过本...
  • 实验二使用wireshark分析arp协议.pdf
  • Wireshark数据分析ARP协议

    千次阅读 2022-02-10 16:42:40
    目录预备知识1、知识储备2、什么是ARP3、ARP工作流程4、ARP缓存表...《Wireshark数据包分析实战》http://download.csdn.net/detail/u011538384/5908643 2、什么是ARP ARP(Address Resolution Protocol,地址解析协议

    预备知识

    1、知识储备

    推荐两本好书:
    《TCP/IP详解卷1》http://www.pc6.com/softview/SoftView_2564.html
    《Wireshark数据包分析实战》http://download.csdn.net/detail/u011538384/5908643

    2、什么是ARP

    ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。由于OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接通信。在通过以太网发送IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头。但由于发送数据包时只知道目标IP地址,不知道其MAC地址,而又不能跨越第二、三层,所以需要使用地址解析协议。
    使用地址解析协议后,计算机可根据网络层IP数据包包头中的IP地址信息对应目标硬件地址(MAC地址)信息,以保证通信的顺利进行。ARP的基本功能就是负责将一个已知的IP地址解析成MAC地址,以便主机间能正常进行通信。

    3、ARP工作流程

    ARP工作过程分为两个阶段,一个是ARP请求过程,一个是ARP响应过程,该工作流程如下面图示:
    在这里插入图片描述
    在这里插入图片描述
    在上图中,主机PC1的IP地址为10.1.1.X;主机PC2的IP地址为10.1.1.Y。当主机PC1和主机PC2通信时,地址解析协议可以将主机PC2的IP地址(10.1.1.Y)解析成主机PC2的MAC地址。PC1和PC2的详细通信过程如下所示:
    (1)当主机PC1想发送数据给主机PC2时,首先在自己的本地ARP缓存表中检查主机PC2匹配的MAC地址。
    (2)如果主机PC1在缓存中没有找到相应的条目,它将询问主机PC2的MAC地址,从而将ARP请求帧广播到本地网络上的所有主机。该帧中包括源主机PC1的IP地址和MAC地址。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将会丢弃ARP请求。
    (3)主机PC2确定ARP请求中的IP地址与自己的IP地址匹配,则将主机PC1的地址和MAC地址添加到本地缓存表。
    (4)主机PC2将包含其MAC地址的ARP回复消息直接发送回主机PC1(这个数据帧是单播)。
    (5)当主机PC1收到从主机PC2发来的ARP回复消息时,会将主机PC2的IP和MAC地址添加的自己的ARP缓存表。本机缓存是有生存期的,默认ARP缓存表的有效期是120s。当超过该有效期后,将再次重复上面的过程。主机PC2的MAC地址一旦确定,主机PC1将能向主机PC2发送IP通信了。

    4、ARP缓存表

    ARP缓存中包含一个或多个表,它们用于存储IP地址及其经过解析的MAC地址。在ARP缓存中的每个表又被称为ARP缓存表。下面将介绍ARP缓存表的由来、构成及生命周期等。
    1.ARP缓存表的由来:
    ARP协议是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。这时就涉及到一个问题,一个局域网中的电脑少则几台,多则上百台,这么多的电脑之间,如何能记住对方电脑网卡的MAC地址,以便数据的发送呢?所以,这里就有了ARP缓存表。
    2.ARP缓存表维护工具——arp命令:
    在计算机中,提供了一个ARP命令。该命令用于查询本机ARP缓存中的IP地址和MAC地址的对应关系、添加或删除静态对应关系等。用户也可以通过使用arp命令验证ARP缓存条目的生命周期。ARP命令的语法格式如下所示:
    在这里插入图片描述
    在以前的Windows系列系统中,都可以直接执行arp -s命令绑定IP地址和MAC地址。但是在Windows 7下,如果不是以管理员身份运行时会提示:“ARP项添加失败:请求的操作需要提示”。但是有时候就算以管理员身份运行也会提示错误信息“ARP项添加失败:拒绝访问。”这时候就需要使用Netsh命令了。
    Netsh实用程序是一个外壳,它通过附加的“Netsh帮助DLL”,可以支持多个Windows 2000组件。“Netsh帮助DLL”提供用来监视或配置特定Windows 2000网络组件的其他命令,从而扩展了Netsh的功能。每个“Netsh帮助DLL”都为特定的网络组件提供了一个环境和一组命令。每个环境中都可以有子环境。Netsh命令的语法格式如下所示:

    netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [Command] [-f ScriptFile]
    

    以上命令中,各选项含义如下所示:

    -a Alias File:指定使用一个别名文件。别名文件包含Netsh命令列表和一个别名版本,所以可以使用别名命令行替换netsh命令。可以使用别名文件将其他平台中更熟悉的命令映射到适当的netsh命令。
    -c Context:指定对应于已安装的支持DLL的命令环境。
    -r RemoteMachine:指定在远程计算机上运行netsh命令,由名称或IP地址来指定远程计算机。
    command:指定要执行的netsh命令。
    -f ScriptFil:指定运行ScriptFile文件中所有的netsh命令。
    

    3.ARP缓存表的构成:
    在局域网的任何一台主机中,都有一个ARP缓存表。该缓存表中保存中多个ARP条目。每个ARP条目都是由一个IP地址和一个对应的MAC地址组成。这样多个ARP条目就组成了一个ARP缓存表。当某台主机向局域网中另外的主机发送数据的时候,会根据ARP缓存表里的对应关系进行发送。下面以例子的形式介绍,查看、添加、删除ARP缓存条目的方法。

    实验目的

    1.熟悉并掌握Wireshark的基本操作。
    2.通过对Wireshark抓包实例进行分析,进一步加深对常用网络协议的理解。
    3.培养学生理论联系实践的研究兴趣。

    实验环境

    在这里插入图片描述
    服务器:windows 系统,IP地址:10.1.1.166
    测试者:windows 系统,IP地址:10.1.1.142

    实验步骤一

    ARP协议属于TCP/IP协议族中的底层协议,与常见的应用层协议不同,其了解程度不是很广泛,要掌握ARP协议,需要先了解其常用命令,通过宏观的命令来知道其功能,在深层次分析其协议报文。为了更好的理解上述核心原理,本实验的步骤如下:
    1.通过使用Netsh和ARP命令来绑定IP和MAC地址。
    2.在测试环境使用Wireshark抓取ARP数据包。
    3.详细分析ARP请求包和ARP应答包。
    任务描述:使用Netsh和ARP命令来绑定IP和MAC地址。
    1、使用netsh绑定IP和MAC地址:
    (1)查看接口的Idx号。执行命令如下所示:
    在这里插入图片描述
    从输出的结果中可以看到本地连接的Idx为12,Idx号将用在下面命令neighbors后面。
    (2)添加IP-MAC地址绑定。执行命令如下所示:
    在这里插入图片描述
    执行以上命令没有任何输出信息。注意,此处需要使用管理员权限!
    (3)使用arp -a查看绑定的ARP条目。执行命令如下所示:
    在这里插入图片描述
    看到以上输出结果,红色区域表示IP-MAC地址已被绑定。
    2、使用ARP进行相关的增加,删除,查看等操作:
    (1)使用arp命令查看ARP缓存条目。执行命令如下所示:
    在这里插入图片描述
    输出信息显示了本机接口为10.1.1.142地址的ARP缓存表。每行表示一个ARP条目。
    (2)将IP地址10.1.1.21和MAC地址00-aa-00-62-c6-09添加到缓存记录中。
    在这里插入图片描述
    执行以上命令后没有任何输出信息。如果要想查看添加的ARP缓存条目,可以使用arp -a命令查看。如下所示:
    在这里插入图片描述
    从输出的信息中,可以看到手动添加的ARP缓存条目。手动添加的条目默认被添加到第一行,而且手动添加的ARP条目类型为静态。
    删除IP地址为10.1.1.21的ARP条目。执行命令如下所示:
    在这里插入图片描述
    执行以上命令后,接口地址为10.1.1.21的ARP记录将被删除(此处不截图)。如果用户想要清空所有的ARP条目,执行如下所示的命令(或者arp -d *):
    在这里插入图片描述
    执行以上命令后,整个ARP缓存表将被删除。此时执行arp -a命令查看ARP缓存表,将显示如下所示的信息:
    在这里插入图片描述
    从输出的信息,可以看到当前该缓存表中没有任何ARP条目。
    注意:使用arp命令在Windows和Linux下删除ARP缓存条目的方法有点区别。在Linux下,删除ARP条目时,必须指定接口地址。在Windows下,可以直接执行arp -d命令删除。在Linux下,如果不指定接口时,将会提示“arp: need host name”信息。

    实验步骤二

    任务描述:使用Wireshark抓取ARP数据包。
    1、启动Wireshark,Filter选择ARP协议:
    在这里插入图片描述
    2、在实验环境下,使用ping命令,ping一台主机:
    在这里插入图片描述
    3、Wireshark输出ARP信息:
    在这里插入图片描述
    4、从该界面的Protocol列,可以看到捕获到的数据包都是ARP协议包。其中,33、36帧是ARP请求包;34、37帧是响应包。其他数据包不是实验ping命令所产生,不用在意。

    实验步骤三

    任务描述:分析ARP请求包和ARP应答包。
    1、熟悉ARP报文格式:
    在分析ARP协议包之前,先介绍一下它的报文格式,以帮助学生更清楚的理解每个包。ARP请求报文格式如下图所示。
    ARP请求协议报文格式:
    在这里插入图片描述
    该图中每行长度为4个字节,即32位。其中图中蓝色的部分是以太网(指Ethernet II类型)的帧头部。这里共三个字段,分别如下所示:第一个字段是广播类型的MAC地址:0XFF-FF-FF-FF-FF-FF,其目标是网络上的所有主机。第二个字段是源MAC地址,即请求地址解析的的主机MAC地址。第三个字段是协议类型,这里用0X0806代表封装的上层协议是ARP协议。
    接下来是ARP协议报文部分其中各个字段的含义如下:

    硬件类型:表明ARP协议实现在哪种类型的网络上。
    协议类型:表示解析协议(上层协议)。这里一般是0800,即IP。
    硬件地址长度:MAC地址长度,此处为6个字节。
    协议地址长度:IP地址长度,此处为4个字节。
    操作类型:表示ARP协议数据包类型。1表示ARP协议请求数据包,2表示ARP协议应答数据包。
    源MAC地址:发送端MAC地址。
    源IP地址:表示发送端协议地址(IP地址)。
    目标MAC地址:目标端MAC地址。
    目标IP地址:表示目的端协议地址(IP地址)。
    

    ARP协议应答协议报文和ARP协议请求协议报文类似。不同的是,此时以太网帧头部的目标MAC地址为发送ARP协议地址解析请求的MAC地址,而源MAC地址为被解析的主机的MAC地址。同时,操作类型字段为2,表示ARP协议应答数据包,目标MAC地址字段被填充为目标MAC地址。
    ARP应答协议报文格式:
    在这里插入图片描述
    2、分析ARP请求包:
    捕获的ARP请求包如下图33帧数据:
    在这里插入图片描述
    从上图可以看到,第一个数据包是一个ARP请求包。用户可以通过在Wireshark的Packet Details面板中,检查以太网头部来确定该包是否是一个真的广播数据包。下面将详细介绍Packet Details面板中的每行信息。如下所示:
    在这里插入图片描述

    Frame 33: 42 bytes on wire (336 bits), 42 bytes captured (336 bits) on interface 0
    

    以上内容表示这是第33帧数据包的详细信息。其中,该包的大小为42个字节。

    Ethernet II, Src: 02:00:04:78:01:7b (02:00:04:78:01:7b), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
    

    以上内容表示以太网帧头部信息。其中源MAC地址为02:00:04:78:01:7b,目标MAC地址为ff:ff:ff:ff:ff:ff(广播地址)。这里的目标地址为广播地址,是因为主机PC2不知道PC1主机的MAC地址。这样,局域网中所有设备都会收到该数据包。

    Address Resolution Protocol (request)
    

    以上内容表示地址解析协议内容,request表示该包是一个请求包。在该包中包括有ARP更详细的字段信息,如下所示:

    Address Resolution Protocol (request)   #ARP请求包
        Hardware type: Ethernet (1)   #硬件类型
        Protocol type: IP (0x0800)   #协议类型
        Hardware size: 6   #硬件地址
        Protocol size: 4  #协议长度
        Opcode: request (1)   #操作码。该值为1表示是个ARP请求包
        Sender MAC address: 02:00:04:78:01:7b (02:00:04:78:01:7b)   #发送端MAC地址
        Sender IP address: 10.1.1.142 (10.1.1.142)   #发送端IP地址
        Target MAC address: 00:00:00_00:00:00 (00:00:00:00:00:00)   #目标MAC地址
        Target IP address: 10.1.1.166(10.1.1.166)   #目标IP地址
    

    通过以上内容的介绍,可以确定这是一个在以太网上使用IP的ARP请求。从该内容中,可以看到发送方的IP(10.1.1.142)和MAC地址(02:00:04:78:01:7b),以及接收方的IP地址(10.1.1.166)。由于目前还不知道目标主机的MAC地址,所以这里的目的MAC地址为00:00:00:00:00:00。
    关于以上ARP头部的内容和前面介绍的ARP请求报文格式是相对应的,如下图:
    在这里插入图片描述
    3、分析ARP响应包:
    捕获的ARP相应包如下图34帧数据:
    在这里插入图片描述
    在上图中的Packet Details面板中,可以看到第二个数据包是一个ARP响应包。该包中的信息与ARP请求包的信息类似。但是也有几处不同。下面将详细介绍,如下所示:

    Frame 34: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
    

    以上信息表示这是第二个数据包的详细信息。其中,该包的大小为60个字节。

    EthernetII,Src:02:00:03:56:00:cf(02:00:03:56:00:cf),Dst:02:00:04:78:01:7b(02:00:04:78:01:7b)
    

    以上内容是以太网帧头部的信息。其中,源MAC地址为02:00:03:56:00:cf,目标MAC地址为02:00:04:78:01:7b。从该行信息中,可以知道PC2获取到了PC1主机的MAC地址。这样就可以正常通信了。

    Address Resolution Protocol (reply)
    

    以上内容表示这里一个ARP响应包。该包中详细内容如下所示:

    Address Resolution Protocol (reply)   #ARP应答包
        Hardware type: Ethernet (1)   #硬件类型
        Protocol type: IP (0x0800)   #协议类型
        Hardware size: 6   #硬件长度
        Protocol size: 4   #协议长度
        Opcode: reply (2)   #操作码为2表示该包是ARP响应包
        Sender MAC address: 02:00:03:56:00:cf (02:00:03:56:00:cf)   #发送方MAC地址
        Sender IP address: 10.1.1.166(10.1.1.166)   #发送方IP地址
        Target MAC address: 02:00:04:78:01:7b (02:00:04:78:01:7b)   #目标MAC地址
        Target IP address: 10.1.1.142 (10.1.1.142)   #目标IP地址
    

    以上ARP响应包中的信息与它的报文格式也是相对应的,如下图所示:
    在这里插入图片描述

    展开全文
  • 校内老师录制的较为详细的学习视频 利用Wireshark分析ARP协议视频2 仅供学习使用,不得商用 谢谢 0积分共享 积分增加可留言修改
  • 计算机网络实验利用wireshark分析ARP协议—实验六实验报告.pdf
  • ARP协议有什么作用? 作用:把IP地址解析为MAC地址。 IP地址应用于网络,网卡地址MAC。 有了ip地址为什么还要MAC地址? 可以简单理解为,身份证和通行证的缘故。国内需要身份证,而世界有护照,通行证一说。 ...

    一、Ip层主要的协议:ARP,ICMP,ip,IGMP

    ICMP:ping命令。(可以这么理解,先简单这么理解叭)

    二、ARP技术原理(图片为网络图片,侵权即删)

     首先我们得明白ARP工作在网络层。(网络层是什么,搜TCP/ip协议和OSI协议就可以明白了)

    ARP协议有什么作用?

    作用:把IP地址解析为MAC地址。

    IP地址应用于网络,网卡地址MAC。

    有了ip地址为什么还要MAC地址?

    可以简单理解为,身份证和通行证的缘故。国内需要身份证,而世界有护照,通行证一说。

    三、ARP缓存(图片为网络图片,侵权即删)

     一图说明。

    四、实验环节

    说了那么多,不如我们来做一个小实验加深印象吧?

    2个PC,一个switch

     

    然后只抓ARP的包。(安装cisco模拟器,这个自行安装哦)

    看到这里只有STP的包,没有ARP的包

    用PC1的地址ping PC2

     

    可以得到ARP的包

     

     第一个数据包:

     

     

    第二个数据包

    第3个ARP包依旧没找到

    这里找到了

     

    在vmware win7中

    设置桥接模式

    然后ping www.hao123.com

     

    然后arp -a

    得到arp缓冲表

    Arp -d:删除arp表缓冲表数据

    在vmware中wirkstat抓包

    挺有意思

     

    展开全文
  • 使用wireshark分析ARP协议

    千次阅读 2020-05-30 16:57:05
    Character is the ability to ...文章目录1, ARP协议2, ARP报文格式2.1 ARP部分2.2 以太网帧头2.3 ARP映射表3, 使用wireshark分析ARP3.1 搭建模拟环境3.2 登录路由器查看电脑和手机的IP3.2 管理者身份运行cmd3.3 pi
  • ARP地址转换协议,是一个根据IP地址来获取MAC地址的TCP/IP协议。在TCP/IP协议中,主机之间通过IP地址来定位,但实际定位则是通过主机硬件地址来确认,这个硬件地址就是MAC地址。MAC地址用于在网络中唯一标示一个网卡...
  • 实验3.利用Wireshark分析ARP协议

    千次阅读 2020-05-11 13:15:49
    学会利用Wireshark抓分析ARP协议 实验环境 Wireshark软件 Windows 计算机 两人共同完成 实验预备知识 1.IP地址与物理MAC地址 图1 IP地址与物理地址的区别 地址解析协议ARP 是解决同一个局域网上的主机...
  • 三:ARP协议 arp协议在osi模型属于二层协议,在Tcp/Ip模型中属于三层协议 在网络层中比较重要的"搬瓦工"有:ARP、IPv4、IPv6、ICMP和ICMP6 如下图所示,ARP头包含下列的几个域 0字节 1 2 3 硬件类型 协议类型 硬件...
  • ARP协议抓分析 -- wireshark

    千次阅读 2020-10-03 20:15:53
    ARP协议抓分析wireshark ARP- Address Resolution Protocol协议,即地址解析协议。该协议功能就是将IP地址解析成MAC地址。 在发送数据的时候,只知道目标IP地址,不知道MAC地址,而又不能跨越第二、三层实现...
  • 实验十四:Wireshark数据分析ARP协议 一、实验目的及要求 1、熟悉并掌握Wireshark的基本操作。 2、通过对Wireshark抓包实例进行分析,进一步加深对常用网络协议的理解。 3、培养学生理论联系实践的研究兴趣...
  • wireshark分析ARP协议

    千次阅读 2017-09-07 15:44:17
    由于发送数据包时仅仅知道目标IP地址,不指定对方MAC地址,就需要接着ARP协议通过IP地址去询问目标的MAC地址,才可以正常通信。 1、 PC1想发送数据到PC2,首先检测本地缓存ARP缓存表和PC2IP匹配的MAC。 2、如果...
  • 3、分析以太网帧,MAC地址和ARP协议。 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、预备知识 (1)wireshark安装 下载地址:https://www.wireshark.org/#download...
  • 计算机学院网络工程 2013 3班 实训四 利用 WireShark 分析路由协议 一实训目的 1.... 包工具 WireShark 三实训内容 一 RIP包分析实验 网络拓扑图 1. 启动 WireShark 打开 rip1.cap 2. 过滤器设置为
  • 协议TCP/IP协议簇。
  • wireshark ARP抓

    千次阅读 2021-06-16 23:12:25
    wireshark arp抓ARP 是借助 ARP 请求与 ARP 响应两种类型的包确定 MAC 地址. 1.主机会通过广播发送 ARP 请求,这个包中包含了想要知道的 MAC 地址的主机 IP 地址。 2.当同个链路中的所有设备收到 ARP 请求时,会...
  • ARP协议(Wireshark分析)

    2020-07-26 21:25:53
    这个时候决定要认真去学习一下,然后因为有一个同时期一起进来的同事wireshark非常好,我打算接下来的网络协议能用wireshark分析的尽量用wireshark分析,毕竟现在网上用wireshark进行协议分析还是很少,还是希望大家...
  • 前言: 一阶段没有进行博客输出了,确实是懈怠了... ARP协议,不像TCP/IP协议那么如雷贯耳,但是也是互联网中必不可少的一环。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址(MAC...
  • 计算机网络、实验、实验报告 wireshark基本操作、ARP协议分析、TCP、ICMP、wireshark、ping、网关、MAC地址、ARP协议
  • wireshark抓分析ARP协议 -------------------本文系个人知识理解总结,不一定标准,欢迎交流讨论--------------- 个人认为本实验的主要目的就是将理论实战化,具体看看一看真正的ARP包在网络中的样子,重点在于...
  • ARP协议分析 使用 Wireshark 抓取局域网的数据包并进行分析: 1. 学习 Wireshark 基本操作:重点掌握捕获过滤器和显示过滤器。 2. 观察 MAC 地址:了解 MAC 地址的组成,辨识 MAC 地址类型。 3. 分析以太网帧结构:...
  • 主要通过wireshark抓分析了TCP三次握手和四次挥手的过程,分析了包的基本构成,以及icmp协议等;通过ARP攻击和泛洪攻击的实战,了解了网络中一些基本的的攻击行为;介绍了一下常见网络病毒的端口信息。
  • wireshark:是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。...协议分析篇第一个要研究的就是ARP协议。ARP(Address Resolution Protocol,地址解析协...
  • 启动 Wireshark 捕捉数据包,在命令行窗口ping 网关,分析本机发出的数据包。重点观察以太网帧的 Destination 和 Source 的 MAC 地址,辨识 MAC 地址,解读 OUI 信息、I/G 和 G/L 位。 ping网关的作用是用来测试电脑...
  • wiresharkARP协议的数据包分析

    千次阅读 2020-02-20 15:25:05
    在通过以太网发送IP数据包时,要首先封装第三层与第二层的报头,由于在发送时只知道目标IP地址,不知道Mac地址,又不能直接跨越二、三层,所以需要地址的解析协议ARP的功能就是将已知的IP地址解析成为Mac地址。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,864
精华内容 3,145
关键字:

wireshark分析arp协议