好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

实验五使用Wireshark分析TCP协议.docx

10页
  • 卖家[上传人]:ni****g
  • 文档编号:555164477
  • 上传时间:2022-10-26
  • 文档格式:DOCX
  • 文档大小:1.16MB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验五 使用Wireshark分析TCP协议一、实验目的分析TCP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件三、实验环节1、捕获一个从你电脑到远程服务器的TCP数据打开FTP客户端,连接ftp://202.120.222.71,用”TCP”为过滤条件,捕获建立连接和断开连接的数据图5.1 捕获的TCP数据(1)连接建立:TCP连接通过称为三次握手的三条报文来建立的观测以上数据,其中分组10到12显示的就是三次握手第一条报文没有数据的TCP报文段(分组10),并将首部SYN位设立为1因此,第一条报文常被称为SYN分组这个报文段里的序号可以设立成任何值,表达后续报文设定的起始编号连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组观测分组10,Wireshark显示的序号是0选择分组首部的序号字段,原始框中显示“9b 8e d1 f5”Wireshark显示的是逻辑序号,真正的初始序号不是0如图5.2所示:图5.2 逻辑序号与实际初始序号(分组10)SYN分组通常是从客户端发送到服务器这个报文段请求建立连接。

      一旦成功建立了连接,服务器进程必须已经在监听SYN分组所指示的IP地址和端标语假如没有建立连接,SYN分组将不会应答假如第一个分组丢失,客户端通常会发送若干SYN分组,否则客户端将会停止并报告一个错误给应用程序假如服务器进程正在监听并接受到来的连接请求,它将以一个报文段进行相应,这个报文段的SYN位和ACK位都置为1通常称这个报文段为SYNACK分组SYNACK分组在确认收到SYN分组的同时发出一个初始的数据流序号给客户端图5.3 逻辑序号与实际初始序号(分组11)分组11的确认号字段在Wireshark的协议框中显示1,并且在原始框中的值是“9b 8e d1 f6”(比“9b 8e d1 f5”多1)这解释了TCP的确认模式TCP接受端确认第X个字节已经收到,并通过设立确认号为X+1来表白盼望收到下一个字节号分组11的序号字段在Wireshark的协议显示为0,但在原始框中的实际值却是“f6 74 a5 ea”这表白TCP连接的双方会选择数据流中字节的起始编号所有初始序号逻辑上都视同为序号0最后,客户端发送带有标志ACK的TCP报文段,而不是带SYN的报文段来完毕三次握手的过程这个报文段将确认服务器发送的SYNACK分组,并检查TCP连接的两端是否对的打开合运营。

      2)关闭连接当两端互换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭FIN位字面上的意思是连接一方再也没有更多新的数据发送然而,那些重传的数据会被传送,直到接受端确认所有的信息通过度组43,44和54,55我们可以看到TCP连接被关闭图5.4 TCP连接关闭2、TCP重传当一个TCP发送端传输一个报文段的同时也设立了一个重传计时器当确认到达时,这个计时器就自动取消假如在数据的确认信息到达之前这个计时器超时,那么数据就会重传重传计时器可以自动灵活设立最初TCP是基于初始的SYN和SYN ACK之间的时间来设立重传计时器的它基于这个值多次设立重传计时器来避免不必要的重传在整个TCP连接中,TCP都会注意每个报文段的发送和接到相应的确认所经历的时间TCP在重传数据之前不会总是等待一个重传计算器超时TCP也会把一系列反复确认的分组当作是数据丢失的征兆1) SACK选项协商在上面的每次跟踪中,我们能观测建立连接的三次握手在SYN分组中,发送端在TCP的首部选项中通过涉及SACK permitted选项来希望使用TCP SACK在SYN ACK包中接受端表达乐意使用SACK。

      这样双方都批准接受选择性确认信息SACK选项如图5.5所示:图5.5 SACK选项在TCP SACK选项中,假如连接的一端接受了失序数据,它将使用选项区字段来发送关于失序数据起始和结束的信息这样允许发送端仅仅重传丢失的数据TCP接受端不能传递它们接受到的失序数据给处在等待状态的应用程序,由于它总是传递有序数据因此,接受到的失序数据要么被丢掉,要么被存储起来接受端的存储空间是有限的,TCP发送端必须保存一份已发送的数据的副本,以防止数据需要重发发送端必须保存数据直到它们收到数据的确认信息为止接受端通常会分派一个固定大小的缓冲区来存储这些失序数据和需要等待一个应用程序读取的数据假如缓冲区空间不能容纳下更多数据,那么接受端只有将数据丢弃,即使它是成功到达的接受端的告知窗口字段用来告知发送端尚有多少空间可以用于输入数据假如数据发送的速度快于应用程序解决数据的速度,接受端就会发送一些信息来告知发送端其接受窗口正在减小在这个跟踪文献中,接受端告知窗口的大小是变化的,从16520个字节到17520个字节TCP发送端在发送之前有一个容纳数据的有限空间然而,和接受端不同的是,发送端是限制自己的发送速率假如缓冲区的空间满了,尝试写入更多数据的应用程序将被阻塞直到有更多的空间可以运用为止。

      2)分组的丢失与重传用显示过滤器tcp.analysis.retransmission搜索重传图5.6 TCP的重传通过观测分组的序号、确认号的变化,研究重传行为四、实验报告内容在实验的基础上,回答以下问题:1. 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标记该报文段是SYN报文段的?Sequence number是1Syn set2. 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,ACKnowledgement字段的值是多少?序号0ACKnowledgement是13. 有没有一些重发的片段?你如何判断这个问题?答:没有重传的段,经检查没有在数据包列表区发现冗余ack,并且发送的序列号也没有反复,所以可以判断没有反复的段4. 在一个ACK 中有多少个数据段被确认?如何辨认ACK 确认了哪些片段?66bytes。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.