实验五使用 Wireshark分析 TCP 协议一、实验目的分析 TCP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有 Wireshark、IE 等软件。三、实验步骤1、捕获一个从你电脑到远程服务器的TCP数据打开 FTP客户端,连接,用 ”TCP”为过滤条件,捕获建立连接和断开连接的数据。图 捕获的 TCP数据(1)连接建立:TCP连接通过称为三次握手的三条报文来建立的。观察以上数据,其中分组10 到 12 显示的就是三次握手。第一条报文没有数据的TCP报文段(分组 10),并将首部 SYN位设置为 1。因此,第一条报文常被称为SYN分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组10,Wireshark 显示的序号是 0。选择分组首部的序号字段,原始框中显示 “9b 8e d1 f5”。Wireshark 显示的是逻辑序号,真正的初始序号不是 0。如图所示:图 逻辑序号与实际初始序号(分组 10)SYN分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接, 服务器进程必须已经在监听SYN分组所指示的 IP 地址和端口号。如果没有建立连接, SYN分组将不会应答。如果第一个分组丢失,客户端通常会发送若干 SYN分组,否则客户端将会停止并报告一个错误给应用程序。如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的 SYN位和 ACK位都置为 1。通常称这个报文段为SYNACK分组。SYNACK分组在确认收到 SYN分组的同时发出一个初始的数据流序号给客户端。图 逻辑序号与实际初始序号(分组 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...