firemail

标题: TCP/IP 建立连接的过程?(3-way shake) [打印本页]

作者: Qter    时间: 2019-4-4 08:13
标题: TCP/IP 建立连接的过程?(3-way shake)
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
  第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状
态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个
SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)
,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。


作者: Qter    时间: 7 天前


用这个分析一下三次握手过程


我看了你提供的抓包截图,这几条数据包其实不是典型的 TCP 三次握手过程,而是已经建立连接后的数据传输过程。
原因如下:
所以,这张图里显示的不是三次握手,而是:
如果你想分析三次握手,需要在 Wireshark 里:
我可以帮你画出你的抓包文件中可能的三次握手时序图,但前提是你得给我包含建立连接的那些包的截屏或 pcap 文件。
你是要我帮你在这个抓包里找出三次握手的包吗?这样我可以直接帮你标出来。



作者: Qter    时间: 7 天前
本帖最后由 Qter 于 2025-8-10 23:57 编辑


好的,我先帮你画一个标准的 TCP 三次握手时序图,这样你可以对照 Wireshark 里抓到的包理解它的过程。

TCP 三次握手时序图
客户端 (192.168.2.209)                     服务端 (160.19.208.28)
        |                                           |
1. SYN  | -------------------- SYN ----------------> |  Seq = x
        |                                           |
2. SYN+ACK
        | <--------------- SYN + ACK --------------- |  Seq = y, Ack = x+1
        |                                           |
3. ACK  | -------------------- ACK ----------------> |  Seq = x+1, Ack = y+1
        |                                           |
   TCP 连接建立(进入数据传输阶段)


说明

如果你愿意,我可以帮你把你这个抓包里的 IP 地址和端口替换进这个时序图,做成你这次连接的专属版本,这样更直观。
你要我直接画成你的 IP/端口版本吗?这样就能跟截图完全对应。






欢迎光临 firemail (http://www.firemail.wang:8088/) Powered by Discuz! X3