报文wiresharkk分析TCP协议 下载本文

内容发布更新时间 : 2024/10/26 13:25:58星期一 下面是文章的全部内容请认真阅读。

WireShark分析TCP协议

摘要:

利用wireshark分析TCP协议的报文,和其基本行为,包括三次握手,中间信息的交互,和最后的断开连接。其中通过中间信息的交互,可以看出TCP的累积式确认。

一:基本TCP报文分析

我们来看一个简单的TCP报文,现在蓝字选中的是源端口号,我们可以看到在这个报文中是14065,下面对应的是相应的二进制

代码,我们可以看到的确是16bit。紧随其后的16bit就是目的端口号。

下面是序号,Sequence number: 1169。接下来的32bit是确认号,Acknowledgement number: 19353。再后面是首部长度,Header length: 20 bytes,和未用的3bit数据。

0= Urgent:Not set,1=Acknowledgement: set,0= Push:Not set,0= Reset:Not set,0= Syn:Not set,0= Fin:Not set,这些表示的是一些标识位,是URG紧急标识,ACK确认标识,PSH推送标识,RST、SYN、FIN用于建立和结束连接。window size value:65535 表示接收窗口。

二:三次握手分析

三次握手的第一步,客户机端会向服务器端发送一个特殊的TCP报文段,这个报文段的SYN被置为1,并会发送一个起始序号seq。

我们看到SYN为1,且Sequence number=0,这样,面对这样

的请求报文段,服务器听该返回一个SYN=1,返回自己的初始seq,并且要求主机发送下一个报文段的序号,ack=1。下面是服务端实际返回的报文。

正如我们所期待的那样,服务器返回了自己的seq=0,并且要求主机端发送下一个报文段,并且SYN=1。这样主机端就应该返回seq=1,ack=1,要求服务端发送下一个报文,并且SYN=0,结束建立连接阶段,结束三次握手。