北邮 计算机网络实验 网络层数据分组捕获.doc

上传人:PIYPING 文档编号:10982641 上传时间:2021-06-15 格式:DOC 页数:17 大小:1.49MB
返回 下载 相关 举报
北邮 计算机网络实验 网络层数据分组捕获.doc_第1页
第1页 / 共17页
北邮 计算机网络实验 网络层数据分组捕获.doc_第2页
第2页 / 共17页
北邮 计算机网络实验 网络层数据分组捕获.doc_第3页
第3页 / 共17页
北邮 计算机网络实验 网络层数据分组捕获.doc_第4页
第4页 / 共17页
北邮 计算机网络实验 网络层数据分组捕获.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《北邮 计算机网络实验 网络层数据分组捕获.doc》由会员分享,可在线阅读,更多相关《北邮 计算机网络实验 网络层数据分组捕获.doc(17页珍藏版)》请在三一文库上搜索。

1、 计算机网络课程设计实验二:网络层数据分组的捕获和解析 1、 实验类别协议分析型2、 实验内容和实验目的本次实验内容:1) 捕获在连接Internet过程中产生的网络层分组:DHCP分组,ARP分组,IP数据分组,ICMP分组。2) 分析各种分组的格式,说明各种分组在建立网络连接过程中的作用。3) 分析IP数据分组分片的结构实验目的:通过本次实验了解计算机上网的工作过程,学习各种网络层分组的格式及其作用,理解长度大于1500字节IP数据组分片传输的结构。4)分析TCP建立连接,拆除连接和数据通信的流程。3、 实验学时4学时4、 实验组人数1人5、 实验设备环境1台装有Windows XP操作系

2、统的pc机,能够连接到Internet,并安装WireShark 软件。6、 学习难点重点分析网络层分组的格式,掌握各种分组在网络通信中的应用,了解整个上网的工作过程。发送ICMP分组,并分析其结构和功能。制作长度大于1500字节的IP数据分组,发送并分析其分片传输的过程。7、 实验步骤1、启动计算机,连接网络确保能够上网,安装WireShark软件。2、第一步:开启WirkShark监控,设置捕获过滤器,仅捕获UDP报文Capture =Interfrace=选中所用网卡=点击Start第二步:设置WirkShark显示过滤器,在工作画面Filter设置udp.port=68,这样在捕获的报

3、文中,仅显示UDP端口号68的报文(DHCP报文)第三步:在DOS窗口执行命令ipconfig/release先释放已经申请的IP地址,再执行ipconfig/renew,就可以在WireShark上看到DHCP的四次握手获得IP地址,缺省路由DNS等参数的过程。第四步:重新设置WireShark的捕获选项和显示选项(这些选项的设置方法可以参照软件自带手册)。执行一个ping命令,观察ARP和PING命令的执行过程。关于捕获过滤器的手册:Help=Contents,找到4.9节:Filtering while capturing关于显示过滤器的手册:Help=Contents,找到6.3节:F

4、iltering packets while viewing3、分析数据分组的分片传输过程制作大于8000字节的IP数据分组并发送,捕获后分析其分片传输的分组结构。使用Windows中ping命令的-l选项,例如:ping -l 8000 192.168.0.14、分析TCP通信过程WireShark的Filter项 填为tcp.port=21 (仅观察FTP的TCP通信,FTP端口号为21)。捕获所有下面通信过程的TCP报文进行分析。1) 观察TCP建立连接的三次握手和粗暴方式拆除连接的流程。执行命令ftp 连接建立后直接按下Ctrl-C中止程序运行。2) 观察TCP建立连接的三次握手,数据

5、通信和优雅方式拆除连接的流程。执行命令ftp 用户名输入anonymous口令输入ab执行成功后输入命令bye3) (选作)执行下面的操作,观察TCP连接断开的流程与2)有何区别。执行命令ftp 用户名输入anonymous口令输入ab执行成功后输入命令bye8、 实验分析 捕获ICMP 协议数据1. 运行 ping 命令(例如:c ping 192.168.0.1),远程主机地址可以是本机地址、网关路由器地址,也可以是域名(如)。将捕获到的数据保存为文件。2. 使用 Windows 中ping 命令的-l 选项(例如:cping -l 8000 192.168.0.1),制作大于8000 字

6、节的IP 包并发送,捕获后分析其分段传输的包结构。捕获 DHCP 协议数据1. 使用 ipconfig 命令释放计算机的IP 地址(cipconfig -release);2. 使用 ipconfig 命令重新申请IP 地址(cipconfig -renew)。此时 wireshark 窗口中可以捕获到完整的DHCP 地址分配的流程,将捕获到的数据保存为文件。捕获 ARP 协议数据采用与捕获 DHCP 协议数据相同的方法释放IP 地址并重新申请,在wireshark 窗口中可以捕获到ARP 请求和响应消息,保存为文件。捕获 TCP 协议数据打开浏览器,输入一个页面内容较简单网页URL,如;网页

