实验五 使用Wireshark分析TCP协议
更新时间:2023-09-30 03:33:01 阅读量: 综合文库 文档下载
- 实验五推荐度:
- 相关推荐
实验五使用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是1 Syn set
2. 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,ACKnowledgement字段的值是多少?
序号0
ACKnowledgement是1
3. 从整个过程中可用的缓冲区空间窗口的最小数量是多少?可用的缓冲区空间有没有影响发送者?
4. 有没有一些重发的片段?你怎样判断这个问题?
答:没有重传的段,经检查没有在数据包列表区发现冗余ack,并且发送的序列号也没有重复,所以可以判断没有重复的段
5. 在一个ACK 中有多少个数据段被确认?如何识别ACK 确认了哪些片段? 66bytes
正在阅读:
马铃卫生院关于做好突发事件紧急医疗救援信息报告制度10-18
浅谈管乐团中单簧管的训练方法03-23
系统解剖学章节练习题及答案05-06
新视野大学英语视听说教程第2册答案10-01
高中化学教学计划08-23
第十章自测题12-23
新闻学概论思考题解题思路04-02
韩语单词记忆秘诀12-16
生命是什么作文550字07-05
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Wireshark
- 协议
- 实验
- 使用
- 分析
- TCP
- 2014年全国医用设备使用人员业务能力考评LA、(X刀、γ刀)物理师考试试卷
- 关于农村学校青年教师专业化成长的调查报告
- 高频复习题带答案
- 病理学病例
- 国际经济学试卷及答案
- 工业化进程判断标准
- 大学生数学建模竞赛之数据分析
- 《〈世说新语〉两则》巩固练习
- 马克思策划书
- 网页试题2
- 京环发〔2015〕5号 关于建设工程施工工地扬尘排污费征收有关工作的通知 - 图文
- PLC在火力发电厂输灰系统中的应用设计 - 图文
- 小学期中考试表彰大会教师代表发言稿
- 潍坊高密13-14学年九年级下综合复习模拟试题2--化学 doc
- 地测防治水科各工种岗位责任制
- 清华新生开学 13岁最小新生“惊到”校长(图)
- rotork IQ系列调试说明
- 固废处理单选题库
- 辅导方案
- 我的叔叔于勒续写