網絡抓包學習

tcp建立連接(三次握手)

tcp連接

當你的頁面僅支持http1.x的時候,瀏覽器進程可能會和服務器建立多個tcp連接。用不同的端口號區(qū)分tcp連接。

TCP報頭中的源端口號和目的端口號同IP數(shù)據報中的源IP與目的IP唯一確定一條TCP連接。

tcp斷開連接

tcp斷開連接,服務器主動斷開
殺死瀏覽器進程,瀏覽器主動斷開

斷開連接分兩種情況:

  • 一種情況是正常瀏覽網頁,提出結束請求的是服務器,這種情況下一般都是進行正常的keep-alive,然后服務器提起正常的請求斷開連接,四次揮手。
  • 另一種情況就是用戶主動殺死瀏覽器進程,可能就只有三次揮手了。服務器被動斷開連接的時候,并且沒有可傳輸?shù)臄?shù)據的時候,可能會將Server對Client的FIN報文的確認和Server的FIN一起發(fā),這可能是三次揮手的原因

https建立連接

https進行連接

首先還是正常的tcp進行連接。

然后進行的就是tls的握手:

  • client hello 這一步主要是向服務器發(fā)送客戶端支持的http版本,包括http1.x 或者http2等,還有就是瀏覽器支持的加密的各種信息供服務端選擇。
  • Server Hello 選擇client hello支持的各種協(xié)議,當然只是選擇一個。
  • certificate 服務器向瀏覽器發(fā)送證書鏈。
  • Sever Hello Done 服務器向瀏覽器發(fā)送完畢,等待瀏覽器發(fā)送。
  • Client Key Exchange 向服務器發(fā)送加密的相關方式

上面只是對各種包的一個大概的說明。

參考

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容