在TCP層,字段有以下幾個標識:SYN, FIN, ACK, PSH, RST, URG.
它們的含義是:
SYN表示建立連接,
FIN表示關閉連接,
ACK表示響應,
PSH表示有 DATA數據傳輸,
RST表示連接重置。
其中,ACK是可能與SYN,FIN等同時使用的,比如SYN和ACK可能同時為1,它表示的就是建立連接之后的響應,
如果只是單個的一個SYN,它表示的只是建立連接。
TCP的幾次握手就是通過這樣的ACK表現出來的。
但SYN與FIN是不會同時為1的,因為前者表示的是建立連接,而后者表示的是斷開連接。
RST一般是在FIN之后才會出現為1的情況,表示的是連接重置。
一般地,當出現FIN包或RST包時,我們便認為客戶端與服務器端斷開了連接;
而當出現SYN和SYN+ACK包時,我們認為客戶端與服務器建立了一個連接。
PSH為1的情況,一般只出現在 DATA內容不為0的包中,也就是說PSH為1表示的是有真正的TCP數據包內容被傳遞。
wireshark 抓包過濾條件:
(ip.src == 127.0.0.1) && (tcp.srcport==27015 || tcp.dstport==27015) && (tcp.flags.push == 1)
tcp.port=27015