利用Wireshark进行TCP协议分析.docVIP

  • 5
  • 0
  • 约1.36千字
  • 约 6页
  • 2019-09-29 发布于江苏
  • 举报
利用Wireshark进行TCP协议分析 TCP报文首部,如下图所示: 1. 源端口号:数据发起者的端口号,16bit 2. 目的端口号:数据接收者的端口号,16bit 3. 序号:32bit的序列号,由发送方使用 4. 确认序号:32bit的确认号,是接收数据方期望收到发送方的下一个报文段的序号,因此确认序号应当是上次已成功收到数据字节序号加1。 5. 首部长度:首部中32bit字的数目,可表示15*32bit=60字节的首部。一般首部长度为20字节。 6. 保留:6bit, 均为0 7. 紧急URG:当URG=1时,表示报文段中有紧急数据,应尽快传送。 8. 确认比特ACK:ACK = 1时代表这是一个确认的TCP包,取值0则不是确认包。 9. 推送比特PSH:当发送端PSH=1时,接收端尽快的交付给应用进程。 10. 复位比特(RST):当RST=1时,表明TCP连接中出现严重差错,必须释放连接,再重新建立连接。 11. 同步比特SYN:在建立连接是用来同步序号。SYN=1, ACK=0表示一个连接请求报文段。SYN=1,ACK=1表示同意建立连接。 12. 终止比特FIN:FIN=1时,表明此报文段的发送端的数据已经发送完毕,并要求释放传输连接。 13. 窗口:用来控制对方发送的数据量,通知发放已确定的发送窗口上限。 14. 检验和:该字段检验的范围包括首部和数据这两部分。由发端计算和存储,并由收端进行验证。 15. 紧急指针:紧急指针在URG=1时才有效,它指出本报文段中的紧急数据的字节数。 选项:长度可变,最长可达40字节 TCP的三次握手和四次挥手: 第一次握手数据包 客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图 第二次握手的数据包 服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的I S N加1以.即0+1=1, 如下图 第三次握手的数据包 客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1, 如下图: 四次挥手Four-way Handshake 四次挥手用来关闭已建立的TCP连接 1. (Client) – ACK/FIN – (Server) 2. (Client) – ACK – (Server) 3. (Client) – ACK/FIN – (Server) 4. (Client) – ACK – (Server) 第一次挥手:客户端给服务器发送TCP包,用来关闭客户端到服务器的数据传送。将标志位FIN和ACK置为1,序号为X=1,确认序号为Z=1 服务器收到FIN后,发回一个ACK(标志位ACK=1),确认序号为收到的序号加1,即X=X+1=2。序号为收到的确认序号=Z。 服务器关闭与客户端的连接,发送一个FIN。标志位FIN和ACK置为1,序号为Y=1,确认序号为X=2。 客户端收到服务器发送的FIN之后,发回ACK确认(标志位ACK=1),确认序号为收到的序号加1,即Y+1=2。序号为收到的确认序号X=2。

文档评论(0)

1亿VIP精品文档

相关文档