《实验5_使用Wireshark分析TCP协议.》.doc实验五使用 Wireshark 分析 TCP 协议一、实验目的分析 TCP 协议二、实验环境与因特网连接的计算机,操作系统为 Windows ,安装有 Wireshark 、 IE等软件。三、实验步骤 1、 TCP 介绍( 1)连接建立: TCP 连接通过称为三次握手的三条报文来建立的。在 Wireshark 中选择 open->file, 选择文件 ,其中分组 3到 5显示的就是三次握手。第一条报文没有数据的 TCP 报文段,并将首部 SYN 位设置为 1 。因此,第一条报文常被称为 SYN 分组。这个报文段里的序号可以设置成任何值,表示后续报文设定的起始编号。连接不能自动从 1开始计数,选择一个随机数开始计数可避免将以前连接的分组错误地解释为当前连接的分组。观察分组 3, Wireshark 显示的序号是 0。选择分组首部的序号字段, 原始框中显示“ 94 f22ebe”。 Wireshark 显示的是逻辑序号,真正的初始序号不是 0。如图 1所示: 图1:逻辑序号与实际初始序号 SYN 分组通常是从客户端发送到服务器。这个报文段请求建立连接。一旦成功建立了连接,服务器进程必须已经在监听 SYN 分组所指示的 IP地址和端口号。如果没有建立连接, SYN 分组将不会应答。如果第一个分组丢失,客户端通常会发送若干 SYN 分组,否则客户端将会停止并报告一个错误给应用程序。如果服务器进程正在监听并接收到来的连接请求,它将以一个报文段进行相应,这个报文段的 SYN 位和 ACK 位都置为 1。通常称这个报文段为 SYNACK 分组。 SYNAC K 分组在确认收到 SYN 分组的同时发出一个初始的数据流序号给客户端。分组 4的确认号字段在 Wireshark 的协议框中显示 1, 并且在原始框中的值是“94 f2 2ebf”(比“94 f22ebe”多1)。这解释了 TCP 的确认模式。 TCP 接收端确认第 X个字节已经收到,并通过设置确认号为 X+1 来表明期望收到下一个字节号。分组 4的序号字段在 Wireshark 的协议显示为 0, 但在原始框中的实际值却是“84 cabeb3”。这表明 TC P 连接的双方会选择数据流中字节的起始编号。所有初始序号逻辑上都视同为序号 0。最后,客户端发送带有标志 ACK 的 TCP 报文段,而不是带 SYN 的报文段来完成三次握手的过程。这个报文段将确认服务器发送的 SYNACK 分组,并检查 TCP 连接的两端是否正确打开合运行。(2)关闭连接当两端交换带有 FIN标志的 TC P 报文段并且每一端都确认另一端发送的 FIN包时, TCP 连接将会关闭。 FIN 位字面上的意思是连接一方再也没有更多新的数据发送。然而, 那些重传的数据会被传送, 直到接收端确认所有的信息。在 中,通过分组 13至16我们可以看到 TCP 连接被关闭。 2、 TCP 重传当一个 TCP 发送端传输一个报文段的同时也设置了一个重传计时器。当确认到达时,这个计时器就自动取消。如果在数据的确认信息到达之前这个计时器超时,那么数据就会重传。重传计时器能够自动灵活设置。最初 TCP 是基于初始的 SYN 和 SYN ACK 之间的时间来设置重传计时器的。它基于
《实验5_使用Wireshark分析TCP协议.》 来自淘豆网m.daumloan.com转载请标明出处.