7、全部显示后关闭浏览器。9、实验结果1) 捕获DHCP分组Encode分析如下:由捕获的数据包可见,其IP头部的目的域地址为ff ff ff ff,即表明该包围一个广播包,同时可以看到其源地址为00 00 00 00。根据DHCP的数据包部分的译码输出,我们可以得到Boot Record type域为1(表明是申请IP地址),以及硬件地址类型和硬件地址长度等等信息,并且最终申请的IP地址为59.64.192.184。之后可以看到网关会发来一个DHCP ACK数据包,用来确认IP地址的分配(由于版面所限,未添加相应截图)2) 捕获IP数据分组:IP分组格式为: 分析IP数据分组:其相应的分析如下表

8、字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度00 30分组长度48字节标识8a 83标识为35459标志40DF=1,MF=0,不允许分片偏移值00偏移量为0生存周期6e每跳生存周期为110s协议06携带的数据来自TCP协议头部校验和89 11头部校验和为8911源地址7d 26 80 9c源地址为 125.38.128.156目的地址3b 40 c0 30目的地址为 59.64.192.483) 分析整个上网的工作过程,需要收发什么分组?每个分组的内容是什么?首先通过广播的方式向默认的网关(我这里是59.64.192.1)发送一个DH

9、CP REQUEST报文,以申请获得动态的IP地址,里面包括的内容如实验结果1示网关受到报文后,会回送一个DHCP ACK报文,以告诉申请方已经将IP地址分配过去,本次实验分配的地址是59.64.192.48之后本机还要广播自己的地址映射关系,用ARP数据报。其形式是这样的:本机发送ARP请求查找它自己的IP地址,这样就会使每台主机在ARP缓存中加入一个映射表象,即让其他主机知道了当前本机的地址,相应的数据报如下图示 DHCP REQUEST 数据报DHCPACK数据报ARP数据报4) 捕获ICMP分组:分组一 相应ICMP译码输出分析ICMP分组:字 段报文(16进制) 内 容类 型03终点

10、不可达代 码03端口不可达校 验 和bf 73头部校验和为bf 73此ICMP报文是差错报文,报告差错为终点不可达中的端口不可达。通过ping命令产生ICMP报文二相应的ICMP译码输出分析ICMP分组:字 段报文(16进制) 内 容类 型08问一台机器是否仍处于活动状态代 码00校 验 和19 5c头部校验和为195c此ICMP为用来判断指定目标是否可达以及是否活着的报文,是ping命令中常用的5) 制作一个8000字节的IP数据分组,发送后捕获分析。由于分组长度大于1500字节,因此需要分片传输。按照2)中的方法分析所有分片的结构。IP分组一其相应的分析如下表字段报文(16进制)内 容报头

11、长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05 dc分组长度1500字节标识0b 6e标识为2926标志20DF=0,MF=1,允许分片,当前片不是最后片偏移值00偏移量为0生存周期80每跳生存周期为128s协议01携带的数据来自ICMP协议头部校验和A9 F7头部校验和为A9 F7源地址3b 40 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地址为 211.94.144.100IP分组二其相应的分析如下表字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05 dc分组长度15

12、00字节标识0b 6e标识为2926标志20DF=0,MF=1,允许分片,当前片不是最后片偏移值20 B9偏移量为1480生存周期80每跳生存周期为128s协议01携带的数据来自ICMP协议头部校验和A9 3E头部校验和为A9 3E源地址3b 40 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地址为 211.94.144.100IP分组三其相应的分析如下表字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05 dc分组长度1500字节标识0b 6e标识为2926标志2XDF=0,MF=1,允许分片,当前片不

13、是最后片偏移值21 72偏移量为2960生存周期80每跳生存周期为128s协议01携带的数据来自ICMP协议头部校验和A8 85头部校验和为A8 85源地址3b 40 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地址为 211.94.144.100IP分组四其相应的分析如下表字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05 dc分组长度1500字节标识0b 6e标识为2926标志2XDF=0,MF=1,允许分片,当前片不是最后片偏移值22 2b偏移量为4440生存周期80每跳生存周期为128s协议01

14、携带的数据来自ICMP协议头部校验和A7 CC头部校验和为A7 CC源地址3b 40 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地址为 211.94.144.100IP分组五其相应的分析如下表字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度05 dc分组长度1500字节标识0b 6e标识为2926标志2XDF=0,MF=1,允许分片,当前片不是最后片偏移值22 e4偏移量为5920生存周期80每跳生存周期为128s协议01携带的数据来自ICMP协议头部校验和A7 13头部校验和为A7 13源地址3b 4

