TCP给人一种3次握手、4次挥手3次握手的简单3次握手的印象。
4挥手简单的4挥手过程的印象。
TCP的Flags字段SYN指示建立连接,在TCP监听中为: Flags [S];
FIN表示关闭连接,在TCP侦听中为: Flags [F];
ACK表示收到请求,返回响应,在TCP侦听中为: Flags [.];
PSH表示数据传输,在TCP侦听中为: Flags [P];
RST表示连接的复位,在TCP监听中为: Flags [R]。
Flags字段的组合作为:flags被接收并建立连接[s.]
收到并关闭连接的是: Flags [F.]
接收并传输数据的是: Flags [P.]
收到后将连接重置为: flags [ r.]
注意如果发生SYN和SYN ACK包,则认为客户端与服务建立了连接。
如果发生FIN包或RST包,则客户端和服务器端的连接可能已断开。
使用tcpdump监听指定端口的进程/*----------一个TCP建立连接的进程-------------------/----客户端向服务端发出TCP连接请求1:01336007.821891 IP 127.0.0.2.40970127.0.0.1.transact : flags [ s ],seq 2220 OptionNags TS val 698243827 ecr 0,nop,wscale 7], Length0/*-------服务器表示已收到,并且, 向客户端请求TCP连接--------1.transact 127.0.0.0.2.40970336007.821913 IP 127.0.1.transact 127.0.0.2.2 length0/*------------------ -客户端收到14336001336007.822927 IP 127---------0.0 length0----------------TCP关闭连接的进程--------------------/--------客户端向服务端发起TCP连接并退出1:01336007.822941 IP 127.0.0.2.40970127.0.0.1.transact : flags length0-----------------------------------------服务端向客户端关闭TCP连接向客户端表示TCP连接已终止,并向客户端表示TCP连接已终止--------------------- 14336001336007.823165 IP 127.0.0 Length0/*-----客户端向服务端表示已收到TCP连接终止--------- 14336001336007.824160 IP 127