fiddler怎麼下載教程(fiddler使用教程視訊)
Fiddler簡單概述
Fiddler是一個http協議除錯代理工具,它能夠記錄並檢查所有你的電腦和網際網路之間的http通訊,設定斷點,檢視資料,修改請求資料等。比如當你想抓取電腦瀏覽器開啟一個網頁時候詳細訪問了些什麼地址,或者手機在執行某個應用的時候訪問了些什麼地址,特別是在開發應用,想要分析一些http請求的時候特別有用。你一定很好奇,Fiddler是怎樣抓取資料的?,其實當你開啟Fiddler的時候會自動在本機上開啟一個代理伺服器,關閉Fiddler時候會自動關閉代理伺服器,並且你的瀏覽器會自動設定和取消代理,完全不需要人工再去設定。這樣你瀏覽器訪問的http請求都會經過Fiddler代理(充當中間人角色),Fiddler就可以輕鬆抓取到http請求的資料了。對於移動端,抓取資料需要移動裝置和電腦在同一區域網下,下文會詳細敘述。
fiddler抓包原理圖示
Fiddler安裝配置
安裝
Fiddler的安裝很簡單,直接從官網下載,直接安裝即可,Fiddler下載地址如下:
https://www.telerik.com/download/fiddler
配置
1.在選單欄依次點選Tools-->Options-->HTTPS,勾選Capture HTTPS CONNECTS、Decrypt HTTPS traffic、Ignore server certificate errors這三個選項前的覈取方塊
配置好後,Fiddler就可以截獲HTTPS請求,配置完後記得要重啟Fiddler
注意:第一次配置HTTPS時,彈出證書安裝提示,若沒有彈出提示,勾選Actions--> Trust Root Certificate(信任根證書)
之後會彈出證書安裝提示,點選Yes
接著點選是(Y)
證書安裝成功
檢視安裝的證書Actions—>Open Windows Certificate Manager
下面在說一下手機端抓包如何配置(確保手機和電腦在同一個區域網內)
在選單欄依次點選Tools-->Options-->Connections
為了減少干擾,你也可以去掉 “Act as system proxy on startup”(啟動系統代理)
接著還需要對移動端的配置,配置前先在控制檯輸入ipcinfig命令查一下電腦的IP地址(也可以將滑鼠懸浮至Fidder工具右上角Online出檢視)
之後在移動端開啟瀏覽器,在位址列中輸入代理伺服器的 IP 和埠(即電腦的IP加fiddler的埠),會看到一個Fiddler 提供的頁面,然後確定安裝就好了
然後開啟 WiFi 設定頁面,選擇要連線的 WiFi ,並且長按(不同的移動端可能操作不一樣),在彈出的對話方塊中,選擇“修改網路”。在接下來彈出的對話方塊中,勾選“顯示高階選項”。在接下來顯示的頁面中,點選“代理”,選擇“手動”。代理伺服器主機名設為 PC 的 IP ,代理伺服器埠設為 Fiddler 上配置的埠 8888,點”儲存”。只有移動端使用Fidder的代理,Fidder才能獲取資料,至此配置就已經完成。
Fidder介面介紹
左邊會話框介紹
1:給會話新增備註資訊2:重新載入當前會話3:刪除會話選項4:放行,和斷點對應,後面詳細講解5:響應模式。也即是,當Fiddler拿到遠端的response後是快取起來一次響應給客戶端還 是以stream的方式直接響應。6:解碼。有些請求是被編碼的,點選這個按鈕後可以根據響應的編碼格式自動解碼。7:查詢會話。8:儲存會話。9:截圖。截圖後,會以會話的方式返回一個截圖。
會話列表標題和圖示說明如下:
標題說明
圖示說明
貼士:選中某一條會話按delete鍵可以刪除會話,使用Ctrl X快捷鍵清除所有會話
右邊Tab面板介紹
1.Statistic
這裡顯示關於HTTP請求的效能和其他資料分析的一些資訊,比如DNS解析時間,建立TCP/IP連線時間消耗等等資訊
2. Inspectors
提供headers、textview、hexview、Raw等多種方式檢視單條http請求的請求報文的資訊,分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不同格式檢視每個請求和響應的內容,下面說一些常用的格式
格式1:ImageView標籤
使用 ImageView 就可以看到圖片,選擇一條Content-Type是image/jpeg的回話,點選ImageView
格式2:TextView 標籤
HTML/JS/CSS 使用 TextView 可以看到響應的內容。選擇一條Content-Type是text/html的回話,點選TextView
格式3:Raw標籤
Raw標籤可以檢視響應報文和響應正文,但是不包含請求報文
格式4:Auth標籤
Auth則可以檢視授權Proxy-Authorization 和 Authorization的相關資訊
格式5:Cookies標籤
3.AutoResponder
Fiddler 的AutoResponder tab允許你從本地返回檔案,而不用將http request 傳送到伺服器上。下面我們舉個例子:我們在瀏覽器中輸入www.baidu.com ,瀏覽器就會幫我們開啟百度的網頁,現在我們在AutoResponder tab面板中新增一條規則並啟用規則,如下圖
此時再訪問www.baidu.com 時,頁面如下:
小結:AutoResponder功能是Fiddler最實用的功能之一,Rule可以自由地設定,可以使用搜尋(預設)、精確匹配(EXACT)、正規表示式匹配(REGEX)。處理方式可以選擇使用檔案,也可以選擇合適的時間暫停資料流(*bpu、*bpafter),人工干預。通過以上幾個步驟,我們演示了怎樣將HTTP請求重定向到本地的檔案,進行除錯,這在我們診斷跟蹤一些js檔案但卻不能修改js檔案時非常有用。比 如:在用瀏覽器測試P頁面時,P頁面引入了一個js資原始檔R.js,由於R.js檔案在伺服器S上,而我此時又不能登入S伺服器(沒有S伺服器的帳 號),此時我們就可以通過瀏覽器將R.js檔案下載到本地,然後對本地的R.js檔案進行調整,最後通過設定Fiddler,將R.js檔案的請求使用本 地的R.js檔案。
4.Composer
Composer允許自定義請求傳送到伺服器,可以手動建立一個新的請求,也可以在會話表中,拖拽一個現有的請求,Parsed模式下你只需要提供簡單的URLS地址即可(如下圖,也可以在RequestBody定製一些屬性,如模擬瀏覽器User-Agent)
5.斷點請求/響應
如圖,方框所指的位置時可以點選的。共三種狀態:(1)空白:不設定斷點。(2)箭頭向上:表示斷點請求.此時客戶端的請求是無法直接到達目標伺服器的,需要手動控制。(3)箭頭向下:表示斷點響應.此時目標伺服器的響應是無法直接到達客戶端的,需要手動控制。
除此之外,還可以在命令列中進行斷點,在命令列中輸入命令如下:
bpu www.baidu.com (斷點請求)bpuafter www.baidu.com(斷點響應)
斷點請求並修改步驟如下:
- 設定斷點請求,訪問網頁
- 點選對應的會話
- 檢視請求報文資訊
- 修改請求內容
- 完成斷點,放行,把該請求傳送給目標伺服器。
如下圖:
斷點響應修改和斷點請求操作類似,只是在響應區域修改報文資訊即可,但是在斷點響應時,請注意超時時間。
6.過濾域名
Fiddler抓包可以完成我們除錯測試需求。但是多餘的網頁請求和手機的其他連結影響我們手機開發的需求。所以我們需要排除其他無用的包,只關注我們指定的域名的請求包。開啟fiddler,找到Filters選項並點選開啟,如圖所示
預設情況下,這個頁面是灰色的,代表預設不過濾任何請求.現在我們勾選 Use Filters ,如下圖
一般常用的有三種過濾條件:
(1).域名過濾,只顯示特定域名的記錄:
這裡新增了www.baidu.com ,會話中只會出現於www.baidu.com相關的會話,其他的都會過濾掉,如下圖
(2).型別過濾,一般對各種圖片、CSS、JS這類的靜態素材也不需要看的情況下,直接全部過濾掉
(3).根據返回狀態碼,比如只想顯示200的狀態,其他的不顯示
Fiddler 的內建命令
1.?(問號)
格式:? 字串 如? baidu.com ;
作用:問號(?)後邊跟一個字串,Fiddler 將所有會話中存在該字串匹配的全部高亮顯示
提示:匹配的字串是 Protocol、Host 和 URL 中的任何子字串.
2.> 和 << strong="">
大於號(>)和小於號(<)後邊跟一個數值,表示高亮所有body大於或小於該數值的會話,比如我輸入<200,按下回車後結果如下:< p="">
3.=
等於號(=)後邊可以接 HTTP 狀態碼或 HTTP 方法,比如 =200 表示高亮所有正常響應的會話,下圖輸入了 =GET,表示希望高亮所有 GET方法的會話:
4.@
@ 後邊跟的是 Host,比如我想高亮所有百度的連結,我可以 @baidu.com
5.bpafter
bpafter 後邊跟一個字串,表示中斷所有包含該字串的會話,如bpafter baidu
6.bps
bps 後邊跟的是 HTTP 狀態碼,表示中斷所有為該狀態碼的會話。
7.bpv 或 bpm
bpv 或 bpm 後邊跟的是 HTTP 方法,表示中斷所有為該方法的會話。
8.bpu
跟 bpafter 類似,區別:bpu 是在發起請求時中斷,而 bpafter 是在收到響應後中斷。
9.cls 或 clear
清除當前的所有會話
10.dump
將所有的會話打包成 .zip 壓縮包的形式儲存到 C 盤根目錄下
11.g 或 go
放行所有中斷下來的會話。
12.hide
將 Fiddler 隱藏
13.show(貌似沒啥用)
將 Fiddler 恢復。
14.urlreplace
urlreplace 後邊跟兩個字串,表示替換 URL 中的字串。比如 urlreplace baidu fishc 表示將所有 URL 的 baidu 替換成 fishc。溫馨提示:直接輸入 urlreplace 不帶任何參數列示恢復原來的樣子。
15.start
Fiddler 開始工作。
16.stop
Fiddler 停止工作。
17.quit
關閉 Fiddler
18.select
select 後邊跟響應的型別(Content-Type),表示選中所有匹配的會話,比如希望 Fiddler 選中所有的圖片,可以使用 select image; select css 則選中所有的 css 檔案;select html 就是選中所有的 html 檔案
19.allbut 或 keeponly
與select 類似,不過 allbut 和 keeponly 會將所有無關的會話刪除。比如我只想看圖片,那麼我可以 keeponly image,表示將所有與圖片無關的會話刪除
20.!dns
!dns 後邊跟一個域名,執行 DNS 查詢並在右邊的 LOG 欄列印結果,如:!dns www.baidu.com
21.!listen
設定監聽的埠,預設是 8888