ARP协议分析

news2024/9/20 10:40:24

目录

实验设备和环境

实验记录

1、ARP报文分析

(1)建立实验拓扑

(2)设置抓包接口

(3)启动设备,开始抓包

(4)协议分析

ARP代理

(1)建立实验拓扑

(2)设置抓包接口

(3)ARP代理未设置情况下抓包

(4)设置ARP代理情况下抓包

(5)协议分析

地址冲突检测

(1)建立实验拓扑

(2)设置抓包接口

(3)启动设备,开始抓包

总结地址冲突协议交互过程


实验设备和环境

1、硬件设备:PC机或笔记本电脑;

2、软件:H3C Cloud Lab、Wireshark。

实验记录

1、ARP报文分析

(1)建立实验拓扑

按照下图在HCL中添加设备,并按图中标记配置各设备IP地址。配置完成停止所有设备。

(2)设置抓包接口

启动交换机SW1,分别在交换机GE_0/1、GE_0/3、GE_0/4设置抓包。

在抓包接口列表中,在各抓包接口点击鼠标右键,选择“启动wireshark”,打开各接口实时抓包。

在wireshark程序窗口中,在“应用显示过滤器”中输入“arp or icmp”+回车,设置抓包结果只显示ARP协议和ICMP协议数据包。

(3)启动设备,开始抓包

回到HCL窗口,按照R1-->PC_2-->PC_3-->PC_4的顺序,依次启动设备,在每个设备启动后,稍等一会儿,在抓包窗口有新的数据包时,再启动下一设备,直至所有设备启动完成。

从PC_2分别ping PC_3、PC_4。查看ping结果。

三个抓包窗口分别截图GE_0/1、GE_0/3、GE_0/4

打开R1的命令行终端,在系统视图下查看arp缓存表。

<R1_Name>system-view

[R1_Name]display arp

#进入系统视图

#显示ARP缓存

(4)协议分析

任选一个wireshark抓包窗口,找到两条请求(request)和应答(reply)报文,将数据包详情窗口中的“Address Resolution Protocol”条目展开,分别填写报文格式表。

协议字段

数值

对应设备名称

硬件类型

ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

request

--

发送方MAC地址

8e:af:87:66:05:06

PC4

发送方IP地址

192.168.1.4

PC4

目的MAC地址

00:00:00:00:00:00

PC1

目的IP地址

192.168.1.2

PC1

协议字段

数值

对应设备名称

硬件类型

ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

replay

--

发送方MAC地址

8e:af:71:5d:03:06

PC1

发送方IP地址

192.168.1.2

PC1

目的MAC地址

8e:af:87:66:05:06

PC4

目的IP地址

192.168.1.4

PC4

ARP代理

(1)建立实验拓扑

按照下图在HCL中添加设备,并按图中标记配置各设备IP地址,虚拟PC不设置网关。配置完成停止所有设备。

(2)设置抓包接口

启动路由器R1,分别在R1的GE_0/0和GE_0/1设置抓包。设置好后,停止所有设备。

(3)ARP代理未设置情况下抓包

启动R1,在抓包接口列表中,在各抓包接口点击鼠标右键,选择“启动wireshark”,打开各接口实时抓包。

在wireshark程序窗口中,在“应用显示过滤器”中输入“arp or icmp”+回车,设置抓包结果只显示ARP协议和ICMP协议数据包。

分别启动PCA、PCB,观察两个wireshark抓包窗口抓取的数据。

从PCA ping PCB,并观察两个wireshark抓包数据变化。

根据截图,统计报文类型,填写抓包统计表:

表1.接口GE_0/0 ARP报文统计

ARP报文类型

对应设备

目的

对应设备

ARP Announcement

MAC 8e:e4:c3:80:02:06

IP 10.0.10.1

PCA

MAC 00:00:00:00:00:00

IP 10.0.10.1

PCA

ARP Request

MAC 8e:e4:c3:80:02:06

IP 10.0.10.1

PCA

MAC

00:00:00:00:00:00

IP 10.0.10.2

R1

ARP Reply

