轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72876628 本文出自 "【趙彥軍的博客】" Fiddler是什麼? Fiddler是一個http調試代理,它能 夠記錄所有的你電腦和互聯網之間的http通訊,Fiddler 可以也 ...
轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/72876628
本文出自【趙彥軍的博客】
Fiddler是什麼?
Fiddler是一個http調試代理,它能 夠記錄所有的你電腦和互聯網之間的http通訊,Fiddler 可以也可以讓你檢查所有的http通訊,設置斷點,以及Fiddle 所有的“進出”的數據(指cookie,html,js,css等文件,這些都可以讓你胡亂修改的意思)。 Fiddler 要比其他的網路調試器要更加簡單,因為它僅僅暴露http通訊還有提供一個用戶友好的格式。
Fiddler是最強大最好用的Web調試工具之一,它能記錄所有客戶端和伺服器的http和https請求,允許你監視,設置斷點,甚至修改輸入輸出數據,Fiddler包含了一個強大的基於事件腳本的子系統,並且能使用.net語言進行擴展。你對HTTP 協議越瞭解, 你就能越掌握Fiddler的使用方法。你越使用Fiddler,就越能幫助你瞭解HTTP協議。Fiddler無論對開發人員或者測試人員來說,都是非常有用的工具。
Fiddler的工作原理
Fiddler 是以代理web伺服器的形式工作的,它使用代理地址:127.0.0.1,埠:8888。當Fiddler退出的時候它會自動註銷,這樣就不會影響別的程式。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動註銷,會造成網頁無法訪問。解決的辦法是重新啟動下Fiddler。
Fiddler 下載安裝
官網下載地址:http://www.telerik.com/fiddler
下載到本地,然後安裝正常的安裝流程執行。
運行起來就是下圖的樣子:
Fiddler的運行機制其實就是本機上監聽 8888 埠的 HTTP 代理。 Fiddler 啟動的時候預設 IE 的代理設為了127.0.0.1:8888,而其他瀏覽器是需要手動設置的,所以將 Chrome 瀏覽器的代理改為127.0.0.1:8888 就可以監聽數據了。
Chrome 瀏覽器如何設置代理
在瀏覽器的最右側,點擊 三個點 圖標,然後點擊設置
點擊左側的設置,然後點擊 顯示高級設置 。
然後找到 更改代理伺服器設置。
到這裡,chrome 瀏覽器的代理就設置好了。
開啟 Https 抓包監聽
Fiddler 預設下,Fiddler不會捕獲HTTPS會話,需要你設置下。
from all processes
: 抓取所有的 https 程式, 包括 本機 和 手機
from browsers only
: 只抓取瀏覽器中的 https 請求
from non-browsers only
: 只抓取除了瀏覽器之外的所有 https 請求
from remote clients only
: 抓取遠程的客戶端的 https ,可以代表手機
- 開啟手機 Https 抓包
如果只想抓取 手機上的所有 https 請求,就應該選中from remote clients only
。
如何用Fiddler對Android應用進行抓包
http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html
如何開啟/關閉 抓本機的包
如果需要抓取本機請求,有 3 中方式。
- 方式 1
只需要啟動程式並確保左下角為 Capturing狀態
即可。
- 方式 2
按快捷鍵 F12
進行切換。
- 方式 3
File --> Capture Traffic 勾選。
擴展:
註意這個很有用,可以開啟抓本機的包,也可以過濾本機的包。當手機開啟了開啟了代理,就可以把本機的包過濾掉,專註抓手機的包,此時會話列表中都是手機的包了。
清空會話列表
快捷功能
. 第一個是Capturing,控制捕獲會話的快捷開關;
. 第二個是選擇當前需要捕獲的會話的來源程式,所有程式、瀏覽器、非瀏覽器、都不捕獲選項。
. 第三個是會話request發送前的斷點和response返回後且到瀏覽器前的斷點,分別對應點一次,點兩次該按鈕(預設是空白即不設斷點),request斷點和response斷點詳情中詳解
.後面的而是當前選中會話的一些標識和描述,如當前選中的是127個會話中的第一個, 詳細url為http://www......
過濾功能變數名稱
Fiddler抓包可以完成我們移動開發者的調試測試需求。但是多餘的網頁請求和手機的其他鏈接影響我們手機開發的需求。所以我們需要排除其他無用的包,只關註我們指定的功能變數名稱的請求包。
- 打開fiddler,找到Filters選項並點擊打開。如圖所示
預設情況下,這個頁面是灰色的,代表預設不過濾任何請求。現在我們勾選 Use Filters
。
- 在 Hosts 裡面可以看到
No Zone Filter : 不做任何過濾
Show only Intranet Hosts : 只顯示內部網路主機
Show only Internet Hosts:只顯示互聯網主機。
在 Hosts 第二個下拉框裡面有幾個選項
show only intranet hosts
參考資料
個人微信號:zhaoyanjun125
, 歡迎關註