武汉科技大学
计算机科学与技术学院
计算机网络实验指导书
金瑜(编)
2010年10月
实验项目与内容提要
序号 1 实验 内 容 提 要 名 称 人数 时数 类型 实验室 每组 实验 实验 承担 备注 网络协议分析预备实验 以太网链路层帧2 格式分析 ARP地址解析协3 议分析 动态路由协议4 (RIP)分析 5 IP分组分片 熟悉网络实验室的拓扑、设备的使用以及网络协议分析实验的一般流程。 分析Ethernet V2标准规定的MAC层帧结构 分析ARP协议报文首部格式,分析ARP协议解析过程 分析动态路由RIP协议,熟悉距离向量算法计算过程 分析IP分组分片的头部的变化 理解UDP 协议的工作原理及UDP报文格式 分析TCP报文格式、TCP连接建立过程以及TCP工作原理 分析FTP报文格式和FTP协议工作过程 分析HTTP报文头部格式,理解HTTP协议工作过程 2 6 2 8 2 2 2 2 2 2 2 2 4 2 2 2 2 2 验证 设计 设计 验证 验证 验证 设计 设计 设计 网络实验室 网络实验室 网络实验室 网络实验室 网络实验室 网络实验室 网络实验室 网络实验室 网络实验室 UDP 用户数据报协议分析 TCP传输控制协7 议分析 6 8 FTP协议分析 9 HTTP协议分析
计算机网络实验指导书
实验一 网络协议分析预备实验
1.1 实验目的
熟悉网络实验室的拓扑结构、各种设备的使用以及网络实验的一般流程。
1.2 实验内容
1.2.1实验室整体规划图
武汉科技大学计算机学院网络实验室整体拓扑图如图1.1所示。在实验室中共有硬件设备8组,软件一套。其中硬件设备共分为8组RACK(注:D组正在调试中),每组共有4台路由器,2台两层交换机,2台三层交换机,1台RCMS(设备控制管理系统),8台PC机。每组的设备(除PC机外)都由RCMS统一管理。软件是协议分析仪系统(PATS),负责进行网络协议分析。
图1.1网络实验室拓扑图
网络实验室地址规划如表1.1所示。其中RACK A---RACK H中的RCMS的地址分别从192.168.100.10/24----192.168.100.80/24;而每一组内的PC机的IP地址是从本组内的RCMS的地址加x(x从1到8),如A组内的RACMS的地址为
3/47
192.168.100.10/24,则A组内的PC机的地址从
192.168.100.11/24--192.168.100.18/24。另外PATS 服务器的IP地址为192.168.100.200/24,登陆方式为:每组的用户名和密码均为:00000x(x从1到8取值),例如A组的登陆帐号为:用户名和密码均为:;例如H组的登陆帐号为:用户名和密码均为:。PATS服务器登陆方式为客户端登陆,每组的PC机上已经安装了PATS的客户端程序。所有的组内的路由器管理密码均为:ruijie。
表1.1网络实验室地址规划 实验台 RCMS-8 学生机 PATS服务器地: 192.168.100.200 RACK-A 192.168.100.10/24 192.168.100.11-18/24 用户名:00000x 密码:00000x RACK-B 192.168.100.20/24 192.168.100.21-28/24 RACK-C 192.168.100.30/24 192.168.100.31-38/24 RCMS:级别14 密码:ruijie RACK-E 192.168.100.50/24 192.168.100.51-58/24 RACK-F 192.168.100.60/24 192.168.100.61-68/24 RACK-G 192.168.100.70/24 192.168.100.71-78/24 RACK-H 192.168.100.80/24 192.168.100.81-88/24
1.2.2 实验室使用介绍 A)内网与外网的切换
内网表示每组内部的一个局域网,组内的PC机与其他组内的PC机是不能ping通的。要注意的是:这里的外网与一般意义上的外网的区别:前者指本实验室内部一个大的局域网,不同组内的PC机是可以相互ping通的;后者指的是Internet。由于每台PC机只有一个网卡,而要连内外两个局域网,所以每个学生机都配备二条线。每条线的用途为:
• 1号线,把学生机和核心华为交换机连接起来,并通过核心,TELNET到RACK。(棕色线连外网)
• 2号线,直连RACK配线架,当设备调试完成之后,便可以通过这根线进行测试实验结果(灰色线连内网)
内外网之间要进行切换时,通过切换器来切换内外网,切换器按钮长时表示切换的为外网;切换器按钮短时表示切换的为外网。
计算机网络实验指导书
B)PATS服务器登陆方式
PATS系统是一个C/S系统,PATS系统的server程序安装在PATS服务器上,而客户端程序安装在每台PC机上。如果要进行网络协议分析,必须登陆到PATS服务器上,使用PATS提供的网络数据包产生、分析等功能。 C)RCMS系统访问
要对设备(如交换机或路由器)进行配置时,需登陆到通过WEB登录到组所在的RACK。如:
访问实验台A的地址为:http://192.168.100.10:8080 访问实验台B的地址为:http://192.168.100.20:8080 访问实验台C的地址为: http://192.168.100.30:8080 访问实验台E的地址为: http://192.168.100.50:8080 访问实验台F的地址为: http://192.168.100.60:8080 访问实验台G的地址为: http://192.168.100.70:8080 访问实验台H的地址为: http://192.168.100.80:8080 1.2.3 网络协议分析实验的一般流程
现在,我们就以位于第六组(F组)内的某位同学为例,实现一个简单的连通性测试实验。
A:实验目的
测试组内的两台PC机是否相互连通。 B:实验组划分: 两人为一组。 C:实验拓扑
本实验的实验拓扑如图1.2所示。
E0/1 E0/2
PC1 192.168.100.61 PC2 192.168.100.62 255.255.255.0 255.255.255.0
图1.2 连通性验证实验拓扑图
D:实验内容:
1)按照实验拓扑图,用网线将组内的设备连接起来;
2)将网络切换到外网;配置PC的IP地址,分别为192.168.100.61和
192.168.100.62,网关都配置为:192.168.100.254;
3)PC1运行本地的PATS系统的客户端程序,登陆PATS服务器,登陆帐号
5/47
为:用户名密码均为:。
4)在外网的情况下登陆到本组的RCMS系统,对设备如路由器、交换机进
行配置;登陆方式为: http://192.168.100.60:8080(本实验不需要这一步) 5)将PC1和PC2都切换到内网,分别配置IP地址为:172.16.1.1和172.16.1.2,
网关都配置为:172.16.1.254;
6)将PC1上的PATS打开网络协议分析仪,开始捕获; 7)在PC2 上运行ping 172.16.1.1命令,验证两机是否连通; 8)看PC1上的网络协议分析仪上捕获的报文。
计算机网络实验指导书
实验二 以太网链路层帧格式分析
2.1实验目的
分析Ethernet V2标准规定的MAC层帧结构,了解IEEE802.3标准规定的MAC层帧结构和TCP/IP的主要协议和协议的层次结构。
2.2实验内容
通过对截获帧进行分析,分析和验证Ethernet V2标准和IEEE802.3标准规定的MAC层帧结构,初步了解TCP/IP的主要协议和协议的层次结构。
2.3实验环境
本实验使用了交换机1台,PC机两台,实验组网如下图所示。
E0/1 E0/2
PC1 172.16.1.239 PC2 172.16.1.251 255.255.255.0 255.255.255.0
图2.1以太网链路层帧格式分析实验组网图
2.4 实验步骤
步骤1 按图2.1所示连接好设备,正确配置PC1和PC2的IP地址。将交换机的配置清空。
步骤2 在PC1和PC2上Windows命令行窗口,执行命令:services.msc,找到Messenger服务,并启动它;或运行net start messenger命令。
步骤3 在PC1和PC2上运行Ethereal截获报文,然后进入PC1的Windows命令行窗口,执行如下命令:
net send 172.16.1.251 hello
这是PC1向PC2发送消息的命令,等到PCB显示器上收到消息后,终止截获报文,PCB和PCA的操作与上面完全一样。 步骤4 对截获的报文进行分析:
列出截获的报文的协议种类,各属于哪种网络?
7/47
找到发送消息的报文并进行分析,研究主窗口中的数据报文列表窗口和协议树窗口信息,填写表2.1。
表2.1 报文分析 此报文类型 此报文基本信息(数据报文列表窗口中Information项内容) EthernetⅡ协议树中 Source字段值 Destination字段值 Internet Protocol协议树中 Source字段值 Destination字段值 Transmission Control Protocol协议树中 应用层协议树 Source Port字段值 Destination Port字段值 协议名称 包含Hello的字段名 查找并分析一个基于802.3的报文,体会802.3MAC帧的结构。 在网络课程学习中,802.3和EthernetⅡ规定了以太网MAC层的报文格式分为7字节的前导符、1字节的起始符、6字节的目的MAC地址、6字节的源MAC地址、2字节的类型、数据字段和4字节的数据校验字段。对于选中的报文,缺少哪些字段,为什么?
步骤5 (选做)在PC1和PC2上运行Ethereal截获报文,然后在PC1上单击“开始/运行”,键入:\\\\172.16.1.251,单击“确认”。
这个操作是在PC1上查看PC2的共享目录和文件,在PC1上成功显示后,终止截获报文。
查看和分析TCP/IP协议族中的协议,初步体会主要的协议和协议的结构。
2.5 实验总结
通过实验,对Ethernet V2标准规定的MAC层报文结构进行了详细分析,了解TCP/IP的主要协议和协议的层次结构,验证了IEEE802.3标准规定的MAC层报文结构。
计算机网络实验指导书
实验三 ARP 地址解析协议分析实验
3.1实验目的
1、掌握ARP 协议的作用和格式。 2、理解IP 地址与MAC 地址的对应关系。 3、掌握ARP 命令。
3.2实验环境
本实验使用3台PC机,一台交换机和一台路由器, 其中PC1和PC2 位于同一个网段,而PC3位于不同网段。设备连接的拓扑图如图2.1所示。
图2.1 ARP地址解析协议分析实验拓扑图
3.3实验内容
1.分析同一网段的ARP地址解析过程; 2.分析同一网段的ARP地址解析过程 3.学习ARP分组的格式。
9/47
3.4实验步骤
3.4.1 ARP分组格式
在 ARP 请求报文中,各字段含义与值如下: 硬件类型:0001,表示硬件类型为以太网。 协议类型:0800,表示需映射地址为IP 地址。 硬件长度:6,表示硬件地址长度为6 字节。 协议长度:4,表示协议地址长度为4 字节。
操作码:1,表示此ARP 报文为ARP 请求报文;2,表示此ARP 报文为ARP 应答报文。
源物理地址:6个字节 ,发送方的MAC地址 源 IP 地址: 4个字节,发送方的IP地址 目标物理地址:6个字节,接收方的MAC地址 目标 IP 地址:4个字节,接收方的IP地址
3.4.2设定实验环境
1、参照实验拓扑连接网络拓扑; 2、配置PC 机及路由器IP 地址; RA#enable 14 PASSWORD:ruijie RA#conf
RA(config)#interface FastEthernet 0/0
RA(config-if)#ip address 172.16.1.1 255.255.255.0 RA(config-if)#exit
RA(config)#interface FastEthernet 0/1
RA(config-if)#ip address 172.16.2.1 255.255.255.0 RA(config-if)#exit RA(config)#exit RA#
3.4.3 同一网段的ARP协议分析
步骤 2在PC1、PC2的命令行窗口中执行以下命令: C:\\>arp –a
结果是:__________________
如果ARP缓存非空,可以执行arp –d命令,清空ARP缓存。
步骤 3 在PC2 中开启协议分析仪进行数据包捕获;在PC1 中用命令ping172.16.1.253。对PC2中捕获到的ARP 分组进行分析。捕获的 ARP 请求报
文如下图所示
计算机网络实验指导书
图 2.2 ARP 请求报文
捕获的 ARP 应答报文如下图所示
图 2.3 ARP 响应报文
步骤 4 在PC1、PC2的命令行窗口中执行以下命令: C:\\>arp –a
结果是:__________________ 步骤 5 分析ARP分组,完成下列工作:
1)分析ARP报文结构:选中第一个ARP请求报文,将字段值填入实验报告中。
2)在所有报文中ARP报文中ARP协议树的Opcode字段有两个取值1、2,两个取值分别表达什么信息?
3)选中第一条ARP请求报文和第一条ARP应答报文,将ARP请求报文和ARP应答报文中的字段信息填入表2.1。
表2.1 ARP请求报文和ARP应答报文的字段信息 字段项 链路层Destination项 链路层Source项 网络层Sender MAC Address 网络层Sender IP Address 网络层Target MAC Address 网络层Target IP Address ARP请求数据报文 ARP应答数据报文
步骤 7 分析ARP分组,完成下列工作:
11/47
1) 简述ARP Cache的作用。
2) 写出ARP协议在同一网段内的解析过程。 3.4.4 不同网段的ARP协议分析
步骤 1在PC2 中开启协议分析仪进行数据包捕获;在PC1 中用命令ping172.16.2.2。对PC2中捕获到的ARP 分组进行分析。 步骤 2 这时,在PC1的命令行窗口中执行arp-a命令: C:\\>arp –a
结果是:__________________
1) 步骤 3选中第一条ARP请求报文和第一条ARP应答报文,将ARP请求报文
和ARP应答报文中的字段信息填入表6.2。
表6.2 ARP请求报文和ARP应答报文的字段信息 字段项 链路层Destination项 链路层Source项 网络层Sender MAC Address 网络层Sender IP Address 网络层Target MAC Address 网络层Target IP Address ARP请求数据报文 ARP应答数据报文
步骤 5 比较与体会
1)写出ARP协议在不同网段间解析的过程。比较ARP协议在相同网段内解析的过程,有何异同点?
2)联系实验2,体会报文在链路层和网络层进行传播的过程。
3.5 实验总结
本实验分析了ARP协议在同一网段和不同网段间主机上通信时执行过程,分析了ARP协议报文结构,以便学生理解ARP缓存、计算机默认网关等的作用。
计算机网络实验指导书
实验四 动态路由协议(RIP)分析
4.1 实验目的
通过分析距离矢量算法的计算过程,理解距离矢量路由协议的工作原理。掌握动态路由RIP配置。察看路由表并理解相关字段含义。
4.2 实验环境
在本实验中需要4 台路由、1 台交换机、1 台RG-PATS 网络协议分析仪。四台路由器运行RIP 路由协议,使用协议分析仪采集数据包,对采集到的数据进行分析。将所有的路由器都接入到交换机上。具体IP 分配如表4.1: 设备 RSR-A RSR-A RSR-A RSR-B RSR-B RSR-B RSR-C RSR-C RSR-B RSR-B 接口 FA0/0 FA0/1 LO0 FA0/0 FA0/1 LO0 FA0/0 LO0 FA0/0 LO0 IP地址 192.168.1.1/24 192.168.3.1/24 192.168.10.1/24 192.168.1.2/24 192.168.2.1/24 192.168.10.1/24 192.168.2.2/24 192.168.30.1/24 192.168.3.2/24 192.168.40.1/24 连接到交换 FA0/2 FA0/4 不需要连 FA0/8 FA0/6 不需要连 FA0/10 不需要连 FA0/12 不需要连 设备连接如图3.1所示。
图3.1动态路由协议(RIP)分析实验拓扑图
13/47
4.3 实验内容
1、学习RIP 协议的报文格式;
2、掌握RIP 协议的工作原理,了解RIP1 和RIP2 的区别; 3、了解RIP 协议的缺陷。
4.4 实验步骤
步骤一:设定实验环境
1、在路由器上配置RIPv1 路由协议
RA#configure terminal
RA(config)# interface FastEthernet 0/0
RA(config-if)#ip address 192.168.1.1 255.255.255.0 RA(config)# interface FastEthernet 0/1
RA(config-if)#ip address 192.168.3.1 255.255.255.0 RA(config)# interface Loopback 0
RA(config-if)#ip address 192.168.10.1 255.255.255.0 RA#configure terminal RA(config)#router rip
RA(config-router)#network 192.168.1.0 RA(config-router)#network 192.168.10.0 RA(config-router)#network 192.168.3.0 RA(config-router)#version 2 RA(config-router)#no auto-summary
RB#configure terminal
RB(config)# interface FastEthernet 0/0
RB(config-if)#ip address 192.168.1.2 255.255.255.0 RB(config)# interface Loopback 0
RB(config-if)#ip address 192.168.20.1 255.255.255.0 RB#configure terminal
RB(config)# interface FastEthernet 0/1
RB(config-if)#ip address 192.168.2.1 255.255.255.0 RB#configure terminal
计算机网络实验指导书
RB(config)#router rip
RB(config-router)#network 192.168.1.0 RB(config-router)#network 192.168.2.0 RB(config-router)#network 192.168.20.0 RB(config-router)#version 2 RB(config-router)#no auto-summary
RC#configure terminal
RC(config)# interface FastEthernet 0/0
RC(config-if)#ip address 192.168.2.2 255.255.255.0 RC(config)# interface Loopback 0
RC(config-if)#ip address 192.168.30.1 255.255.255.0 RC#configure terminal RC(config)#router rip
RC(config-router)#network 192.168.2.0 RC(config-router)#network 192.168.30.0 RC(config-router)#version 2 RC(config-router)#no auto-summary
RD#configure terminal
RD(config)# interface FastEthernet 0/0
RD(config-if)#ip address 192.168.3.2 255.255.255.0 RD(config)# interface Loopback 0
RD(config-if)#ip address 192.168.40.1 255.255.255.0 RD#configure terminal RD(config)#router rip
RD(config-router)#network 192.168.3.0 RD(config-router)#network 192.168.40.0 RD(config-router)#version 2 RD(config-router)#no auto-summary
步骤二:网络配置测试 查看RIP路由协议的配置
A)显示路由器配置
15/47
在路由器RSRA上使用show running-config命令显示路由器配置。
图3.2 RA上的配置
B)查看路由表信息
使用show ip route命令查看各个路由的路由表。下图是RA的路由表。
计算机网络实验指导书
图3.3 RA上的路由表
C)查看路由公告信息,下面是路由器RA的路由公告信息
图3.4 RA上的路由公告信息
从以上公告中的如下信息需要说明:
Sending updates every 30 seconds, next due in 19 seconds
表示RIP每隔30秒发布一次路由信息,下次发布在10秒后进行。
D)查看路由更信息
使用命令debug ip rip命令查看路由更新信息,以下是RA的路由更新信息。
17/47
图3.5 RA上的路由更新信息
步骤三:使用RG-PATS 网络协议分析仪采集RIP 报文
在路由器上配置完成路由协议后,打开RG-PATS 网络协议分析仪采集RIP 的报文,因为距离矢量协议定期直接传送各自路由表的所有信息给邻居(RIP 协议默认是30 秒),所以不要低于30 秒的采集时间,如下图所示:
计算机网络实验指导书
图3.6 PATS上采集的RIP报文
步骤四:分析距离矢量算法
实验拓扑的真实环境如下图所示:
路由器RD 连接192.168.40.0 和192.168.3.0 路由器RA 连接192.168.3.0.和192.168.1.0 路由器RB 连接192.168.1.0 和192.168.2.0 路由器RC 连接192.168.2.0 和192.168.30.0
计算路由器RD 到路由器RC 的距离,其公式为M(RD,RC)=min(M(RD,RA)+M(RA,RC)。
图3.7 实验拓扑图
路由器RD 发现自己直接连接到网络192.169.40.0 和网络192.168.3.0,因此,它将自己的路由表中添加一条记录,说明自己能以开销1 到达网络192.168.40.0,
19/47
我们可以表示为[192.168.40.0,1],有关网络192.168.40.0 的信息将通过下面一系列步骤从路由器RD 传到路由器RC。如下图使用RG-PATS 网络协议分析仪采集RIP 报文:
图3.8 PATS上采集的RIP报文(1)
路由器RD 在它所连接的每个网络上发送一个包含记录[192.168.40.0,1]的RIP报文,由于在网络192.168.40.0 上没有其它路由器,因此那里什么也没有发生,但是路由器RA 在网络192.168.3.0 上,所以它收到了这一信息。如下图在路由器RA 上使用debug ip rip 命令收集到的信息。路由器 RA 将会检查它们各自的路由表,看看它们是否已经有了关于网络192.168.40.0 的记录,如果没有,则它会创建一条选路表记录[192.168.40.0,2],意思是“我可以通过路由器RD,以2 跳的开销到达网络192.168.40.0”
路由器RA 在它所连接的网络(192.168.3.0,192.168.1.0)上发送路由表,路由表中包含记录[192.168.40.0,2],路由器RD 将在网络上收到该报文,但它会忽略该报文,因为这它知道自己可以直接到达网络192.168.40.0(开销为1,小于2),但是路由器RB 将在网络上收到这个报文。如下图使用RG-PATS 网络协议分析仪采集RIP 报文:
计算机网络实验指导书
图3.9 PATS上采集的RIP报文(2)
路由器RB 将会检查自己的路由表,发现没有关于网络192.168.40.0 的记录,因此它将会添加针对路由器RA 的记录[192.168.40.0,3]。如下图在路由器RB上使用debug ip rip 命令收集到的信息。路由器B 将会在它所连接的网络(192.168.1.0,192.168.2.0)上发送路由表,选路中包含记录[192.168.40.0,3],路由器RA 将在网络上收到该报文,但它会忽略该报文,因为这它知道自己可以直接到达网络192.168.40.0(开销为2,小于3),但是路由器RC 将在网络上收到这个报文。如下图使用RG-PATS 网络协议分析仪采集RIP 报文:
21/47
图3.10 PATS上采集的RIP报文(3)
路由器RC 将会检查自己的路由表,发现没有关于网络192.168.40.0 的记录,因此它将会添加针对路由器RA 的记录[192.168.40.0,4]。
4.5 实验总结
本实验包括了动态路由配置以及分析距离矢量路由算法的计算过程。通过本实验,可以让学生对路由通告、路由更新以及路由中的距离计算有一个更深入的体会。
计算机网络实验指导书
实验五 IP分组分片实验
5.1 实验目的
1、理解IP 分片过程;
2、掌握IP 分片是数据报头的变化。
5.2 实验环境
本次实验使用了1台路由器,一台交换机,2台PC机,其实验拓扑如下图所示。
图5.1 IP分组分片实验拓扑图
5.3 实验内容
1、掌握IP 数据包分片过程。 2、掌握IP 分片报头格式。
5.4 实验步骤
步骤一:设定实验环境
23/47
1、配置主机IP 地址。
2、按照实验拓扑连接网络拓扑。 步骤二:发送大包进行捕获分析
1、在PC1 上用命令ping 172.16.1.251 –l 2000 发送2000 字节的大包到PC2。 2、在PC2 上开启协议分析软件,捕获数据包并进行分析,如下图所示。
图5.2 IP分组第一个分片
计算机网络实验指导书
图5.2 IP分组第二个分片
从上图是从PC2 上连续捕获到的两个报文。从报文可以可以看到其中以太网帧头部分均为相同源目的MAC 地址,其他IP 报头字段,除和分片有关的标识、标志、分段偏移以及校验和外,其他字段都相同。从协议分析仪中可以看到,捕获报文中:
标识字段:0xE2,标识字段用于和IP 地址一起唯一标识一个IP 包,因此,属于同一个IP 包的分片具有相同的标识字段。
标志:长度为3 位,第一位保留为以后用,第二位为1 时,表示此数据包不可分片,第二位为0 时表示此数据包可以分片。第三位标志此分片是否为最后一个分片,为1 时表示这个数据包不是最后的分片,如为0 表示此数据包为最后的分片。所以在第一个分片中,此位为1,在第二个分片即最后一个分片中,此位为0。
分段偏移:长度为13 位,表示这个分片在原数据包中的相对位置,在第一个数据片中的此字段为0,在第二个数据包中,此分片为B9,转化为10 进制数字为185,表示的偏移位置是185*8=1480,表示第二个分片偏移量1480 字节,即第一个分片长度为1480字节。在数据目的端,可以根据这三个字段对数据包进行重组。
5.5 实验总结
本实验分析了IP分组分片以及对IP分组首部进行更改的过程。结合实验过程中的结果,请同学们在实验报告中回答如下问题:
1、在什么情况下会出现出现数据包分片?
2、数据包进行分片时,第一个数据包的大小是多少,和链路类型是什么关系?
25/47
实验六 UDP 用户数据报协议分析
6.1实验目的
1、理解UDP 协议的工作原理及工作过程。 2、掌握UDP 的数据包格式。 3、了解基本的端口分配。
6.2实验环境
本实验需要使用交换机1台,PC2台。实验组网如下图所示
E0/1 E0/2
PC1 172.16.1.239 PC2 172.16.1.251 255.255.255.0 255.255.255.0
图6.1UDP协议分析实验组网
6.3 实验内容
1、学习UDP 协议的通信过程。 2、学习分析UDP 协议报头字段含义。
6.4 实验步骤
步骤一:设定实验环境
1、配置主机IP 和路由器IP 地址。 2、按照实验拓扑连接网络拓扑。
步骤二:编辑并发送数据包,分析UDP 报头各字段含义 1、在PC1 中开启协议编辑软件,编辑UDP 数据报。 2、在UDP 报文中各字段填入正确的值,如下图所示。
计算机网络实验指导书
图6.2 创造的UDP报文
在以太网封装中:
目的物理地址:50-78-4C-43-81-61,为PC2 的物理地址。 源物理地址:50-78-4C-43-81-61,为源端PC1 的物理地址。 类型:0800,上层协议为IP。 在IP封装中: 版本信息:4;
IP 头长度:5,表示IP 头长度为4 字节的5 倍,共20 字节; 服务类型:00,不使用服务类型;
总长度:总长度包含IP 包中的数据和IP 报头长度; 标识:0123,标识字段可自由填写; 标识:0,可进行分片; 分段偏移:0,未进行分片; 生存时间:128,默认值;
校验和:其他字段填完后,通过工具栏上的校验和工具进行计算; 发送 IP 地址:172.16.1.239; 目标 IP 地址:172.16.1.251。 UDP 封装:
端口号:1206,源端口随意填写; 目的端口号:1037,目的端口随意填写;
27/47
UDP 总长度:总长度包含UDP 数据报头和UDP 中数据的长度; 校验和:UDP 校验和包括UDP 数据报头、数据和伪报头计算出的校验和。 3、在PC2 中开启协议分析软件,进行数据包捕获分析。 4、在PC1 中将编辑好的UDP 报文发送出去。 5、在PC2 上捕获的报文如下图所示。
图6.3 截获的UDP报文
从上图中可以看到,在目的端PC2 捕获到的UDP 报文与发送端相同。
6.5 实验总结
通过实验,对UDP报文结构进行了详细分析,了解UDP协议的工作原理以及端口号的使用。做完实验后,请同学们在实验报告中回答以下问题:
1、为什么UDP 报文的校验和要包含伪首部? 2、UDP 协议本身能否确认数据发送的先后顺序?
计算机网络实验指导书
实验七 TCP 传输控制协议分析
6.1 实验目的
1、掌握TCP 协议的报文形式。 2、掌握TCP 连接的建立和释放过程。 3、掌握TCP 数据传输中编号与确认的过程。 4、理解TCP 重传机制。
7.2 实验内容
1、学习TCP 协议的通信过程。 2、学习分析TCP 协议报头字段含义。 3、分析TCP工作原理
7.3 实验环境
本实验使用了PC机两台,三层交换机1台。实验拓扑如下图所示。
图7.1 TCP协议分析实验组网
7.4 实验步骤
步骤一:设定实验环境
29/47
1、配置主机IP IP 地址。 2、按照实验拓扑连接网络拓扑。
步骤二:查看分析TCP 三次握手 1、在PC2 中安装FTP 服务端程序。
2、在PC1 中开启协议分析软件,进行数据包抓包。
3、在PC1 中的协议分析软件中利用工具栏中的TCP 连接工具对PC2 发起连接,如下图所示。
图7.2 TCP连接建立工具
在 IP 地址中填入PC2 地址172.16.1.253,端口填入FTP 服务端口21,然后点击连接。分析 PC2 中捕获到的三次握手报文。
计算机网络实验指导书
图7.3 TCP连接建立三次握手第一次连接
查看上图 TCP 报文中的报头部分:
源端口:1084,由于发起连接的是客户端,因此源端口为TCP 程序随机出的短暂端口,在此连接中是1627。
目的端口:21,由于是向FTP 服务发起连接,因此目的端口为FTP 服务的熟知端口,为21。
序列号:0XF6,此序列号为TCP 程序随机出的字节编号。 确认序号:0X,第一个发出的连接请求中,确认号为0。
TCP 首部长度:7,TCP 首部长度包括TCP 报头长度和数据长度,这个字段表示TCP 报头长度,其中20 字节为标准TCP 报头长度,另有8 字节选项字段长度,选项字段中和服务器端协商了最大报文段长度。
标识位:SYN 位置1,只有TCP 连接中三次握手第一次连接的报文段中SYN 位置1。
窗口大小:65535,默认大小。
31/47
校验和:0X0AB0,校验和是对TCP 报头、数据和伪首部进行计算得出的校验和。
紧急指针:0,当紧急标识位置1 时,此16 位字段才有效,说明此时报文段中包含紧急数据,紧急数据到达接受端后可以不按次序优先被接受程序处理。
TCP 三次握手过程中第二个报文如下图所示。
图7.4 TCP连接建立三次握手第二次连接
查看上图中的TCP 报头:
源端口:21,服务端的源端口为相关服务的熟知端口,FTP 服务端口为TCP21。
目的端口:1084,为客户端源端口复制过来得到。 序列号:0X08C50903,为服务端随机计算出的字节序号。
确认序列号:0XF7,确认序列号的功能是对发送端数据进行确认,为发送端序号0XF6+1 得到。
TCP 首部长度:7,包含20 字节标准TCP 首部长度和8 字节选项长度。 标志位:SYN 位和ACK 位置1,表示此报文为TCP 三次握手的第二个报文。 窗口大小:65535,为默认大小。
计算机网络实验指导书
校验和:0XF8D6,TCP 校验和为TCP 首部、数据和伪首部三部分计算得出校验和。
紧急指针:0。
TCP 三次握手第三个报文如下图所示。
图7.5 TCP连接建立三次握手第三次连接
查看 TCP 三次握手第三个报文首部
源端口:1084,同一个连接发送的数据,源端口保持不变。
目的端口:21,对同一个服务发送的数据段中的目的端口保持不变。 序列号:0XF7,为前一个数据段序列号加1。
确认序号:0X2346F3FF,由于此报文是对服务端发回的连接应答消息的确认,因
此是上一个报文序号0X08C50903 加1。
TCP 首部长度:5,标准TCP 首部长度为5*4 字节=20 字节。 标识位:TCP 三次握手第三个报文段ACK 位置1。 窗口大小:65535,默认窗口大小。
校验和:0X259B,为TCP 首部、数据、伪首部计算得出的校验和。
33/47
紧急指针:0,未使用紧急指针。
通过上面的TCP 三次握手的报文,可以很清楚的分析出在TCP 连接建立时,客户端和服务端所进行的工作。三次报文的重要区别在于标识位的不同,第一个报文,SYN 位置1,第二个报文是对第一个报文的确认,SYN 位置1,ACK 位置1,第三个报文是确认报文,ACK 位置1。
步骤三:查看分析TCP 确认机制
1、在PC2 中开启协议分析软件进行数据包捕获。
2、在PC1 协议分析软件工具栏中的TCP 连接工具中连接到PC2 的FTP 服务器并发送USER 和PASS命令(USER comnet,PASS ,[comnet, ]为登陆FTP服务器的帐号),如下图所示。
图7.6 发送FTP命令
3、分析捕获到的FTP 数据包,如下图所示。
计算机网络实验指导书
图7.7 截获的TCP数据报文
分析上图中TCP 数据段首部,可以看到序列号为0X7C72C044,数据部分长度为37 字节(通过IP分组首部的总长度字段为77可以推导出)。再查看从PC1返回的确认数据段,如下图所示。
35/47
图7.8 截获的TCP确认报文
查看上图中TCP 数据段的报头部分, 确认序号为0X7C72C069 , 因为0X7C72C044+37=0X7C72C069,因此,此确认序号的含义为上一个发送的TCP 数据段信息全部处理,发送端可以发送0X7C72C069 以后的数据,此即是TCP 确认机制的过程。
步骤四:查看TCP 连接超时重传过程
1、将PC2的FTP服务器停止服务,确保PC2 不会对PC1 发送的TCP 连接请求进行回应。
2、在PC2 中开启协议分析软件,进行数据包捕获。
3、在PC1 中用工具栏中的TCP 连接工具对PC2 的FTP 服务发起连接。 4、在PC1 中分析捕获的TCP 数据段,如下图所示。
计算机网络实验指导书
图7.9 超时重传的TCP报文
从上图中可以看到,在发出SYN 位置1 的TCP 连接请求没有得到相应后,连接工具又发送了第二个相同的SYN 位置1 的TCP 连接请求,进行重传,确定数据段为重传数据段可以通过TCP 首部中的序列号确认,例如本例中,重传数据段中的序列号均为0XDBE11BE9。
7.5 实验总结
本实验分析了TCP报文格式、TCP连接建立过程以及TCP的工作原理。请同学们在实验报告中思考如下问题:
1、TCP 在建立连接时为什么需要3 次握手,而断开连接是需要4 次握手? 2、请举例说明日常应用中,哪些应用在传输层采用TCP,哪些应用在传输层采用UDP?
3、当出现超时没有收到确认报文时,TCP 连接默认会进行几次重传?
37/47
实验八 FTP 协议分析
8.1 实验目的
1、理解FTP 协议的工作原理; 2、了解FTP 协议的常用命令;
3、了解应用层协议与传输层协议的关系。
8.2 实验内容
本实验包括学习FTP 协议的工作原理,学习FTP 的使用方法,了解FTP 的常用命令,了解FTP 的工作过程以及理解FTP 的主动模式和被动模式。
8.3 实验环境
本实验采用两台PC机,一台作为FTP服务器,另一台作为FTP客户端,两台PC机通过一台三层交换机相连。下图给出了本实验的组网方式。
图8.1 FTP协议分析实验组网
8.4 实验步骤
步骤一:登录FTP 服务器,捕获数据报文并进行分析
1、确认FTP 服务器工作正常,记录FTP 服务器的IP 地址:172.16.1.235/24,客户端的IP地址为172.16.1.251/24,FTP服务器的登陆帐号为:用户名:comnet,密码:。
2、在客户机上启动网络协议分析仪,设置过滤条件并进行数据捕获。在工具栏点击“过滤器”按钮,会弹出“设置&过滤器”对话框,在“过滤器类型”中选择“类型过滤器”,类型值中选择“ftp 协议”,点击“设置参数”按钮后“确定”,然后启动协议分析仪进行捕获。
计算机网络实验指导书
3、登录FTP 服务器,在命令行提示符下运行:ftp 192.168.1.10 ,即可建立与FTP服务器的连接,按照提示输入账号(comnet),密码(),便进入了FTP 的命令行界面,此时运行FTP 的命令dir、get、quit 等,从中可以看到FTP 的反馈信息,以及FTP 服务器的文件内容:
图8.2 FTP客户端登陆FTP服务器
4、暂停协议分析器的捕获,可以通过捕获的数据报文看到刚才的交互过程中,FTP 客户端和服务器端的工作详细情况, FTP 报文的格式和命令的使用,以及服务器端的响应代码。如图8.3 中就可以看到FTP 的USER 命令,及其参数comnet,也就是用户名;而图8.4 中则是PASS 命令和密码。
39/47
图8.3 FTP中的USER命令
图8.4 FTP中的PASS命令
计算机网络实验指导书
图8.5 FTP中的TCP控制连接建立过程
图8.6 在TCP控制连接中协商工作方式
41/47
图8.7 在TCP控制连接中发送LIST命令
图8.8 建立TCP数据连接
计算机网络实验指导书
图8.9 在TCP数据连接上传送数据
图8.10 TCP数据连接结束
43/47
在所截获的FTP报文中,我们可以清楚地看出FTP工作的流程:
1) FTP客户端和FTP服务器建立TCP控制连接,使用端口1145—21(见图片8.5); 2) FTP客户端以帐号(comnet,)登陆FTP服务器。(见图片8.3-8.4); 3) 双方协商工作方式,本文是以主动模式工作,即发送port命令(见图片8.6); 4) 客户端请求查看远程目录(见图片8.7);
5) 双方建立TCP数据连接,使用端口(1147--20)(见图片8.8);
6) 服务器利用TCP数据连接给客户端传送数据,使用端口(1147--20)(见图片8.9); 7) 数据传输结束后,断掉TCP数据连接(见图片8.10)。
8.5 实验总结
本实验分析了FTP的工作过程,工作方式,以及了解了部分FTP命令。做完本实验后,请同学们思考问题:在ACTIVE 模式的FTP 中,服务器端为何使用20 和21 两个端口,其作用分别是什么?客户端与这两个端口建立起的连接分别是谁(客户端还是服务器端)主动发起的?
计算机网络实验指导书
实验九 HTTP协议分析
9.1 实验目的
分析HTTP报文头部格式,理解HTTP协议工作过程。
9.2 实验内容
使不同分组的计算机能同时上网,并截获HTTP报文,分析HTTP报文头部格式,学习HTTP协议工作过程。
9.3 实验环境和分组
1.计算机1台。 2.每1名同学为一组。 3.实验组网如图9.1所示。 Internet
PCA 192.168.1.22 HTPServer www.google.cn 255.255.255.0
图9.1 HTTP协议分析实验组网图示
9.4 实验步骤
步骤 1 清空PCA上的Web浏览器的高速缓存。 对于 Internet Explorer 4.x 及更高版本
1)在 Internet Explorer 菜单条中单击“工具” 2)单击“Internet 选项...” 3)单击“常规”选项卡
4)单击“Internet 临时文件”区域内的“删除文件”按钮 5)如果仍然存在问题,请重复以上步骤并重新启动计算机。 对于 Netscape 4.x 及更高版本
1)在 Netscape 菜单条中单击“编辑” 2)在“编辑”菜单中单击“首选设置...”
45/47
3)单击三角符号展开“高级”菜单 4)单击“高速缓存”
5)单击“清除内存高速缓存”和“清除磁盘高速缓存”按钮 对于 Mozilla 1.x 及更高版本
1)在 Mozilla 菜单条中单击“编辑” 2)在“编辑”菜单中单击“首选设置...” 3)单击加号展开“高级”菜单 4)单击“高速缓存” 5)单击“清除高速缓存”按钮 步骤 2 清空PCA上的DNS高速缓存。
在Windows XP机器上,可在命令行提示行输入如下命令: ipconfig flushdns
步骤 3 在PCA上运行Ethereal,进行截获报文。
步骤 4 在PCA上运行打开浏览器,访问www.google.cn页面,具体操作为打开网页,浏览,关掉网页。
步骤 5 停止Ethereal的报文截获,结果命令为http-学号,并上传到FTP服务器的“网络实验/应用层实验”目录下。 步骤 6 分析截获的报文,回答以下问题:
1)分析HTTP协议报文:从众多HTTP报文中选择两条报文,一条是HTTP请求报文(即get报文),另一条是HTTP应答报文,将报文信息填入表9.1。
表9.1 HTTP报文信息 No. Source Destination Info.
2)分析HTTP协议请求报文格式,分析1)中选择的HTTP请求报文(即get报文)中各自段的实际值。
3)分析HTTP协议应答报文格式,分析1)中选择的HTTP应答报文中各自段的实际值。
4)综合分析截获的数据报文,概括HTTP协议的工作过程(从在浏览器上输入网址,到出现网页,关闭网页),将结果填入表9.2。
表9.2 综合分析HTTP报文 步骤 DNS解析过程 TCP连接的建立过程 HTTP的文件传输过程 所包括的报文序号 主要完成的功能(目的) 计算机网络实验指导书
TCP连接释放过程 9.5 实验总结
通过在上网过程中截获报文,分析HTTP协议的报文格式和工作过程。
47/47
因篇幅问题不能全部显示,请点此查看更多更全内容