MAC 8e:e4:9e:2f:01:05

IP 10.0.10.2

PCB

MAC 8e:e4:c3:80:02:06

IP 10.0.10.1

PCA

表2.接口GE_0/1 ARP报文统计

ARP报文类型

对应设备

目的

对应设备

ARP Announcement

MAC 8e:e4:cf:c1:03:06

IP 10.0.20.1

PCB

MAC 00:00:00:00:00:00

IP 10.0.20.1

PCB

ARP Request

MAC 8e:e4:9e:2f:01:06

IP 10.0.20.2

R1

MAC 00:00:00:00:00:00

IP 10.0.20.1

PCB

ARP Reply

MAC 8e:e4:cf:c1:03:06

IP 10.0.10.2

PCB

MAC 8e:e4:9e:2f:01:06

IP 10.0.20.2

R1

(4)设置ARP代理情况下抓包

打开R1命令行终端,查看设备接口地址

<R1_Name>system-view

[R1_Name]display interface GigabitEthernet 0/0

[R1_Name]display interface GigabitEthernet 0/1

[R1_Name]display arp

#进入系统视图

#查看接口GE0/0 MACIP地址

#查看接口GE0/1 MACIP地址

#查看PCAPCB MACIP地址

设备名称

IP地址

MAC地址

R1 GE_0/0

10.0.10.2

8e-e4-c380-02-06

R1 GE_0/1

10.0.20.2

8e-e4-cfc1-03-06

PCA

10.0.10.1

8e-e4-c380-02-00

PCB

10.0.20.1

8e-e4-cf-c1-03-00

配置ARP代理。依次输入以下命令:

<R1_Name>system-view

[R1_Name]interface GigabitEthernet 0/0

[R1_Name-GigabitEthernet0/0]proxy-arp enable

[R1_Name-GigabitEthernet0/0]quit

[R1_Name]interface GigabitEthernet 0/1

[R1_Name-GigabitEthernet0/1]proxy-arp enable

[R1_Name-GigabitEthernet0/1]quit

[R1_Name]display proxy-arp

#进入系统视图

#进入接口GE0/0视图

#设置接口GE0/0 ARP代理

#退出到系统视图

#进入接口GE0/0视图

#设置接口GE0/0 ARP代理

#退出到系统视图

#显示ARP代理状态

从PCA ping PCB,并观察两个wireshark抓包数据变化。

根据截图,统计报文类型,填写抓包统计表:

表2.接口GE_0/0 ARP报文统计

ARP报文类型

对应设备

目的

对应设备

ARP Request

MAC

8e:e4:c3:80:02:06

IP

10.0.10.1

PCA

MAC

00:00:00:00:00:00

IP

10.0.20.1

PCB

ARP Reply

MAC

8e:e4:9e:2f:01:05

IP

10.0.20.2

R1

MAC

8e:e4:c3:80:02:06

IP

10.0.10.1

PCA

表3.接口GE_0/1 ARP报文统计

ARP报文类型

对应设备

目的

对应设备

ARP Request

MAC

8e:e4:cf:c1:03:06

IP

10.0.20.1

PCB

MAC

00:00:00:00:00:00

IP

10.0.10.2

R1

ARP Reply

MAC

8e:e4:cf:c1:03:06

IP

10.0.20.2

PCB

MAC

8e:e4:9e:2f:01:06

IP

10.0.20.2

R1

(5)协议分析

根据报文截图和统计表,对照设备地址表,分析ARP代理的实现机制。

ARP代理的工作原理

ARP代理的工作原理基于ARP协议。当一个主机需要与另一个主机通信时,它会发送一个ARP请求,这个请求会被路由器捕获。如果路由器发现ARP请求的目标IP地址与自己某个接口的IP地址在同一网段,但它实际上并不在该网段上,路由器就会使用自己的MAC地址来响应ARP请求。这样,发送ARP请求的主机就会将数据包发送给路由器,路由器再将数据包转发到正确的目的地

ARP代理的实现步骤

ARP代理的实现通常涉及以下几个步骤:

