Wireshark抓包
TCP通信
建立连接要三次握手
断开连接四次挥手
TCP三次握手的过程如下
- 客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
- 服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
- 客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。

TCP四次挥手过程如下
- 某个应用进程首先调用close,称该端执行“主动关闭”(active close)。该端的TCP于是发送一个FIN分节,表示数据发送完毕。
- 接收到这个FIN的对端,执行 “被动关闭”(passive close),这个FIN由TCP确认。
- 注意:FIN的接收也作为一个文件结束符(end-of-file)传递给接收端应用进程,放在已排队等候该应用进程接收的任何其他数据之后,因为,FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。
- 一段时间后,接收到这个文件结束符的应用进程将调用close关闭它的套接字。这导致它的TCP也发送一个FIN。
- 接收这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。

抓取数据

第一次握手
物理层

链路层

网络层

传输层

第二次握手
物理层

链路层

网络层

传输层

第三次握手
物理层

链路层

网络层

传输层

完成三次握手后,客户端可以和服务端进行通信。
下面以客户端向服务端发送数据为例。
物理层

链路层

网络层

传输层

传送数据

通过上面可以看到,如果客户端没有对发送的数据进行加密处理,wireshark是可以查看到发送的数据内容的。
当服务端收到客户端发送的报文后,会发送确认报文给客户端。
物理层

链路层

网络层

传输层

wireshark抓包
TCP三次握手,客户端发送报文,服务端回复报文,TCP四次挥手


浙公网安备 33010602011771号