fiddler抓包時候的 tunnel to是什麼意思

在抓包的時候,有時候會遇到很多的tunnel to,圖標是一把鎖的形狀,使用的方法是Connect,如下圖:這裏寫圖片描述

在某主的CSDN博客中,查到的資料如下:

connect是爲了建立http tunnel,connect是http衆多方法中的其中一種,它跟post、get、put、options方法是並列的。但是它的使用場景很特殊。只有在受限制的網絡環境中(防火牆、NAT、代理器)並且是https通信時,客戶端使用http connect請求代理服務器,代理服務器使用connect方法與目標服務器建立http tunnel,通道建立後,客戶端與服務器進行通信,代理服務器就像透明一樣,只是接收、轉發tcp stream。
爲什麼要建立http tunnel呢?
這是因爲,網絡環境受限,客戶端無法直接訪問某些網絡,所以只能通過代理服務器訪問網絡,然後,將內容轉發給客戶端,從宏觀上看,客戶端與服務器端就像建立了一條隧道一樣。
但是由於http tunnnel可控性不強,所以,服務器通常會限制”可connect的端口”(一般只開放SSL的443端口)

那麼爲什麼fiddler抓包時,出現大量connect連接?
因爲fiddler是代理,訪問百度網頁(使用了https協議),滿足了使用connect條件,所以客戶端會使用connect方法與目標服務器建立http tunnel,一旦connection建立完成,後續fiddler會轉發、接收所有的tcp stream。

“`
所以如上圖所示,訪問https://www.baidu.com 之前出現了tunnel to www.baidu.com:443

當然,並不是所有的受限網絡(restricted network),https通信時,都會使用connect建立http tunnel,如果目標服務器限制connect方法,那麼就會使用其它方法來建立通道(post/get);如果服務器不支持http tunnel,那麼就需要安裝http tunnel server端的程序,客戶端不支持http tunnel,那麼客戶端就需要安裝http tunnel client程序;http tunnel程序包含兩部分,server端程序和client端程序;

如果你看着tunnel to不習慣的話,可以將其隱藏掉,Rules->Hide Connects


這裏寫圖片描述

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