1. 检测到ARP请求:路由器或其他代理设备监听网络流量,捕捉到含有ARP请求的数据帧。

2. 匹配IP地址:路由器检查ARP请求中的IP地址与自身接口的IP地址是否在同一网段。

3. 响应ARP请求:如果发现ARP请求的目标IP地址与自身接口的IP地址在同一网段,但不在同一网络,路由器会使用自身的MAC地址来响应ARP请求。

4. 数据包转发:发送ARP请求的主机会将数据包发送给路由器,路由器再根据内部的路由表将数据包转发到正确的目标主机

地址冲突检测

(1)建立实验拓扑

按照下图在HCL中添加设备,并按图中标记配置各设备IP地址。配置完成停止所有设备。

(2)设置抓包接口

启动交换机SW1,在SW1的GE_0/1接口设置抓包。设置好后,停止所有设备。

(3)启动设备,开始抓包

启动SW1,在抓包接口列表中,选择抓包接口,点击鼠标右键,选择“启动wireshark”,打开各接口实时抓包。在wireshark程序窗口中,在“应用显示过滤器”中输入“arp”+回车,设置抓包结果只显示ARP协议数据包。

依次启动PCA、PCB,观察wireshark抓包列表窗口变化。经过一段时间,停止抓包。从抓包数据中选择一组报文,这组报文包括4个报文,如下图所示:

协议字段

数值

对应设备名称

硬件类型

Ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

request

--

发送方MAC地址

8e:30:6a:fe:02:06

PCA

发送方IP地址

192.168.1.2

PCA

目的MAC地址

00:00:00:00:00:00

PCB

目的IP地址

192.168.1.2

PCB

协议字段

数值

对应设备名称

硬件类型

Ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

request

--

发送方MAC地址

8e:30:6a:fe:02:06

PCA

发送方IP地址

192.168.1.2

PCA

目的MAC地址

00:00:00:00:00:00

目的IP地址

192.168.1.1

协议字段

数值

对应设备名称

硬件类型

Ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

request

--

发送方MAC地址

8e:30:6a:fe:02:06

PCA

发送方IP地址

192.168.1.2

PCA

目的MAC地址

00:00:00:00:00:00

目的IP地址

192.168.1.2

协议字段

数值

对应设备名称

硬件类型

Ethernet

--

协议类型

Ipv4(0x0800)

--

硬件地址长度

6

--

协议地址长度

4

--

操作

request

--

发送方MAC地址

8e:30:6a:fe:02:06

PCA

发送方IP地址

192.168.1.2

PCA

目的MAC地址

00:00:00:00:00:00

PCB

目的IP地址

192.168.1.2

PCB

总结地址冲突协议交互过程

ARP地址冲突协议交互过程

ARP地址冲突概述

ARP地址冲突(Address Resolution Protocol Collision)指的是在同一网络中,存在两个或更多具有相同IP地址的设备。这种情况会导致网络通信异常,数据包可能被错误地转发,甚至可能导致网络中的设备无法正常通信。为了避免这种情况,需要有一种机制能够检测并处理IP地址冲突

地址冲突的检测与解决

在网络中,通常使用ARP协议(Address Resolution Protocol)来将IP地址解析为MAC地址。当网络设备启动时或在IP地址发生变化时,它会发送一个ARP请求来更新其ARP表项。如果网络中存在具有相同IP地址的设备,它们将会互相响应ARP请求,从而发现冲突。一旦检测到冲突,设备将停止使用该IP地址,并可能尝试重新分配一个新地址

ARP地址冲突的影响

ARP地址冲突可能导致数据包被错误地路由和转发,这不仅会影响通信的可靠性,还可能导致网络性能下降。在严重的情况下,冲突可能引起路由振荡,甚至可能使网络完全瘫痪。因此,及时检测和解决ARP地址冲突对于维持网络正常运行至关重要

ARP地址冲突协议交互过程详解

