使用Wireshark來檢測一次HTTP連接過程

Wireshark是一個類似tcpdump的嗅探軟件,界面更人性化一些,今天我用它來檢測一次HTTP連接過程。

安裝好之後,先配置一下,選擇Capture->
Options,先設定你要嗅探的網絡接口,在我的機器上是:

ADMtek AN983/AN985/ADM951X NDIS5 Driver (Microsoft's Packet Scheduler) : \Device\NPF_{
154F772F-7D1B-403E-A84E-E80FD623D5FC}


然後在Capture Filter裏輸入tcp port http,說明只監聽80端口的tcp請求。

設置好這些,你就可以點擊Start開始檢測了。

打開瀏覽器隨便瀏覽一個網頁,你就會得到類似下面的結果:

 

 

我瀏覽的是Google的頁面。這裏211.100.209.50是瀏覽器,66.249.89.147就是服務器。

下面具體解釋一下這個HTTP連接過程:
 

--------------------------------------------------------------
瀏覽器向服務器發出連接請求。
服務器迴應了瀏覽器的請求,並要求確認。
瀏覽器迴應了服務器的確認,連接成功。
瀏覽器發出一個頁面HTTP請求。
服務器確認。
服務器發送數據。
客戶端確認。
服務器響應了一個200狀態,表示成功。
客戶端發出一個圖片HTTP請求。
服務器響應了一個304HTTP頭,告訴瀏覽器別打擾它,直接用緩存。
客戶端又發出一個圖片HTTP請求。
服務器還是響應了一個304HTTP頭。
瀏覽器確認。
服務器準備關閉連接,並要求確認。
瀏覽器確認。
瀏覽器準備關閉連接,並要求確認。
服務器確認。
--------------------------------------------------------------

其中包含了我們常說的TCP三次握手的過程。

當“服務器迴應了瀏覽器的請求,並要求確認”的時候,
如果瀏覽器沒有正常的確認,服務器就會在SYN_RECV狀態等下去,直到超時。
如果惡意程序僞造了大量類似的請求,那就是常說的SYN洪水***了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章