視圖功能區域
會話的概念:一次請求和一次響應就是一個會話。
fiddler主界面
下面挑幾個快捷功能區中常用幾項解釋,其他功能自己嘗試:

1:給會話添加備注信息 2:重新加載當前會話 3:刪除會話選項 4:放行,和斷點對應,后面詳細講解 5:響應模式。也即是,當Fiddler拿到遠程的response后是緩存起來一次響應給客戶端還是以stream的方式直接響應。 6:解碼。有些請求是被編碼的,點擊這個按鈕后可以根據響應的編碼格式自動解碼。 7:查找會話。 8:保存會話。 9:截屏。截屏后,會以會話的方式返回一個截圖。

#欄圖標說明
快捷鍵
刪除一條會話,可以在選中會話后,按del刪除,如若要清空列表,可以用Ctrl+X
左鍵點擊單條HTTP請求,可以在右側的tab面板中看到如下信息:
1. Statistic。
關於HTTP請求的性能和其他數據分析:
我們可以從中看出一些基本性能數據:如DNS解析的時間消耗是8ms,建立TCP/IP連接的時間消耗是8ms等等信息。
2. Inspectors
提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報文的信息,分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不同格式查看每個請求和響應的內容。
a、ImageView標簽
JPG 格式使用 ImageView 就可以看到圖片,選擇一條Content-Type是image/jpeg的回話,點擊TextView
b、TextView 標簽
HTML/JS/CSS 使用 TextView 可以看到響應的內容。選擇一條Content-Type是text/html的回話,點擊TextView
c、Raw標簽
Raw標簽可以查看響應報文和響應正文,但是不包含請求報文
d、Auth標簽
Auth則可以查看授權Proxy-Authorization 和 Authorization的相關信息
e、Cookies標簽
Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。
3.AutoResponder標簽
Fiddler 的AutoResponder tab允許你從本地返回文件,而不用將http request 發送到服務器上。
下邊直接說他的使用方式把:
使用的是手機上邊的百度手機助手的棋牌游戲界面。
1、首先看圖 (我們來重定向第一個歡樂斗地主這個圖片)
2、打開Fiddler,然后點擊棋牌游戲進入上邊這個界面,就能發現會請求當前顯示的這五張圖片
這個時候我們切換到AutoResponder這個界面,點擊鼠標左鍵,把要重定向的這個session會話拖動到AutoResponder界面中
選擇了我們要返回的圖片以后,然后點擊save。
然后關掉應該,清楚應用緩存,然后在打開,點擊棋牌游戲,可以看到
這是實現了替換其中一個,也許你會說,是不是本來就是那樣啊,那么在介紹一個根據別的規則來進行重定向。
我們通過重定向向,把所有的百度手機助手中的圖片都替換成剛才的小頭像。
前便的操作時一樣的,拖過來以后我們可以點擊Save前邊的倒的小三角,然后就可以看到,里邊有很多規則,現在我們選擇
第一個:這是一個正則表達式。
然后在選擇剛才的那個頭像圖片,然后save。
清除緩存,重新打開,可以看下圖:
可以看到,所有的jpg格式的都變成了我們的頭像了。
關於重定向還有很多,剩下的就需要自己慢慢研究了。
小結: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.斷點請求/響應
如圖,箭頭所指的位置時可以點擊的。共三種狀態:
空白:不設置斷點。
箭頭向上:表示斷點請求。此時客戶端的請求是無法直接到達目標服務器的,需要手動控制。
箭頭向下:表示斷點響應。此時目標服務器的響應是無法直接到達客戶端的,需要手動控制。
還有一種打斷點的方式
在命令行中輸入命令:
bpu www.baidu.com (斷點請求)
bpuafter www.baidu.com(斷點響應)
這種方法只會中斷www.baidu.com
斷點請求並修改
如圖,操作步驟:
- 設置斷點請求,訪問網頁
- 點擊對應的會話
- 查看請求報文信息
- 修改請求內容
- 完成斷點,放行,把該請求發送給目標服務器。
圖中Break On Response表示把請求發給服務器,但是服務器的響應被fiddler攔截,此時可以修改響應內容(和斷點響應類似)。
斷點響應並修改
和斷點請求操作類似,只是在響應區域修改報文信息即可。
在斷點響應時,請注意超時時間。
6.過濾域名
Fiddler抓包可以完成我們移動開發者的調試測試需求。但是多余的網頁請求和手機的其他鏈接影響我們手機開發的需求。所以我們需要排除其他無用的包,只關注我們指定的域名的請求包。
打開fiddler,找到Filters選項並點擊打開。如圖所示
默認情況下,這個頁面是灰色的,代表默認不過濾任何請求。現在我們勾選 Use Filters
。
一般常用的有三種過濾條件:
1.域名過濾,只顯示特定域名的記錄:
*.baidu.com表示所有的百度二級域名會話;*baidu.com表示一級域名+二級域名的會話。設置好了后一定要點擊Actions生效;
2.類型過濾,一般對各種圖片、CSS、JS這類的靜態素材也不需要看的情況下,直接全部過濾掉
需要過濾多少自己直接加入就好了
3.根據返回狀態碼,比如只想顯示200的狀態,其他的不顯示
Fiddler 的內置命令
?
問號(?)后邊跟一個字符串,Fiddler 將所有會話中存在該字符串匹配的全部高亮顯示(下圖輸入的是 ?google.com)
溫馨提示:匹配的字符串是 Protocol、Host 和 URL 中的任何子字符串。
> 和 <
大於號(>)和小於號(<)后邊跟一個數值,表示高亮所有尺寸大於或小於該數值的會話。
比如我輸入 >5000,按下回車后結果如下:
溫馨提示:你可以直接輸入 >5k 表示你想高亮所有尺寸大於 5KB 的會話。
=
等於號(=)后邊可以接 HTTP 狀態碼或 HTTP 方法,比如 =200 表示高亮所有正常響應的會話。
下圖輸入了 =POST,表示希望高亮所有 POST 方法的會話:
@
@ 后邊跟的是 Host,比如我想高亮所有魚C論壇的連接,我可以 @bbs.fishc.com
溫馨提示:下邊 bpafter、bps、bpv、bpm 和 bpu 用於設置斷點。
會話被中斷下來之后,點擊頁面上方的 Go 按鈕放行當前中斷下來的會話,但新的匹配內容還是會被斷下來,輸入命令但不帶參數表示取消之前設置的斷點。
bpafter
bpafter 后邊跟一個字符串,表示中斷所有包含該字符串的會話。
比如我想中斷所有包含 fishc 的響應,那么我輸入 bpafter fishc,然后在瀏覽器輸入 bbs.fishc.com,發現並沒有收到服務器響應,因此都給 Fiddler 斷下來了:
bps
bps 后邊跟的是 HTTP 狀態碼,表示中斷所有為該狀態碼的會話。
bpv 或 bpm
bpv 或 bpm 后邊跟的是 HTTP 方法,表示中斷所有為該方法的會話。
bpu
跟 bpafter 類似,區別:bpu 是在發起請求時中斷,而 bpafter 是在收到響應后中斷。
cls 或 clear
清除當前的所有會話。
dump
將所有的會話打包成 .zip 壓縮包的形式保存到 C 盤根目錄下。
g 或 go
放行所有中斷下來的會話。
hide
將 Fiddler 隱藏。
show
將 Fiddler 恢復。
urlreplace
urlreplace 后邊跟兩個字符串,表示替換 URL 中的字符串。比如 urlreplace baidu fishc 表示將所有 URL 的 baidu 替換成 fishc。
溫馨提示:直接輸入 urlreplace 不帶任何參數表示恢復原來的樣子。
start
Fiddler 開始工作。
stop
Fiddler 停止工作。
quit
關閉 Fiddler。
select
select 后邊跟響應的類型(Content-Type),表示選中所有匹配的會話。
比如希望 Fiddler 選中所有的圖片,可以使用 select image;
而 select css 則選中所有的 css 文件;
當然,select htm 就是選中所有的 html 文件啦~
allbut 或 keeponly
跟 select 類似,不過 allbut 和 keeponly 會將所有無關的會話刪除。
比如我只想看圖片,那么我可以 keeponly image,表示將所有與圖片無關的會話刪除:
!dns
后邊跟一個域名,執行 DNS 查找並在右邊的 LOG 欄打印結果:
!listen
設置其他監聽的端口,默認是 8888。。
轉自:https://www.cnblogs.com/woaixuexi9999/p/9247705.html