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四次挥手

 

posted @ 2019-10-15 16:56  N_zero  阅读(301)  评论(0)    收藏  举报