当一台设备加入网络或更改IP地址时,它会发送一个ARP请求来公告自己的IP地址。网络中的其他设备收到ARP请求后,会检查自己的ARP表项。如果发现有相同的IP地址,它们会发送ARP应答,并且可能触发一系列的连锁反应,导致多个设备尝试更换IP地址,直到冲突被解决。这个过程可能涉及到多个ARP请求和应答的交换,直到网络中的每个设备都确认了自己的唯一IP地址

综合分析

ARP地址冲突的检测和解决是基于ARP协议的网络通信的一部分。ARP协议通过简单的交互过程确保了IP地址的唯一性,避免了潜在的网络冲突。虽然ARP协议本身相对简单,但在实际应用中,还需要考虑到网络规模、设备配置以及可能的网络攻击等多种因素,以优化网络的稳定性和安全性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059300.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何科学设定短信群发频率

在利用短信群发作为营销策略时&#xff0c;平衡好发送频率至关重要。过于频繁的短信可能招致客户反感甚至被屏蔽&#xff0c;而发送不足则可能导致品牌信息被遗忘。因此&#xff0c;精准把握短信群发频率&#xff0c;是提升客户体验与品牌记忆度的关键。以下是几个常见行业短信…

YOLOv5改进 | 模块融合 | C3融合可变形自注意力模块【模块缝合】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a; 《YOLOv5入门 改…

豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!

在众多解释型语言中&#xff0c;Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来&#xff0c;在行业应用和学术研究中采用python进行科学计算的势头越来越猛。 近年来&#xff0c;由于Python有不断改良的库(主要是pandas)&#xff0c;使其成为数据处理任…

原神单机版【无脑一键搭建】纯单机*非私服*稳定版*

版本介绍 版本3.7、4.0、4.0、4.4、4.5、4.6稳定版【过分追新并不稳&#xff0c;合理才完美】 独家原神&#xff0c;游戏内自带剧情任务&#xff0c;完美仿官&#xff0c;一比一完美复制&#xff01; 已经拥有完美剧情、任务、副本、卡池、深渊、全物品、和全部功能和皮肤。 …

【漏洞复现】微商城系统 goods SQL注入漏洞

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 微商城是基于微信这一广受欢迎的社交平台的商业应用&#xff0c;利用微信的广泛用户基础和快速传播特性&…

安泰ATA-7015高压放大器在机器人测试中的应用研究

随着机器人技术的快速发展&#xff0c;机器人在各个领域的应用日益广泛。然而&#xff0c;要确保机器人能够稳定、准确地完成各种任务&#xff0c;就需要对其进行严格的测试和评估。在机器人测试过程中&#xff0c;高压放大器作为一种关键的测试设备&#xff0c;发挥着不可替代…

dll文件丢失最简单的修复方法——电脑丢失dll文件一键修复

在日常使用Windows操作系统的过程中&#xff0c;DLL文件由于各种原因丢失或损坏是一个非常常见的问题。这可能导致软件运行不稳定或无法启动等问题&#xff0c;给用户带来诸多不便。尽管手动寻找并替换相应的DLL文件是一个可行的解决方案&#xff0c;但对于大多数用户而言&…

Linux修改密码出现 “passwd: Authentication token manipulation error”

文章目录 1. 问题现象2. 解决方法 1. 问题现象 修改密码出现&#xff1a; passwd: Authentication token manipulation error。 passwd root2. 解决方法 1.查看文件的扩展信息。 lsattr 命令用于显示文件的扩展属性&#xff0c;包括文件的特殊标志位。 /etc/passwd 是一个…

Java语言程序设计——篇十五(3)

&#x1f33f;&#x1f33f;&#x1f33f;跟随博主脚步&#xff0c;从这里开始→博主主页&#x1f33f;&#x1f33f;&#x1f33f; 欢迎大家&#xff1a;这里是我的学习笔记、总结知识的地方&#xff0c;喜欢的话请三连&#xff0c;有问题可以私信&#x1f333;&#x1f333;&…

设备巡检系统

在现代工业生产和各类设施管理中&#xff0c;设备的稳定运行至关重要。而凡尔码设备巡检系统的出现&#xff0c;为确保设备的可靠运转提供了强大的助力。 传统的纸质设备巡检容易作假、统计不及时、汇总困难、容易丢失、记录样式不丰富。而凡尔码设备巡检平台有着多种功能&…