15、0 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地址为 211.94.144.100IP分组六其相应的分析如下表字段报文(16进制)内 容报头长度45报头长20字节服务类型00正常时延,正常吞吐量,正常可靠性总长度02 74分组长度628字节标识0b 6e标识为2926标志03DF=0,MF=0,允许分片,当前片是最后片偏移值03 9d偏移量为7400生存周期80每跳生存周期为128s协议01携带的数据来自ICMP协议头部校验和C9 C2头部校验和为C9 C2源地址3b 40 c0 b8源地址为 59.64.192.184目的地址d3 5e 90 64目的地

16、址为 211.94.144.100上述便是将一个8000字节的分组划分为六个分片的情形,我们不妨加以计算5个长度为1500字节的IP分组,每个分组的净荷域=1500-20=1480,第一个分组为表明是ICMP分组,又加了8个字节的长度,故前五个分组组装起来为1480*5-8=7392。加上最后一个分片,其总长度为7392+628=8000Byte,证明结果是正确的。6) TCP协议分析建立连接: 在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手: 建立连接时, 客户端发送 syn 包(syn=j)到服务器, 并进入 SYN_SEND 状态,等待服

17、务器确认; 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己 也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态; 第三次握手:客户端收到服务器的 SYNACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三 次握手。 完成三次握手,客户端与服务器开始传送数据 释放连接: 虽然TCP连接是全双工的,但可将其视为一对单工连接,每个连接单独释放,两个单工之间独立。步骤:(1) 客户端1发送一个FIN,用来关闭1到2的数据发送(2) 服务器

18、2收到这个FIN,它发回一个ACK,确认序号为收到的序号+1,和SYN一样,一个FIN将占用一个序号(3) 服务器2关闭与客户端1的连接,发送一个FIN给客户端1(4) 客户端1发回ACK报文确认,并将确认信号设置为收到序号+1 每个TCP报文头部都包含源端口号(source port)和目的端口号(destination port),用于标识和区分源端设备和目的端设备的应用进程。在TCP/IP协议栈中,源端口号和目的端口号分别与源IP地址和目的IP地址组成套接字(socket),唯一的确定一条TCP连接。 序列号(Sequence number)字段用来标识TCP源端设备向目的端设备发送的字

19、节流,它表示在这个报文段中的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序列号对每个字节进行计数。序列号是一个32bits的数。 既然每个传输的字节都被计数,确认序号(Acknowledgement number,32bits)包含发送确认的一端所期望接收到的下一个序号。因此,确认序号应该是上次已成功收到的数据字节序列号加1。 TCP的流量控制由连接的每一端通过声明的窗口大小(windows size)来提供。窗口大小用数据包来表示,例如Windows size=3, 表示一次可以发送三个数据包。窗口大小起始于确认字段指明的值,是一个16bits字段。窗口大小可以调节

20、。 校验和(checksum)字段用于校验TCP报头部分和数据部分的正确性。 最常见的可选字段是MSS(Maximum Segment Size,最大报文大小)。MSS指明本端所能够接收的最大长度的报文段。当一个TCP连接建立时,连接的双方都要通告各自的MSS协商可以传输的最大报文长度。我们常见的MSS有1024(以太网可达1460字节)字节。2) 对照教材 6-33 图,理解TCP 状态转换的过程,按照你所捕获的消息,画出Client 侧的状态转换图,并进行解释。 当客户机器上的一个应用程序发出CONNECT请求的时候,本地的TCP创建一条连接记录,并将它标记为SYN SENT状态,然后发送

21、一个SYN数据段。当SYN+ACK到达时候,三步握手完成,连接建立开始发送和接收数据。 当应用结束时,发出CLOSE原语,从而使本地的TCp实体发送一个FIN数据段,并等待相应ACK,当ACK到达时,发生一次状态迁移,切换到FIN WAIT 2,而且连接的一个方向现在被关闭。当另一方也关闭的时候,一个FIN数据段会到来,然后它被确认。现在双方都已经关闭了,但是TCP要等待一段最大的分组生存期的时间,以确保该链接的所有分组都已经消失了,以防万一发生确认被丢失的情形。当定时器到期之后,TCP删除该链接记录。 当客户完成的时候,它执行CLOSE,从而导致发送一个FIN到达服务器。然后,服务器接到信号,当它也执行CLOSE的时候,TCP实体给客户发送一个FIN数据段。当客户的确认回来的时候,服务器释放该链接,并且删除相应的链接记录。9、 实验结论和实验心得通过本次实验,我对IP数据包的组成有了更加深刻地认识,对数据包在数据链路层,网络层,传输层传递过程中帧头信息的变化有了更加深刻的理解,数据链路层加DLC头,网络层加IP头,同时每一层还有相应的协议(ICMP,DHCP,ARP),对应相应的数据包。不过总体上来说,这次实验进行的还是较为顺利的,花费时间最多的部分是实验报告的书写及相关结果的截图上。总体来说比较顺利的完成了本次实验。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1