《计算机网络原理》实验指导书文档格式.docx
《《计算机网络原理》实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《《计算机网络原理》实验指导书文档格式.docx(41页珍藏版)》请在冰豆网上搜索。
(3)Capture
packets
in
promiscuous
mode:
是否使用混杂模式。
如果选中,抓取所有的数据包。
如果只需要监听本机收到或者发出的包,这个选项不选 。
(4)CaptureFilter:
过滤器。
只捕获满足过滤规则的分组,例如,捕捉主机202.14.26.53和www服务器之间的通信(主机202.14.26.53是自身),capturefilter的filterstring设置为:
host202.14.26.53and
(5)CaptureFile:
可以指定将捕获到的分组直接保存在一个文件里,而不是存于内存中,在这里输入文件名称。
如果选择Usingringbuffer(使用环行缓冲区),分组可以被写入多个文件,当每个文件写满或者在指定秒数的时间后交换文件。
这些控制对捕获较大较长的跟踪记录是很重要的。
(6)Displayoptions(显示选项)在网络活动量很高的时候,要想同步显示是很困难的。
大家可以选择观察实时更新分组,通过让显示屏自动滚动到最后捕获的分组。
(7)Capturelimits(捕获限制)可以使用Stop按钮来手动停止跟踪。
也可以使用这些选项来要求在捕获一定数量的分组、跟踪记录达到一定的大小或在一个特定的时间后停止跟踪。
(8)Nameresolution(名字解释)可以把分组中不同的数字翻译成人们易读的名字。
如启用MAC地址转换,Ethereal会将一部分地址转化为厂商的名称。
如启用网络地址转换,Ethereal会试图将一个网络地址(如:
201.100.0.1)转化成一个主机名(如:
www.foo.org.)
2.配置以后,点击图1窗口中的Start按钮,开始跟踪捕获数据包。
如图2所示。
图2:
跟踪捕获窗口
3.点击图2中的Stop按钮,停止捕获数据包,在Ethereal主窗口中显示已捕获的数据包,如图3所示。
图3:
捕获结果分析窗口
4.用Ethereal分析数据包
图3所示的Ethereal数据包分析窗口被分成三个部分:
(1)列表框:
最上面为数据包列表框,用来显示截获的每个数据包的信息,在数据包列表中选中一个分组后,下面的两个子窗口中会显示出所选分组的细节。
(2)协议框:
中间为协议框,用来显示选定的数据包的协议信息。
如主机的MAC地址(EthernetII)、IP地址(InternetProtocol)、TCP端口号(TransmissionControlProtocol),以及HTTP协议的具体内容(HypertextTrnasferProtocol)。
通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。
(3)原始框:
最下边是以十六进制形式表示的数据包原始框内容,用来显示数据包在物理层上传输时的最终形式。
当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。
5.Ethereal包过滤器
在抓包完成以后,显示过滤器可以用来找到你感兴趣的包。
例如,如果只想查看使用TCP协议的包,在Ethereal窗口的左下角的Filter中输入TCP,
然后回车,Ethereal就会只显示TCP协议的包,如图4所示。
图4:
过滤TCP包
例子:
(1)捕获IP地址是192.168.2.10
的主机所发送的所有的HTTP报文,对应的显示Filter
(过滤器)可设为:
ip.srceq192.168.2.10andhttp。
(2)捕获IP地址是192.168.2.10
的主机所接收的所有的HTTP报文,对应的显示Filter
ip.dsteq192.168.2.10andhttp。
(3)捕获IP地址是192.168.2.10
的主机所发送和接收的所有的HTTP报文,对应的显示Filter
(过滤器)可设为ipaddr=192.168.2.10andhttp
(4)捕捉主机192.168.2.10发出或接受的所有FTP包(即srcordstport=21),设置为:
tcpport21andhost192.168.2.10
(5)捕捉局域网上主机192.168.2.10发出或接受的所有ARP包,设置为:
arpandhost192.168.2.10
注意:
当你输入的表达式不符合规范时,Filter背景将显示红色
说明:
本实验中用到的示例文件在traces文件夹中。
实验一 以太网实验
1、实验目的
1.熟悉以太网帧的格式
2.理解以太网交换机的通信过程
2、实验环境
为了准备本实验,首先用一个交换机连接以太网上有三台计算机A、B、C,三台计算机形成一个独立的测试网。
一个线缆调制解调路由器也连接该网络,并配置成DHCP服务器。
在完成对第一个配置的实验活动跟踪后,用一个集线器取代交换机。
在新的配置下,重新进行实验。
并给出了每台计算机的以太网地址和IP地址。
主机
MAC地址
IP地址
A
00:
10:
4b:
a3:
1d:
4c
192.168.0.104
B
06:
5b:
e3:
4d:
1d
192.168.0.105
C
07:
e9:
53:
87:
d9
192.168.0.100
3、实验内容
将三台计算机(A、B和C)连接到一个交换机上。
●在A上发出命令ping192.168.0.105,发送小的请求报文给B,并等待B的应答。
●在A上发出命令ping192.168.0.255,将小的报文广播到本地网上所有的主机。
●分别在主机B和主机C上捕获的跟踪记录保存在文件ping_switch_B.cap和ping_switch_C.cap里。
分析文件ping_switch_B.cap里的跟踪记录:
捕获的记录中包括一个ARP请求及应答,以及两组ping的请求和应答。
分组1的ARP请求来源于主机A,发送ping包到192.168.0.105之前,主机A必须知道192.168.0.105对应的以太网地址。
这个ARP请求广播到本地网的所有计算机上,目的地址ff:
ff:
ff表示分组应该发送到所有计算机上。
主机B听到ARP请求广播,在分组2中直接发送响应给A,这个回答不是广播形式。
注意,分组1是以太网Ⅱ型帧。
分组3到分组16时来自主机A的ping请求和来自主机B的ping应答。
分组25到35是从主机A发给广播地址192.168.0.255的ping请求。
分析文件ping_switch_C.cap里的跟踪记录:
主机C只看到发送到广播地址的数据包。
在分组1中它看到ARP请求,但没有ARP应答。
主机C看不到A发给B的ping请求,没看不到B的应答,即主机C看不到A和B的通信流,因为主机A和B不在一个交换机端口上。
4、思考题
1.考虑文件ping_hub_B.cap和ping_hub_C.cap的ARP请求和应答。
在每个跟踪文件中有多少ARP请求和多少ARP应答?
给出分组的数量。
ARP请求是广播的还是直接发送给单个主机的?
APR应答是广播的还是直接发送给单个主机的?
2.在文件ping_hub_B.cap和文件ping_hub_C.cap中哪类数据是被广播的,哪类数据是非广播的(即直接发送给单个主机的)?
考虑SSDP、ARP请求、ARP应答、ping请求、ping应答等各类数据。
在集线器上,广播和非广播待遇相同。
交换机是怎样处理广播和非广播的通信数据的?
为了说明集线器和交换机的不同,应该通过广播方式还是非广播方式,为什么?
实验二 MAC地址和ARP解析实验
1.了解MAC地址和地址解析协议ARP
2.熟悉以太网MAC帧结构
2、实验内容
1.地址解析协议ARP
(1)打开文件Traces\5_1_MACAddresses\arp.cap进行分组分析,如图2-1。
图2-1
Arp.cap里分组1和分组2是PING的结果。
注意分组1和分组2中的源地址和目的地址。
分组1是从00:
06:
5B:
E3:
4D:
1D发送到00:
07:
E9:
53:
87:
D9。
分组2是向相反的方向发送的。
随着ARP高速缓存项的删除,在分组3中看到主机A被迫发出ARP请求。
ARP请求发送到广播地址ff:
ff。
主机B监听到广播请求,并在分组4中应答。
这个应答会重新增加到高速缓存,并且允许主机A在分组5中发送ping请求。
发送ping192.168.0.100。
结果分组在分组7和8中显示。
在分组7之前,不需要ARP交换,因为ARP高速缓存再一次包含了192.168.0.100项。
(2)在主机命令提示符窗口执行命令arp-a来显示主机ARP高速缓存里的内容。
(3)用Ethereal捕捉ping数据包
执行命令ping–n8192.168.0.100。
这个命令发送8个小的请求报文给主机192.168.0.100,并等待主机B应答。
(4)分析捕捉结果,查看ARP协议格式。
2.以太网帧结构
(1)捕捉分组,选择某个分组
(2)在协议框中展开所选分组的Ethernet层,查看帧的源地址、目标地址、类型等字段并与原始框中的数据比较。
如图2-2所示。
图2-2
3.在局域网中捕获一组数据包,分析ARP协议、ICMP协议、TCP协议的数据包的帧结构。
3、思考题:
打开文件frameFormat.cap,它包含一个以太网V2帧和一个IEEE802.3帧。
哪一个字段允许Ethereal正确解释帧?
在跟踪的每个分组里,这个字段的值是多少?
实验三 Ping和tracerouter
1.了解ICMP协议的基本原理
2.理解ping和traceroute利用ICMP协议进行通信的原理
3.掌握ping和traceroute工具的使用
1.本地ping和远程ping
ping命令用于向因特网中的某个特定的主机发送特殊的探测报文并等待表明主机在线的回复。
tracert用于跟踪显示通往特定的因特网主机所经过的所有中间节点和往返时间。
ping和tracert都依赖ICMP协议。
ICMP报文被封装在IP数据报中发送
(1)文件ping_private.cap捕获了两个ping命令产生的网络通信。
第一个ping命令是对IP地址192.168.0.1进行的,第二个ping是对主机名www.iana.org进行的。
分析捕获的ICMP分组。
对于每个目的端,发送4个回应请求分组并接收到4个ICMP回应应答分组。
分组3到10显示的是与192.168.0.1的交换,分组13到20显示的是与www.iana.org的交换。
每个请求通过ICMP序号字段与其相应的回应应答连接起来。
回应请求的ICMP类型号为8,回应应答的ICMP类型号为0。
注意,ICMP报文被包含在IP数据报的数据部分中。
还要注意,IP首部中的协议字段被置为1,表明数据部分包含ICMP报文。
图3-1
分组1和2说明为了向192.168.0.1发送ICMP报文,我们需要知道它的以太网地址(00:
25:
8d:
be:
1d),因为它是在本地网络上。
分组11和12表明为了将ICMP报文发送到www.iana.org,我们需要知道它的IP地址(192.0.34.162)。
该IP地址不在本地网中(由源主机IP地址与本地子网掩码决定)。
因此,数据报首先要发送到本地路由器的物理地址,然后由它转发到下一个中间路由器上。
这便是为什么两个ping命令的ICMP回应请求分组都发往同一个以太网地址。
Ping通信流的跟踪见图3-1。
(2)启动ethereal,捕捉ping分组并进行分析,如图3-2。
图3-2
2.本地traceroute(tracert)
在两台在同一大学网上由中间路由器分隔的主机上执行traceroute。
两台机器之间路由的跳数为2。
这两个跟踪分别保存在traceroute1_src.cap和traceroute1_dst.cap中。
考察traceroute1_src.cap。
分组1和2包含DNS分组,用来将softeng.camp.Clarkson.edu转换成其IP地址128.53.11.150。
在分组3中,traceroute发送它的第一个探测分组。
它是一个UDP分组,并且IP首部中的生存时间字段被置为1。
中间路由器128.153.144.1回复一个ICMP生存时间超时报文。
然后traceroute发送一个DNSPTR查询来将这个IP地址转换为可读的主机名gw.sclab.clarkson.edu。
在分组7和9中,traceroute再次发送生存时间字段设置为1的探测分组。
之后,同一机器每次都以ICMP生存时间超时报文来响应。
这些额外的探测分组使得traceroute对路径中遇到的变化进行报警,还能够报告往返时间的平均测量值。
Traceroute通信流的跟踪见图3-3。
图3-3
分组11包含了生存时间为2的第一个探测分组。
IP为128.53.11.150的目的主机响应该探测分组之后,traceroute又发送了另外两个生存时间为2的探测分组。
考察文件traceroute1_dst.cap。
大多数通信到达不了实际的目的主机。
其中包括自下而上时间为1的探测分组和DNS请求。
到达目的主机的通信流能够直接与前一次跟踪中的分组关联起来。
例如,分组1即是traceroute1_src.cap中的分组11。
仔细比较两次跟踪中的这个分组4,非常能说明IP通信的多跳特性。
注意,分组到达目的机的时候,生存时间字段落为1。
这是因为分组经过gw.sclab.clarkson.edu时跳数减1。
还要注意,尽管有相同的源IP地址和目的IP地址,但源以太网地址和目的以太网地址却不同。
在第一个本地网中,分组从bgpdata.sclab.clarkson.edu上的以太网接口发送到gw.sclab.clarkson.edu的以太网接口。
实际上,这台机器有多个以太网接口——一个在与bgpdata.sclab相同的网络上,另一个在与softeng.camp相同的网络上。
每个接口都有自己的以太网地址、IP地址和主机名。
3.远程traceroute
启动ethereal,捕捉tracert分组并进行分析,如图3-4。
图3-4
3、思考题
1.比较文件ping_private_commands.txt中由ping命令报告的时间与Ethereal在ping_private.cap中报告的分组时间戳的不同。
思考发向每个目的主机的首个ICMP回应请求和ICMP回应应答对。
2.考察在ping.private.cap中的ICMP回应请求和ICMP回应应答。
回应请求通过什么与随后的回应应答连接在一起?
考察traceroute发送的UDP分组和随后的ICMP生存时间超时报文。
UDP分组通过什么与其随后的ICMP应答连接在一起。
3.traceroute能够像ping一样发送ICMP回应请求分组来代替UDP分组吗?
为什么?
实验四 IP协议和RIP路由
一、实验目的
1.学习IPv4数据报格式和IPv4的分片和重组的原理
2.了解IPv6如何采用“隧道技术”进行通信
3.了解RIP动态路由原理
二、实验内容:
1.IPv4数据报分析
实验环境:
在最大支持1514个字节的数据报的网络上发送两个大小为5000字节的报文,数据从192.168.0.100发送到192.168.0.102。
打开文件Traces\4_1_JoiningTheInternet\fragment_5000_isolated.cap,如图4-1所示。
图4-1
本例中发送两个UDP(传输层协议)数据包,每个包含5000个字节的数据部分和8个字节的UDP首部。
图中,分组1到4和分组5到8分别代表了先后发送的两个UDP数据报。
当IP层收到5008字节的UDP数据报时,要将其作为IP数据报在以太网上传输,以太网要求一次传输的长度不大于1514个字节(其中14个字节是以太网帧首部),IP被迫将UDP数据报作为多个分片发送。
每个分片都包含以太网帧首部和IP数据报首部,还包含UDP数据报(首部+数据)的一部分。
展开并观察1-4,5-8每个分组的协议框中内容,注意IP首部的标识字段、片偏移量字段、Flags等字段的内容,思考它们的作用。
2.IPv6的“隧道技术”
打开文件Traces\4_1_JoiningTheInternet\ping_ipv6.cap。
这个跟踪文件说明了IPv6如何在IPv4的基础上使用“隧道技术”,即IPv6数据报如何被封装在IPv4数据报的数据部分中。
展开协议框并观察IPv6协议数据包的内容,注意,IPv6的源地址和目的地址都远远长于IPv4地址,机器的IPv6地址是以高位96位0xfe0800000000000000005efe作为前缀后面跟上IPv4地址而形成的。
3.RIP动态路由
(1)实验环境:
图4-2
(2)没有启动RIP
路由器没有启动RIP时,每台机器只能与他直接相邻的邻居通信,不同网段的机器之间不能通信。
打开Traces\4_3_DynamicRoutingWithRIP\RIP_A\1_LAPA_NoRIP.cap文件,分析捕捉的ping分组。
电脑A只能ping通路由器1,而不能到达其它路由器。
路由器例行地向自己的接口发送“loopback”帧,并周期性地发送CDP(思科发现协议)报文。
(3)在路由器1和路由器5上启动RIP路由。
在电脑A、B、C、D上跟踪捕获的通信分组分别保存在2_LAPA_RIP_R1_R5.cap、2_LAPB_RIP_R1_R5.cap、2_LAPC_RIP_R1_R5.cap、2_LAPD_RIP_R1_R5.cap等文件中。
分别打开这四个文件,查看并分析RIP协议分组。
例如,图4-3显示了2_LAPA_RIP_R1_R5.cap的RIP通信流。
分组2表示路由器1(201.100.1.2)通告了一条到201.100.2.0网络的路由,距离度量(metric)为1,表示路由器1到达这个网络的跳数为1。
同样在Traces\4_3_DynamicRoutingWithRIP\RIP_A\2_LAPB_RIP_R1_R5.cap会看到路由器1(201.100.2.1)发布的到达201.100.1.0网络的路由。
图4-3
(4)在路由器1、2、4、5上启动RIP路由。
在电脑A、B、C、D上跟踪捕获的通信分组分别保存在Traces\4_3_DynamicRoutingWithRIP\RIP_A\3_LAPA_RIP_R1_R2_R4_R5.cap、Traces\4_3_DynamicRoutingWithRIP\RIP_A\3_LAPB_RIP_R1_R2_R4_R5.cap、Traces\4_3_DynamicRoutingWithRIP\RIP_C\3_LAPC_RIP_R1_R2_R4_R5.cap、Traces\4_3_DynamicRoutingWithRIP\RIP_D\3_LAPD_RIP_R1_R2_R4_R5.cap等文件中。
例如,在3_LAPA_RIP_R1_R2_R4_R5.cap文件中,分组4表示路由器1(201.100.1.2)通告了一条到201.100.2.0网络的路由,距离度量(metric)为1,到达201.100.3.0网络的路由距离度量为2。
(5)在5个路由器上都启动RIP路由,分别打开5_LAP*_RIP_ALL_CIRCLE.cap(*表示A、B、C、D)四个文件,分析其中的RIP协议分组。
三、思考题:
1.如果网络拓扑中路由器1和路由器4之间的网络断开,5台路由全部启动RIP,捕获的RIP分组与上面第(5)步中具有环路的RIP分组有什么不同,试打开4_LAP*_RIP_ALL_LINE.cap文件进行分析并加以比较。
2.根据对四台电脑捕获的分组的分析,试着写出网络实验拓扑图中电脑A、B、C、D以及路由器接口的IP地址。
实验五 TCP协议实验
1.了解TCP协议的基本原理
2.熟悉TCP协议数据包的格式
1.TCP连接的建立与释放
TCP连接是通过三次握手过程实现的。
(1)实验环境如图5-1所示:
图5-1
发送端使用端口2440,接收端使用端口5001
(2)打开Traces\3_1_IntroductionToTCP\tcp_pcattcp_n1.cap文件,如图5-2
图5-2
分组列表窗口中3-5分组显示了三次握手过程发送的三条报文。
分别选择这三条报文,查看协议框和原始框中的TCP协议字段内容,分析flags字段中的SYN、ACK位的0/1设置的含义,注意序号、确认号字段的值。
三次握手报文会协商报文的最大段大小,本例中TCPsegmentdata设为1460字节。
连接建立后,发送端向接收方发送8192字节的数据流。
从应用程序的角度来看,这是作为一个单位传送的。
但是,底层的网络并不能支持容纳8192个字节这样大的分组,因此TCP会将这一个逻辑传送单位分成多个报文段。
分组6显示的是第一个报文段,它包含前1460个字节,再加上20个TCP首部字节和20个IP首部字节,共1500字节,这是以太网所允许的最大字节长度,再加上14字节的以太网帧首部,共1514字节。
分组7、9、10、11也都传送1460字节的报文段,分组13传送892(8192-1460*5)字节。
分组8是接收端给发送端的确认报文,只有T