考电工证,学历证丢了为什么能报名?

在面对学历证书遗失的情况下&#xff0c;许多人可能会感到焦虑和无助。幸运的是&#xff0c;如果你确认自己具有初中及以上学历&#xff0c;即使学历证书不慎丢失&#xff0c;仍有几种方法可以证明你的教育背景。以下是三种可行的替代方案&#xff1a; 户口本个人页拍照 首先&a…

PXE-Kickstart高效批量装机

文章目录 PXE高效批量网络装机安装顺序PXE批量装机部署优点基本部署过程 具体过程pxe---批量安装Kickstart---无人值守安装 实操pxe部分一、安装TFTP 服务二、修改TFTP服务的配置文件三、启用 TFTP服务四、安装DHCP服务五、修改DHCP服务的配置文件六、启用DHCP服务七、准备 Lin…

五套随机小姐姐短视频引流网站源码+最新API

简介&#xff1a; 五套随机小姐姐短视频引流网站源码最新API 运行环境 PHP 图片&#xff1a; 本文网址&#xff1a;https://www.songshuan.com/live-2741.html 转载请声明来自&#xff1a;松栓源码网 - 五套随机小姐姐短视频引流网站源码最新API

详解线索分层的目的、维度与创新实践

线索分层是一个系统性的过程&#xff0c;旨在更有效地管理、跟踪和利用线索资源。这一过程可以借鉴多种策略和方法&#xff0c;特别是在用户运营和市场营销中。 1、线索分层的目的 线索分层的主要目的是根据线索的不同特征或成熟度&#xff0c;将其分类管理&#xff0c;以便更…

OpenAI gym and Python threading

题意&#xff1a;OpenAI Gym 和 Python 线程处理 问题背景&#xff1a; I am working on a variation of A3C/ACER and I have several workers, each running on its own thread. I am using OpenAI gym environments. 我正在开发 A3C/ACER 的一个变体&#xff0c;并且有多个…

为什么Redis6.0引入了多线程?

2020年5月份&#xff0c;Redis正式推出了6.0版本&#xff0c;这个版本中有很多重要的新特性&#xff0c;其中多线程特性引起了广泛关注。 但是&#xff0c;需要提醒大家的是&#xff0c;Redis 6.0中的多线程&#xff0c;也只是针对处理网络请求过程采用了多线程&#xff0c;而数…

C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)537: T456456 质因数分解

题目内容 已知正整数 n 是两个不同的质数的乘积&#xff0c;试求出较大的那个质数。 输入格式 输入只有一行&#xff0c;包含一个正整数 n&#xff08;6<n<109&#xff09;。 输出格式 输出只有一行&#xff0c;包含一个正整数 p&#xff0c;即较大的那个质数。 样例…

Flask返回Json格式字符,中文导致unicode乱码问题

一.问题描述 或者直接返回json格式的字符串 从上图可以看出&#xff0c;当flask实现的接口响应中存在中文时&#xff0c;接口返回json字串的中文为unicode乱码。 二.问题解决 百度搜索了很多&#xff0c;原来在创建flask app时使用json格式的字符串&#xff0c;默认是ascii编…

STM32新建项目

一、学习背景 需要做一个机械臂项目&#xff0c;打算用STM32做微控制器&#xff0c;所以需要学习STM32的相关应用&#xff0c;再将其应用到机械臂上。 二、相关硬件与软件 硬件&#xff1a;STM32F103&#xff1b;显示屏&#xff1b;stlink&#xff1b;传感器模块&#xff1b…

C#学习之路day1

目录 一、概念&#xff1a;.net和c# 二、.net发展方向 三、.Net两种交互模式 四、创建项目 五、vs的组成部分 六、我的第一个C#程序 七、多个项目时启动项目的设置 八、注释 九、快捷键 一、概念&#xff1a;.net和c# 1、.net/dotnet :一般指.Net Framework框架&#…