实验1 网络协议分析与仿真.docx
《实验1 网络协议分析与仿真.docx》由会员分享,可在线阅读,更多相关《实验1 网络协议分析与仿真.docx(85页珍藏版)》请在冰点文库上搜索。
实验1网络协议分析与仿真
协议分析实验
在此部分,设计了14个网络协议分析实验,基本涵盖了前面网络原理中介绍的各种协议。
学生使用附带的网络协议仿真教学系统完成这些实验,可以对网络协议有更深入的理解。
这些实验可以根据教学具体情况选做。
实验一以太网帧的构成
【实验目的】
掌握以太网帧的构成模式,能够识别不同的MAC地址并理解MAC地址的作用,了解网络故障分析仪的基本使用方法。
【实验学时】
4学时
【实验类型】
综合型
【实验要求】
1、了解协议仿真编辑器的五个组成部分及其功能
2、了解网络协议分析仪的各组成部分及其功能
3、学会使用协议仿真编辑器编辑以太网帧,包括单帧和多帧的编辑
4、学会观察并分析地址本中的MAC地址
5、学会分析以太网帧的MAC首部
6、理解MAC地址的作用
7、理解MAC首部中的LLC-PDU长度/类型字段
【实验原理】
(1)以太网首部
以太网目的地址
以太网源地址
帧类型
6
6
2
帧类型字段:
表示后面数据类型。
例如0x0806表示ARP请求或应答。
(2)太网帧的构成
46----1500字节
以太网首部
IP首部
协议(例TCP)首部
应用数据
以太网尾部
14
20-60
根据协议而定(TCP20-60)
4
(3)其他原理请参考教材:
第一章:
计算机网络的基本概念
第二章:
局域网技术
【实验步骤】
一仿真机端
练习一:
运行ipconfig命令
1、启动网络协议仿真编辑器,选择“工具”菜单栏中的IPCONFIG项,观察ipconfig/all
命令下的运行结果,获得本机的主机名及以太网地址
2、在地址本中找到本机的信息
练习二:
单帧编辑并发送
1、打开协议仿真编辑器,在界面初始状态下,程序会自动新建一个单帧。
可以利用协议仿真编辑器打开时默认的以太网帧进行编辑。
此时在协议仿真编辑器的各部分会显示出该新帧的信息:
(a)多帧编辑器中显示:
新帧的序号(为1)、概要信息
(b)协议树中显示以太网MAC层协议
(c)单帧编辑器中显示新帧各字段的默认值
(d)十六进制对照表中显示新帧对应的十六进制信息
2、编辑以太网帧;
在单帧编辑器中编辑该帧,具体步骤为:
(a)填写“目的MAC地址”字段;
方法一:
手工填写。
方法二:
选择地址本某主机的MAC地址,复制并粘贴到目的MAC地址栏中,替换掉默认值。
(b)填写源MAC地址字段,方法同上;
注意:
仿真机可以仿真本机发送的MAC帧,也可以仿真另一台机器发送MAC帧,所以,源MAC地址字段可以填写本机MAC地址,也可以填写其他机器的MAC地址。
(c)填写“类型或长度”字段;
方法一:
双击该字段,更改默认设置,填写上一层协议类型值(十六进制表示);
方法二:
单击“类型或长度”字段,右端会出现一个下拉键头,点击该键头,出现下拉菜单,其中列出可选的上层协议类型,单击其中一个进行选择,该协议对应的十六进制值会自动填写;
3、单帧编辑器与十六进制对照表是联动的,观察十六进制对照表中该帧的信息;
4、选中单帧编辑器中的某一字段,该字段对应的十六进制值会相应地改变颜色;
5、点击工具栏或菜单栏中的“发送”,在弹出菜单上选择“按范围发送”或“自定义发送”,正确填写发送的范围后,选择“发送”按钮,发送该帧;
6、在监控机一端捕获新发送的帧并分析(捕获数据的方法参考本实验后半部分:
监控机端的实验步骤);
7、重新回到步骤
(2)类型和长度字段分别填写以下十六进制值:
(a)0800:
对应的上层协议是什么?
(b)0806:
对应的上层协议是什么?
(c)0100:
对应的上层协议是什么?
该值的具体含义是什么?
在监控机端捕获该帧,捕获到帧的长度是多少?
分析原因。
(d)0001:
对应的上层协议是什么?
这样填写是否正确?
分析原因。
练习三:
编辑并发送帧序列
1、按照单帧编辑的步骤编辑多个帧;
2、对每一帧可以重新设置发送的时间间隔和发送的重复次数,如不设置,则采用默认值;
方法为:
点击某一帧左边的“+”,即可展开为两行,在第一行内填写此帧与其上一帧的发送时间间隔(单位:
ms默认值:
1000),展开项的第二行为设置此帧的重复发送次数(默认值为1)。
3、编辑好以后,发送帧序列;
点击菜单栏或工具栏中的“发送”按钮,选择弹出菜单上的“按范围发送”并编辑起始帧序号和结束帧序号
如果选择“自定义发送”则在“发送序号”面板中选择要发送的单帧序号,并根据需要修改发送时间和发送次数。
编辑完成后点击“发送”按钮,即完成帧的发送。
4、观察主界面底部“状态”栏中的各数据信息;
5、在监控机一端捕获数据并分析。
练习四:
编辑并发送mac广播帧
请同学们考虑mac广播帧的目的mac地址应该如何填写。
二监控机端
练习一:
捕获数据并分析。
切换数据采集器的按钮,将监控机通过主控设备接在局域网中。
1、启动协议详细解析功能,获得若干以太网帧。
对其中的5-10个帧的以太网首部进行观察和分析;
分析的内容为:
源MAC地址目的MAC地址上层协议类型。
2、以MAC地址为过滤条件捕获若干以太网帧。
如:
捕获源MAC地址为:
00-09-74-A5-6F-4C(选择地址本中的一个MAC地址)的帧
对每一帧的以太网首部进行观察分析;
分析的内容为:
源MAC地址;
目的MAC地址;
上层协议类型。
3、以本机MAC地址为过滤条件捕获相应的以太网帧(多个);
对其中目的MAC地址为本机MAC地址的以太网帧进行观察分析:
(a)这些帧的源MAC地址都是什么?
(b)对照地址本观察这些MAC地址对应的IP地址有何特点?
(c)说明:
为什么能收到来自这些源MAC地址的帧?
(d)将捕获到的以太网帧保存到文件中,文件名为:
实验一.zdt。
练习二:
学习监控机端其他的协议分析功能。
1、点击主机状况,观察分析结果信息。
2、点击会话状况,观察分析结果信息。
3、点击协议统计,观察分析结果信息。
4、点击性能状况,观察分析结果信息。
5、察看地址本。
【思考问题】
结合实验过程中的实验结果,回答下列问题:
1、在网络的分层体系结构中,MAC层的作用是什么?
2、帧在传送过程中每经过一个网络节点,MAC地址是否要发生变化?
为什么?
【实验结论】
实验二IP地址分类与数据包的组成
【实验目的】
理解IP层的作用以及IP地址的分类方式,掌握IP数据包的组成,理解子网掩码的作用
【实验学时】
4学时
【实验类型】
综合型
【实验要求】
1、学会根据IP地址的分类方式区分各类IP地址
2、掌握IP数据报的格式、长度以及各字段的功能
3、学会利用子网掩码确定IP地址的网络号、子网号和主机号
4、学会分析给定数据包的IP首部信息
5、学会手工计算IP校验和的方法
【实验原理】
(1)IP地址的分类:
A类
0
7位网络号
24位主机号
B类
10
14位网络号
16位主机号
C类
110
21位网络号
8位主机号
D类
1110
28位多播组号
E类
11110
27位保留
(2)各类IP地址的范围
类型
范围
A
0.0.0.0到127.255.255.255
B
128.0.0.0到191.255.255.255
C
192.0.0.0到223.255.255.255
D
224.0.0.0到239.255.255.255
E
240.0.0.0到247.255.255.255
(3)IP数据报格式:
1
16
17
32
4位
版本号
4位首部长度
8位服务类型
TOS
16位总长度(字节数)
客户
recv()
connect()
Socket()
send()
数据(回答)
数据(请求)
建立连接
服务员
数据处理
16位标识
3位标志
13位片偏移
8位生存时间(TTL)
8位协议标识
16位首部校验和
32位源IP地址
32位目的IP地址
IP选项
数据
图3-3-1IP数据报格式及首部中的各字段
(4)其他原理请参考教材:
第三章IP网络协议及技术
【实验步骤】
练习一:
运行ipconfig命令
1、启动网络协议仿真编辑器,选择“工具”菜单栏中的“IPCONFIG”项,观察ipcofig/all命令下运行的结果,获得本机的IP地址及子网掩码:
2、分析本主机属于哪一类IP地址,网络号和子网号分别是什么。
3、利用本机的IP地址及子网掩码,找到地址本中与本机属于同一子网的主机。
练习二:
运行netstat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
1、在DOS命令行方式下运行:
netstat–r显示本机路由表。
记录本机的缺省网关的IP地址。
2、在DOS环境下运行netstat–s,观察IP协议部分,查看本机已经接收和发送的IP报文个数。
练习三:
运行Ping命令
A:
在地址本中选择与本主机在同一子网中的另一主机的IP地址(假设为:
X.X.X.X);
1、在DOS命令行方式下运行:
pingX.X.X.X
2、在监控机端捕获数据,观察记录每一帧的MAC层的源、目的MAC地址和IP层的源、目的IP地址。
3、对照地址本中的记录,分析捕获数据的MAC地址与IP地址的对应关系。
B:
这个实验要求不同网段的两个小组密切配合。
在地址本中选择与本主机属于不同子网的另一主机的IP地址(假设为:
Y.Y.Y.Y);
1、在不同网段的两台主机的DOS命令行方式下运行arp–d分别清除ARP高速缓存中的内容。
然后运行ping命令:
pingY.Y.Y.Y
2、在监控机端捕获数据,观察记录每一帧的MAC层的源、目的MAC地址和IP层的源、目的IP地址。
3、对照地址本中的记录,分析捕获数据的MAC地址与IP地址是否具有对应关系。
C:
比较A、B两个实验的实验结果,分析二者有何不同,为什么?
练习四:
编辑并发送IP数据包
1、打开协议仿真编辑器。
2、填写该帧的“源MAC地址”和“目的MAC地址”字段;
注意:
当目的主机与本机不在同一子网中时,目的MAC地址字段该如何填写,才能保证帧能够到达目的地?
3、填写该帧的以太网协议首部:
“类型或长度”字段值为:
0800(即IP协议的类型值)或者选择下拉菜单中的IP协议,此时:
(a)协议树上将显示上层协议类型为“IPV4”,点击左端的“+”将该层协议展开,会看到IP协议的各个字段;
(b)点击协议树上的“IP”协议或者点击单帧编辑器右下方的“下一步”,在单帧编辑器中会出现IP层各个字段及其默认值;
4、写IP协议头信息:
(a)源IP地址;
注意:
仿真机可以仿真本机发送的IP数据包,也可以仿真另一台机器发送IP数据包,所以,源IP地址字段可以填写本机IP地址,也可以填写其他机器的IP地址。
(b)目的IP地址:
从地址本中选择一主机的IP地址并填写;
(c)填写“版本号”(正常值:
4);
(d)首部长度(无可选项的情况下为5,即20个字节);
(e)服务类型;
(f)总长度字段(该值为IP首部长度加上数据部分的长度);
(g)标识字段;
(h)标志字段;
(i)生存时间;
(j)协议字段,即上层协议类型(6为TCP,17为UDP,1为ICMP);
(k)首部检查和,当上述各字段值均填写完毕,可以通过两种方法计算首部检查和的值:
方法一:
手工计算。
首先把“首部校验和”字段置为0;然后,对IP协议头中的每个16比特进行反码求和(整个首部看成是由若干个16比特的字组成),然后取反,结果即为该字段的值。
方法二:
利用协议仿真编辑器计算,其步骤如下:
①首先把该字段置为0;
②在十六进制对照表中找到IP协议头对应的部分(通过点击IP协议的第一个字段和最后一个有效字段来确定范围),并把该部分选中;
③点击鼠标右键,选择弹出菜单中的“计算校验和”;
④将得到的值填入单帧编辑器中首部检查和字段。
5、要发送多个IP数据包,可重复上述步骤,并可在多帧编辑器中设置每一帧的发送次数和发送每帧的时间间隔;
6、工具栏或菜单栏中的“发送”,在弹出菜单上选择“发送”按钮,发送帧序列;
7、控机一端截获数据包并分析。
练习五:
观查分析IP会话状况。
1、在监控机端选择“会话状况”,察看其中的IP会话状况统计结果。
2、捕获大量IP数据包,分析其中的IP会话状况。
步骤为:
(a)切换数据采集器上的按钮,将监控机连接到主控设备上。
(b)以IP协议为过滤条件,显示捕获的IP数据包,分析其中的IP会话状况。
(c)将捕获的IP数据包保存到文件:
实验二.zdt。
【思考问题】
结合实验过程中的实验结果,回答下列问题
1、实验所用仿真机的IP地址是什么?
子网掩码是什么?
该机器属于哪类IP地址?
网络号和子网号、主机名分别是什么?
2、分析地址本中所有的IP地址,说明实验环境中所有机器(除服务器外)的子网划分情况。
3、IP数据包在从源主机出发到达目的主机的过程中,IP首部中的IP源地址和目的地址字段是否发生变化?
4、打开浏览器IE,访问国外某站点,如在地址栏中写入:
(美国的微软主页地址,IP地址为216.65.41.184),并回车。
在监控机一端截获这一过程仿真机发送的数据包,然后进行分析:
(a)所发送数据包的目的IP地址是否为216.65.41.184?
(b)如果不是,是什么?
分析产生这种情况原因。
【实验结论】
实验三IP地址转换协议:
ARP
【实验目的】
1、理解IP地址与MAC地址的对应关系
2、掌握ARP协议的作用和格式
【实验学时】
4学时
【实验类型】
综合型
【实验要求】
1、理解IP地址与MAC地址的对应关系
2、掌握ARP协议的作用
3、掌握ARP协议的工作原理
【实验原理】
1、ARP请求或应答的分组格式
硬件类型
协议类型
硬件长度
协议长度
操作
发送方首部(八位组0-3)
发送方首部(八位组4-5)
发送方IP地址(八位组0-1)
发送方IP地址(八位组2-3)
目标首部(八位组0-1)
目标首部(八位组2-5)
目标IP地址(八位组0-3)
字段说明:
硬件类型字段:
表示硬件地址类型,例如:
1表示以太网。
协议类型字段:
表示要映射的协议类型,例如0x0800表示IP地址,0x0806表示ARP请求或应答。
操作字段:
共有四种操作类型,1表示ARP请求,2表示ARP应答,3表示RARP请求,4表示RARP应答
2、其他原理请参考教材:
第三章IP网络协议及技术
【实验步骤】
注意:
在没有强调在‘监控机’一端操作时,以下操作均是在仿真机上进行的
练习一:
仿真发送ARP请求报文
1、在命令提示符下运行arp–d命令,清空ARP高速缓存
2、编辑并发送ARP请求帧
(1)打开协议仿真编辑器。
(2)填写该帧的“源MAC地址”和“目的MAC地址”字段;
(a)源MAC地址可以为本机的MAC地址,也可以仿真其他主机发送ARP请求报文,此时填写的MAC地址为另一台主机的MAC地址,MAC地址可根据主机名在地址本中获得;
(b)目的MAC地址:
这里要注意分析对于ARP请求来说,目的MAC地址应该是什么?
(3)填写“类型或长度”字段值为:
0806(即:
ARP协议类型值)或者选择细下拉菜单中的“ARP”协议,此时:
(a)协议树上将显示上层协议类型为“APR”,点击左端的“+”将该层协议展开,会看到ARP协议的各个字段
(b)单击协议树上的“ARP”协议或者点击单帧编辑器右下方的“下一步”,在单帧编辑器中会出现ARP层各个字段及其默认值
(4)填写ARP协议头信息:
(a)硬件类型:
(以太网地址)
(b)协议类型:
(要映射的协议地址类型为IP地址类型)
(c)硬件地址长度:
(d)协议地址长度:
(e)操作字段(APR请求为1,ARP应答为2,RARP请求为3,RARP应答为4)
(f)发送方MAC地址:
(g)发送方IP地址:
为所选择源主机的IP地址;
(h)目的MAC地址:
(i)目的IP地址:
为所选择源目的主机的IP地址。
(5)点击工具栏或菜单栏中的“发送”,在弹出菜单上选择“发送”按钮,发送ARP帧;
(6)在监控机一端捕获该报文及ARP响应报文并分析。
3、在命令提示符下运行arp–a命令,检查ARP高速缓存中的内容。
练习二:
运行Ping命令(同一子网内两台机器间的ARP)
1、在命令提示符下运行arp–d命令,清空ARP高速缓存
2、在命令提示符下运行arp–a命令,检查ARP高速缓存
3、从地址本中选择与本机属于同一子网的一主机的IP地址(X.X.X.X)作为Ping命令的参数,然后在命令提示符下运行:
PingX.X.X.X
在监控机一端捕获数据报文并分析:
(a)其中是否有ARP请求及应答报文?
(b)分析各ARP报文:
源、目的mac地址都是什么?
源、目的IP地址都是什么?
(c)为什么产生这样的报文?
4、在命令提示符下运行arp–a命令,检查ARP高速缓存中的内容是否发生变化,分析原因。
练习三:
运行Ping命令(经网关连接的不同子网上的两台机器间的ARP)
1、在命令提示符下运行arp–d命令,清空ARP高速缓存
2、在命令提示符下运行arp–a命令,检查ARP高速缓存
3、从地址本中选择与本机属于不同子网的一主机的IP地址(Y.Y.Y.Y),
然后在命令提示符下运行:
PingY.Y.Y.Y
在监控机一端捕获数据报文并分析:
(a)其中是否有ARP请求及应答报文?
(b)分析各ARP报文:
源、目的以太网地址都是什么?
源、目的IP地址都是什么?
(c)为什么产生这样的报文?
4、在命令提示符下运行arp–a命令,检查ARP高速缓存中的内容是否发生变化,分析原因。
5、比较练习二和练习三两实验中得到的ARP报文,有何不同?
分析产生二者区别的原因是什么?
【思考问题】
结合实验过程中的实验结果,回答下列问题
1、观察实验过程中捕获网络上的多个ARP请求帧,观察这些帧的以太网目的地址是否相同,分析其原因。
2、观察实验过程中捕获网络上的多个ARP应答帧,观察这些帧的以太网目的地址是否相同,分析其原因。
【实验结论】
实验四IP控制管理协议:
ICMP
【实验目的】
1、了解ICMP的格式和响应方式及作用
2、了解常见的网络故障
【实验学时】
4学时
【实验类型】
综合型
【实验要求】
1、理解和掌握ICMP协议的基本作用
2、知道ICMP报文的格式
3、理解ICMP协议与IP协议的封装关系
4、学会根据各种响应信息进行出错分析的方法
5、学会使用ping命令
【实验原理】
请参考教材:
第三章IP网络协议及技术
包括:
ICMP协议;报文格式;报文类型;时间戳请求和应答报文格式;不可达报文格式;ICMP回显请求和应答报文格式等
【实验步骤】
练习一:
仿真发送各种ICMP报文
1、从地址本中选择一台主机,向该主机仿真发送ICMP回显请求报文。
(a)打开协议仿真编辑器。
(b)填写该帧的以太网协议首部:
①“源MAC地址”和“目的MAC地址”字段:
注意:
当选择的目的主机与本机不在同一子网的情况,目的MAC地址该怎样填写
②注意填写“类型或长度”字段值为:
0800(即IP协议的类型值)
(c)填写IP协议头信息:
注意协议字段,即上层协议类型应为1(ICMP协议的类型为1),可手工填写也可选择下拉菜单中的“ICMP”协议;
2、填写ICMP协议头信息:
(a)类型字段值为:
8;
(b)代码字段值为:
0;
(c)标识符:
任选16位二进制数(如0x1234);
(d)序列号:
任选16位二进制数(如0x5677);
(e)数据字段:
任选;
(f)校验和:
首先把该字段置为0,接下来计算ICMP首部的校验和。
ICMP协议校验和字段覆盖整个ICMP报文,包括数据部分。
3、击工具栏或菜单栏中的“发送”,在弹出菜单上选择“发送”按钮,发送ICMP报文;
4、在监控机一端截获相应的请求报文及应答报文并分析,注意当源MAC与源IP属于另一台主机的时候,响应报文的情况。
5、从地址本中选择一台主机,向该主机仿真发送ICMP时间戳请求报文。
(a)步骤同上。
注意对于ICMP时间戳请求报文,类型字段值为13,代码字段值为0。
(b)在监控机一端截获相应的请求报文及应答报文并分析。
6、编辑IP数据包并主动引入一些错误:
(a)向目标主机发送一个只有IP头的IP数据包;
(b)向目标主机发送一个数据包,版本号字段填入7;
(c)向目标主机发送一个数据包,协议类型字段填入120;
(d)向目标主机发送一个数据包,填写不正确的IP报头长度;
向另一台主机发送上述数据包;
在监控机一端捕获响应报文并分析。
练习二:
运行ping命令
选择菜单栏中的“工具”,运行下拉菜单中的ping命令
1、从地址本中选择与本机属于同一子网的一主机的主机名或IP地址,作为ping命令的参数;
2、从地址本中选择与本机属于不同子网的一主机的主机名或IP地址,作为ping命令的参数;
对于上述两种情况,在仿真机和监控机端分别进行观察和分析:
在仿真机端观察:
(a)是否收到响应包?
(b)如果收到,观察响应包的个数,并对每个响应包的各信息字段进行分析。
(c)比较两种次实验中TTL字段值是否相同,为什么?
监控机一端捕获数据并分析:
(a)是否捕获到响应包?
(b)如果捕获到,观察并分析每个响应包的ICMP协议头部分。
(c)比较两次实验中监控机一端捕获到的响应包的个数是否相同,为什么?
3、同时打开多个DOS命令提示符窗口,在每个窗口中运行一个ping程序
在监控机一端捕获数据,分析各程序如何识别属于自己的返回信息?
练习三:
运行netstat命令
在Dos环境下运行netstat–s,观察ICMP协议部分,查看本机已经接收和发送的ICMP报文类型及报文个数。
练习四:
运行tracert命令
在命令提示符下运行类似以下的命令:
tracert
tracert
观察运行结果并分析。
【思考问题】
结合实验过程中的实验结果,回答下列问题:
1、根据练习一的实验结果说明:
实验室环境所使用操作系统默认的TTL最大值是多少?
2、运行ping127.0.0.1,再运行ping本机名(或本机IP地址)。
在监控机端是否捕获到相应的ICMP回显请求报文?
为什么?
【实验结论】
实验五UDP数据报的传送
【实验目的】
1、理解UDP协议的工作原理及工作过程
2、了解基本的端口分配
3、理解DNS的工作原理
【实验学时】
4学时
【实验类型】
综合型