3ARP实验.docx
《3ARP实验.docx》由会员分享,可在线阅读,更多相关《3ARP实验.docx(18页珍藏版)》请在冰豆网上搜索。
![3ARP实验.docx](https://file1.bdocx.com/fileroot1/2023-2/7/94092775-8135-436b-ae1d-1d1fa4997903/94092775-8135-436b-ae1d-1d1fa49979031.gif)
3ARP实验
目录
1实验目的2
1)熟练地使用Wireshark软件2
2)运用软件分析网络协议2
2实验任务2
1)软件要求2
2)网络协议分析要求2
3软件介绍2
1)wireshark软件的发展史:
2
2)wireshark的功能及相关知识2
3)wireshark所不能提供的功能3
4)wireshark软件运行的主界面3
4实验环境4
1)软件要求4
2)硬件要求4
5实验内容和过程4
1)ARP基本知识及原理4
◆ARP解析过程4
2)域服务器报文5
◆ARP报文的前8个字节是固定的:
6
◆变化部分各个字段长度不固定,内容不变:
6
3)分析过程7
(一)进入命令提示符中,查看当前的一些信息。
7
(二)通过一个ping实例,来获得域名解析数据包。
8
(三)数据包列表分析9
(四)运用第一个数据包(询问)的协议树分析解析过程:
10
(五)运用第二个数据包(响应)的协议树分析解析过程:
13
总结17
基于wireshark软件的分析报告
1实验目的
1)熟练地使用Wireshark软件
Wireshark是一个有名的网络端口探测器,是可以在Windows、Unix等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。
其功能是在一个共享的网络环境下对数据包进行捕捉和分析。
2)运用软件分析网络协议
本实验的主要的目的就是对用Wireshark捕获的数据包进行分析,尤其是针对网络协议(ARP)的分析。
深入了解其基本原理,学会结合实际的数据来分析其原理。
2实验任务
1)软件要求
熟悉Wireshark软件的一些基本功能,包括Wireshark的用户界面如何使用,如何捕捉包,如何查看包,如何过滤包等。
2)网络协议分析要求
对捕获的数据包进行分析,主要是针对网络协议(ARP)的结合实例的分析。
3软件介绍
1)wireshark软件的发展史:
1997年以后,GeraldCombs需要一个工具追踪网络问题并想学习网络知识。
所以他开始开发Ethereal(Wireshark项目以前的名称)以解决以上的两个需要。
Ethereal是第一版,经过数次开发,停顿,1998年,经过这么长的时间,补丁,Bug报告,以及许多的鼓励,0.2.0版诞生了。
此后不久,GilbertRamirez发现它的潜力,并为其提供了底层分析
1998年10月,GuyHarris正寻找一种比TcpView更好的工具,他开始为Ethereal进行改进,并提供分析。
1998年以后,正在进行TCP/IP教学的RichardSharpe关注了它在这些课程中的作用。
并开始研究该软件是否他所需要的协议。
如果不行,新协议支持应该很方便被添加。
所以他开始从事Ethereal的分析及改进。
从那以后,帮助Ethereal的人越来越多,他们的开始几乎都是由于一些尚不被Ethereal支持的协议。
所以他们拷贝了已有的解析器,并为团队提供了改进回馈。
2006年项目MovedHouse重新命名为:
Wireshark。
2)wireshark的功能及相关知识
Wireshark是一个有名的网络端口探测器,是可以在Windows、Unix等各种平台运行的网络监听软件,它主要是针对TCP/IP协议的不安全性对运行该协议的机器进行监听。
Wireshark是网络包分析工具。
网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。
你可以把网络包分析工具当成是一种用来测量有什么东西从网线上进出的测量工具,就好像使电工用来测量进入电信的电量的电度表一样。
其功能相当于Windows下的Sniffer,都是在一个共享的网络环境下对数据包进行捕捉和分析,而且还能够自由地为其增加某些插件以实现额外功能。
Wireshark是开源软件项目,发布遵循GNUGeneralPublicLicence(GPL协议),所有源代码可以在GPL框架下免费使用。
这也就意味着,为了适合自己的需要,你可以自己对wireshark进行修改。
3)wireshark所不能提供的功能
另外,值得注意的是,wireshark不能提供以下的功能:
①Wireshark不是入侵检测系统。
如果别人在您的网络做了一些他不被允许的奇怪的事情,Wireshark不会警告您。
但是如果发生了奇怪的事情,Wireshark可能对察看发生了什么会有所帮助
②Wireshark不会处理网络事务,它仅仅是“测量”(监视)网络。
Wireshark不会发送网络包或做其它交互性的事情(名称解析除外,但您也可以禁止解析).
4)wireshark软件运行的主界面
图1为软件运行后的主窗口界面,大多数打开捕捉包以后的界面都是这样子
图1wireshark运行的主界面
◆主界面介绍
Wireshark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:
ⅰ.最上面为数据包列表,用来显示截获的每个数据包的总结性信息;
ⅱ.中间为协议树,用来显示选定的数据包所属的协议信息;
ⅲ.最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
实验环境
1)软件要求
该实验在MicrosoftWindowsXP操作系统下完成,使用的软件是wireshark-win32-1.4.2版本;
2)硬件要求
奔腾Ⅱ300以上的电脑配置,10M以上的网卡。
1实验内容和过程
1)ARP基本知识及工作原理
地址解析协议(ARP:
AddressResolutionProtocol)用来将IP地址转换成物理地址。
工作原理:
首先,每台主机都会在自己的ARP缓冲区中建立一个 ARP列表,以表示IP地址和MAC地址的对应关系。
当源主机需要将一个数据包要发送到目的主机时,会首先检查自己 ARP列表中是否存在该 IP地址对应的MAC地址,如果有﹐就直接将数据包发送到这个MAC地址;如果没有,就向本地网段发起一个ARP请求的广播包,查询此目的主机对应的MAC地址。
此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。
网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中,如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址;源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
如果源主机一直没有收到ARP响应数据包,表示ARP查询失败。
例如:
A的地址为:
IP:
192.168.10.1 MAC:
AA-AA-AA-AA-AA-AA
B的地址为:
IP:
192.168.10.2 MAC:
BB-BB-BB-BB-BB-BB
根据上面的所讲的原理,我们简单说明这个过程:
A要和B通讯,A就需要知道B的以太网地址,于是A发送一个ARP请求广播(谁是192.168.10.2 ,请告诉192.168.10.1),当B收到该广播,就检查自己,结果发现和自己的一致,然后就向A发送一个ARP单播应答(192.168.10.2 在BB-BB-BB-BB-BB-BB)。
2◆ARP解析过程
(1)当一台主机要与别的主机通信时,初始化ARP请求。
当该IP断定IP地址是本地时,源主机在ARP缓存中查找目标主机的硬件地址。
(2)要是找不到映射的话,ARP协议建立一个请求,源主机IP地址和硬件地址会被包括在请求中,该请求通过广播,使所有本地主机均能接收并处理。
(3)本地网上的每个主机都收到广播并寻找相符的IP地址。
(4)当目标主机断定请求中的IP地址与自己的相符时,直接发送一个ARP答复,将自己的硬件地址传给源主机。
以源主机的IP地址和硬件地址更新它的ARP缓存。
源主机收到回答后便建立起了通信。
图2解析过程流程图
2)域服务器报文
a)ARP数据报的消息格式
网络上的每台主机或设备都有一个或多个IP地址。
IP地址是网络层的地址,在网络层,数据被组装成IP包。
但是发送IP包需要物理设备的支持(通常是Ethernet设备,在本课程设计中我们指定为Ethernet设备),即发送端必须知道目的物理地址才能将IP包发送出去,所以需要一种将IP地址映射为物理地址的机制。
ARP协议就是用来完成这个任务的。
ARP协议能够在同一个物理网络中,在给定目的主机或设备的IP地址的条件下,得到目的主机或设备的物理地址。
ARP协议的数据包格式如图所示:
08162431(位)
硬件类型
协议类型
物理地址长度
协议地址长度
操作
源物理地址(八位组0~3)
源物理地址(八位组4~5)
源IP地址(八位组0~1)
源IP地址(八位组2~3)
目的物理地址(八位组0~1)
目的物理地址(八位组2~5)
目的IP地址(八位组0~3)
ARP数据包的消息格式
下面对数据包的各个部分进行说明
●硬件类型:
指定硬件接口类型。
例如,值为1表示Ethernet
●协议类型:
指定发送方支持的上层协议的类型
●物理地址长度:
指定物理(硬件)地址的长度
●协议地址长度:
网络层协议的地址长度。
若为IP协议,其值为4
●操作:
指定ARP的操作类型,例如,1表示ARP请求,2表示ARP应答
●源物理地址:
指定发送方的IP地址
●目的物理地址:
指定目的物理地址。
●目的IP地址:
指定目的IP地址
ARP分组必须在数据链路层中被封装成侦,才能发送出去封装形式如图所示
将ARP数据包封装成一个帧
b)ARP协议的工作流程。
1)在发送一个ARP分组之前,源主机首先根据目的IP地址,在本地ARP高速缓存表中查找与之对应的目的物理地址。
如果找到对应的物理地址,就不用进行地址解析,否则需要进行地址解析。
2)实现地址解析的第一步是产生ARP请求分组。
在相应的字段写入本地主机的源物理地址、源IP地址,在目的物理地址字段写入0,并在操作字段写入1。
3)将ARP分组发送到本地的数据链路层,并封装成帧。
以源物理地址作为源地址,以物理广播地址(FF-FF-FF-FF-FF-FF)作为目的地址,通过物理层发送出去。
4)由于采用了广播地址,因此网段内所有的主机或设备都能接受到该帧。
除了目的主机外,所有接受到该分组的主机和设备都会丢弃该分组,因为目的主机能够识别ARP消息中的目的IP地址。
5)目的主机发送ARP应答分组。
在ARP应答分组中,以请求分组中源物理地址、源IP地址作为其目的物理地址、目的IP地址,并将目的主机自身的物理地址、IP地址填入应答分组的源物理地址、源IP地址字段,并在操作字段中写入2。
该分组通过数据链路层以点对点的方式发送出去(因为现在目的方已经知道双方的物理地址)。
6)源结点接收到ARP应答分组,知道对应于目的IP地址的目的物理地址,将它作为一条新记录加入到ARP高速缓存表。
7)源结点将有完整源IP地址、源物理地址、目的IP地址、目的物理地址的信息和数据作为一个发送分组,传送给它的数据链路层并封装成桢,然后以点对点的方式发送到目的主机。
3)分析过程
(一)进入命令提示符中,查看当前的一些信息。
如下所示:
打开“命令提示符”窗口,使用“arp-a”命令查看本地计算机ARP高速缓存。
1.使用“arp-d”命令清除本地计算机ARP高速缓存,再使用“arp-a”命令查看。
此时,本地计算机ARP高速缓存只有路由的信息了。
2.打开Wireshark,选择菜单命令“Capture”“Interfaces…”子菜单项。
弹出“Wireshark:
CaptureInterfaces”对话框。
单击“Options”按钮,弹出“Wireshark:
CaptureOptions”对话框。
Capturefilter字段填入:
“arp”,单击“Start”按钮。
3.此时,网络协议分析软件开始捕获数据,在“命令提示符”窗口中PING同一子网中的任意主机。
因为PING命令的参数为IP地址,因此使用PING命令前,需要使用ARP机制将IP地址转换为MAC地址,这个过程用户是无法感知的。
因为我们在使用PING命令前已经开始网络数据包捕获,因此,此时网络协议分析软件将捕获到ARP解析数据包。
二)通过一个ping实例,来获得域名解析数据包。
单击“Stop”按钮,中断网络协议分析软件的捕获进程,主界面显示捕获到的ARP数据包。
4观察协议树区中ARP数据包结构,是否符合ARP请求或应答的报文格式。
可以在命令提示符窗口使用ipconfig/all命令查看本地计算机的物理网卡地址。
观察第一帧的数据包结构:
AddressResolutionProtocol(request)-地址解析协议(请求):
硬件类型:
以太网(0x0001)(2字节)
协议类型:
IP协议(0x0800)(2字节)
硬件地址长度:
6(1字节)
协议地址长度:
4(1字节)
操作类型:
请求(0x0001)(2字节)
[免费:
否]
发送方MAC地址:
Micro-St_cf:
aa:
57(00:
1d:
92:
cf:
aa:
57)(6字节)
发送方IP地址:
192.168.1.6(192.168.1.6)(6字节)
目的MAC地址:
00:
00:
00_00:
00:
00(00:
00:
00:
00:
00:
00)(6字节)
目的IP地址:
192.168.1.59(192.168.1.59)(6字节)
经上述分析可知:
ARP请求或应答的报文格式:
(四)运用第一个数据包(询问)的协议树分析解析过程:
对于NO282数据包的协议树所示的具体的协议属性如下图5所示
图5NO282数据包协议树信息
5中上面的是协议树的内容,用来显示选定的数据包所属的协议信息;下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
1首先看协议树中的第一项:
图6
选中第一个数据帧,然后从整体上看看你的Wireshark的窗口,主要被分成三部分。
上面部分是所有数据帧的列表;中间部分是数据帧的描述信息;下面部分是帧里面的数据。
注意到中间部分的三行前面都有一个“+”,点击它,这一行就会被展开。
现在展开第一行,看到的结果如图7
在图7中我们看到这个帧的一些基本信息:
帧的编号:
635(捕获时的编号) 帧的大小:
42字节。
看看前面的帧结构图,应该是没有把四个字节的CRC计算在里面,加上它就刚好。
帧被捕获的日期和时间:
Nov28,201015:
58:
47…… 帧距离前一个帧的捕获时间差:
3.1726750000…… 帧距离第一个帧的捕获时间差:
3.1726750000…… 帧装载的协议:
ARP
图8
(3)展开第二行
在上图中,我们在上面一栏每选到一部分,在下面一栏就会显示对应的数据部分。
我们可以看到:
目的地址(Destination):
ff:
ff:
ff:
ff:
ff:
ff (这是个MAC地址,现在你要知道了,这个MAC
地址是一个广播地址,就是局域网中的所有计算机都会接收这个数据帧)
源地址(Source):
Draytek_31:
54:
ab (00:
50:
7f:
31:
54:
ab),那么我们知道,00:
50:
7f是以太网网卡厂商Draytek拥有的一个以太网地址块。
帧中封装的协议类型:
0x0806,注意,这个就是ARP协议的类型编号。
Trailer:
是协议中填充的数据,为了保证帧最少有64字节。
4)展开第三行
AddressResolutionProtocol(request)-地址解析协议(请求):
硬件类型:
以太网(0x0001)(2字节)
协议类型:
IP协议(0x0800)(2字节)
硬件地址长度:
6(1字节)
协议地址长度:
4(1字节)
操作类型:
请求(0x0001)(2字节)
[免费:
否]
发送方MAC地址:
Tp-LinkT_79:
c1:
6c(00:
25:
86:
79:
c1:
6c)(6字节)
发送方IP地址:
192.168.1.1(192.168.1.1)(6字节)
目的MAC地址:
00:
00:
00_00:
00:
00(00:
00:
00:
00:
00:
00)(6字节)
目的IP地址:
192.168.1.107(192.168.1.107)(6字节)
经上述分析可知:
ARP请求或应答的报文格式:
中我们看到这个帧的一些基本信息:
帧的编号:
635(捕获时的编号) 帧的大小:
42字节。
看看前面的帧结构图,应该是没有把四个字节的CRC计算在里面,加上它就刚好。
帧被捕获的日期和时间:
Nov28,201015:
58:
47…… 帧距离前一个帧的捕获时间差:
0..0000140000…… 帧距离第一个帧的捕获时间差:
0..0000140000…… 帧装载的协议:
ARP
AddressResolutionProtocol(request)-地址解析协议(请求):
硬件类型:
以太网(0x0001)(2字节)
协议类型:
IP协议(0x0800)(2字节)
硬件地址长度:
6(1字节)
协议地址长度:
4(1字节)
操作类型:
请求(0x0001)(2字节)
[免费:
否]
发送方MAC地址:
Quantami_44:
76:
df(00:
17:
c4:
44:
76:
df)(6字节)
发送方IP地址:
192.168.1.107(192.168.1.107)(6字节)
目的MAC地址:
Tp-LinkT_79:
c1:
6c(00:
25:
86:
79:
c1:
6c)(6字节)
目的IP地址:
192.168.1.1(192.168.1.1)(6字节)
经上述分析可知:
ARP请求或应答的报文格式: