從tcp的角度看,打開一個網頁到底發生了什么


使用wireshark進行抓包分析:新建表達式過濾器,選擇協議,字段,匹配方式,應用就能篩選出想要的數據包。

一個示例:(tcp.srcport == 1523 or tcp.dstport == 1523)。 其中1523是tcp連接的本機端口

 

tcp基礎知識:

tcp在傳輸大量數據時,以mss為單位對數據分塊傳輸。在3次握手時,由通信雙方商議確定mss。

Seq:本機維持的數據計數器;Ack:遠程主機的數據計數器

 

 

本機ip:192.168.43.106 目的ip:183.232.231.17

主線:

1. 輸入網址,按下回車,瀏覽器通過3次握手建立tcp連接,協商mss字段。

 

2. 利用tcp連接,傳輸http文本。由於網頁的大小超過了mss,所以分多個段進行傳輸。

從本機發http請求,到接收完整的http響應,中間接收了多個tcp segment,並且本機對於tcp段的確認是批量的,即收到了2個段,只需要確認1次。

 

3. 傳輸完后,服務器主動關閉了連接。

 

副線:

需要注意的是,打開一個網頁,瀏覽器會建立多個tcp連接。

下圖是其中一個請求圖片的連接:

本機發送rst包,直接斷了連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM