手机抓包fiddler配置及使用教程
轉(zhuǎn)載至:https://www.cnblogs.com/woaixuexi9999/p/9247705.html
本文基于Fiddler4講解基本使用
fiddler抓包原理
注意:Fiddler 是以代理web服務(wù)器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。當Fiddler退出的時候它會自動注銷,這樣就不會影響別的 程序。不過如果Fiddler非正常退出,這時候因為Fiddler沒有自動注銷,會造成網(wǎng)頁無法訪問。解決的辦法是重新啟動下Fiddler。
配置
打開Fiddler Tool->Fiddler Options->HTTPS 。 (配置完后記得要重啟Fiddler).
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求,第一次會彈出證書安裝提示,若沒有彈出提示,勾選Actions-> Trust Root Certificate
另外,如果你要監(jiān)聽的程序訪問的 HTTPS 站點使用的是不可信的證書,則請接著把下面的 “Ignore servercertificate errors” 勾選上。
證書安裝提示:
點擊Yes,留意一下紅框里面的內(nèi)容,DO_NOT_TRUST_FiddlerRoot ,這個就是證書的名稱。
點擊是。
點擊確定,這樣Fiddler證書就已經(jīng)添加成功了。
查看一下證書,Actions—>open windows certificate Manager
可以證書已經(jīng)添加進去了,證書名稱就是之前提醒大家留意的,【DO_NOT_TRUST_FiddlerRoot】
手機端抓包配置
fiddler監(jiān)聽端口默認是 8888,你可以把它設(shè)置成任何你想要的端口。勾選上 “Allow remote computersto connect” ,允許遠程設(shè)備連接。
為了減少干擾,可以去掉 “Act assystem proxy on startup” 。
手機端(客戶端)設(shè)置
首先查看電腦的 IP 地址,確保手機和電腦在同一個局域網(wǎng)內(nèi)
Android 手機上的配置
將 Fiddler 代理服務(wù)器的證書導(dǎo)到手機上才能抓這些 APP 的包。導(dǎo)入的過程:打開瀏覽器,在地址欄中輸入代理服務(wù)器的 IP 和端口(即電腦的IP加fiddler的端口),會看到一個Fiddler 提供的頁面,然后確定安裝就好了
打開 WiFi 設(shè)置頁面,選擇要連接的 wifi ,并且長按,在彈出的對話框中,選擇“修改網(wǎng)絡(luò)”。在接下來彈出的對話框中,勾選“顯示高級選項”。在接下來顯示的頁面中,點擊“代理”,選擇“手動”。代理服務(wù)器主機名設(shè)為 PC 的 IP ,代理服務(wù)器端口設(shè)為 Fiddler 上配置的端口 8888,點”保存”。
蘋果手機上的配置
蘋果手機上的配置其實跟 Android 手機基本是一樣的。如圖
至此已配置完成。
Fiddler的使用
視圖功能區(qū)域
會話的概念:一次請求和一次響應(yīng)就是一個會話。
fiddler主界面
下面挑幾個快捷功能區(qū)中常用幾項解釋,其他功能自己嘗試:
快捷功能區(qū)
1:給會話添加備注信息
2:重新加載當前會話
3:刪除會話選項
4:放行,和斷點對應(yīng),后面詳細講解
5:響應(yīng)模式。也即是,當Fiddler拿到遠程的response后是緩存起來一次響應(yīng)給客戶端還是以stream的方式直接響應(yīng)。
6:解碼。有些請求是被編碼的,點擊這個按鈕后可以根據(jù)響應(yīng)的編碼格式自動解碼。
7:查找會話。
8:保存會話。
9:截屏。截屏后,會以會話的方式返回一個截圖。
接著來看看會話列表
#欄圖標說明
快捷鍵
刪除一條會話,可以在選中會話后,按del刪除,如若要清空列表,可以用Ctrl+X
左鍵點擊單條HTTP請求,可以在右側(cè)的tab面板中看到如下信息:
1.Statistic。
關(guān)于HTTP請求的性能和其他數(shù)據(jù)分析:
我們可以從中看出一些基本性能數(shù)據(jù):如DNS解析的時間消耗是8ms,建立TCP/IP連接的時間消耗是8ms等等信息。
2.Inspectors
提供headers、textview、hexview,Raw等多種方式查看單條http請求的請求報文的信息,分為上下兩個部分,上半部分是請求頭部分,下半部分是響應(yīng)頭部分。對于每一部分,提供了多種不同格式查看每個請求和響應(yīng)的內(nèi)容。
a、ImageView標簽
JPG格式使用ImageView就可以看到圖片,選擇一條Content-Type是image/jpeg的回話,點擊TextView
b、TextView 標簽
HTML/JS/CSS使用TextView可以看到響應(yīng)的內(nèi)容。選擇一條Content-Type是text/html的回話,點擊TextView
c、Raw標簽
Raw標簽可以查看響應(yīng)報文和響應(yīng)正文,但是不包含請求報文
d、Auth標簽
Auth則可以查看授權(quán)Proxy-Authorization和Authorization的相關(guān)信息
e、Cookies標簽
Cookies標簽可以看到請求的cookie和響應(yīng)的set-cookie頭信息。
3.AutoResponder標簽
Fiddler 的AutoResponder tab允許你從本地返回文件,而不用將http request 發(fā)送到服務(wù)器上。
下邊直接說他的使用方式把:
使用的是手機上邊的百度手機助手的棋牌游戲界面。
1、首先看圖(我們來重定向第一個歡樂斗地主這個圖片)
2、打開Fiddler,然后點擊棋牌游戲進入上邊這個界面,就能發(fā)現(xiàn)會請求當前顯示的這五張圖片
這個時候我們切換到AutoResponder這個界面,點擊鼠標左鍵,把要重定向的這個session會話拖動到AutoResponder界面中
選擇了我們要返回的圖片以后,然后點擊save。
然后關(guān)掉應(yīng)該,清楚應(yīng)用緩存,然后在打開,點擊棋牌游戲,可以看到
這是實現(xiàn)了替換其中一個,也許你會說,是不是本來就是那樣啊,那么在介紹一個根據(jù)別的規(guī)則來進行重定向。
我們通過重定向向,把所有的百度手機助手中的圖片都替換成剛才的小頭像。
前便的操作時一樣的,拖過來以后我們可以點擊Save前邊的倒的小三角,然后就可以看到,里邊有很多規(guī)則,現(xiàn)在我們選擇
第一個:這是一個正則表達式。
然后在選擇剛才的那個頭像圖片,然后save。
清除緩存,重新打開,可以看下圖:
可以看到,所有的jpg格式的都變成了我們的頭像了。
關(guān)于重定向還有很多,剩下的就需要自己慢慢研究了。
小結(jié):AutoResponder功能是Fiddler最實用的功能之一,Rule可以自由地設(shè)定,可以使用搜索(默認)、精確匹配(EXACT)、正則表達式匹配(REGEX)。處理方式可以選擇使用文件,也可以選擇合適的時間暫停數(shù)據(jù)流(*bpu、*bpafter),人工干預(yù)。通過以上幾個步驟,我們演示了怎樣將HTTP請求重定向到本地的文件,進行調(diào)試,這在我們診斷跟蹤一些js文件但卻不能修改js文件時非常有用。比 如:在用瀏覽器測試P頁面時,P頁面引入了一個js資源文件R.js,由于R.js文件在服務(wù)器S上,而我此時又不能登錄S服務(wù)器(沒有S服務(wù)器的帳 號),此時我們就可以通過瀏覽器將R.js文件下載到本地,然后對本地的R.js文件進行調(diào)整,最后通過設(shè)置Fiddler,將R.js文件的請求使用本 地的R.js文件。
4.Composer 自定義請求發(fā)送服務(wù)器
Composer允許自定義請求發(fā)送到服務(wù)器,可以手動創(chuàng)建一個新的請求,也可以在會話表中,拖拽一個現(xiàn)有的請求
Parsed模式下你只需要提供簡單的URLS地址即可(如下圖,也可以在RequestBody定制一些屬性,如模擬瀏覽器User-Agent)
5.斷點請求/響應(yīng)
如圖,箭頭所指的位置時可以點擊的。共三種狀態(tài):
空白:不設(shè)置斷點。
箭頭向上:表示斷點請求。此時客戶端的請求是無法直接到達目標服務(wù)器的,需要手動控制。
箭頭向下:表示斷點響應(yīng)。此時目標服務(wù)器的響應(yīng)是無法直接到達客戶端的,需要手動控制。
還有一種打斷點的方式
在命令行中輸入命令:
bpuwww.baidu.com (斷點請求)
bpuafter www.baidu.com(斷點響應(yīng))
這種方法只會中斷www.baidu.com
斷點請求并修改
如圖,操作步驟:
設(shè)置斷點請求,訪問網(wǎng)頁
點擊對應(yīng)的會話
查看請求報文信息
修改請求內(nèi)容
完成斷點,放行,把該請求發(fā)送給目標服務(wù)器。
圖中Break On Response表示把請求發(fā)給服務(wù)器,但是服務(wù)器的響應(yīng)被fiddler攔截,此時可以修改響應(yīng)內(nèi)容(和斷點響應(yīng)類似)。
斷點響應(yīng)并修改
和斷點請求操作類似,只是在響應(yīng)區(qū)域修改報文信息即可。
在斷點響應(yīng)時,請注意超時時間。
6.過濾域名
Fiddler抓包可以完成我們移動開發(fā)者的調(diào)試測試需求。但是多余的網(wǎng)頁請求和手機的其他鏈接影響我們手機開發(fā)的需求。所以我們需要排除其他無用的包,只關(guān)注我們指定的域名的請求包。
打開fiddler,找到Filters選項并點擊打開。如圖所示
默認情況下,這個頁面是灰色的,代表默認不過濾任何請求。現(xiàn)在我們勾選Use Filters。
一般常用的有三種過濾條件:
1.域名過濾,只顯示特定域名的記錄:
*.baidu.com表示所有的百度二級域名會話;*baidu.com表示一級域名+二級域名的會話。設(shè)置好了后一定要點擊Actions生效;
2.類型過濾,一般對各種圖片、CSS、JS這類的靜態(tài)素材也不需要看的情況下,直接全部過濾掉
.*.(bmp|css|js|gif|ico|jp?g|png|swf|woff)
需要過濾多少自己直接加入就好了
3.根據(jù)返回狀態(tài)碼,比如只想顯示200的狀態(tài),其他的不顯示
Fiddler 的內(nèi)置命令
?
問號(?)后邊跟一個字符串,F(xiàn)iddler 將所有會話中存在該字符串匹配的全部高亮顯示(下圖輸入的是 ?google.com)
溫馨提示:匹配的字符串是 Protocol、Host 和 URL 中的任何子字符串。
> 和 <
大于號(>)和小于號(<)后邊跟一個數(shù)值,表示高亮所有尺寸大于或小于該數(shù)值的會話。
比如我輸入 >5000,按下回車后結(jié)果如下:
溫馨提示:你可以直接輸入 >5k 表示你想高亮所有尺寸大于 5KB 的會話。
=
等于號(=)后邊可以接 HTTP 狀態(tài)碼或 HTTP 方法,比如 =200 表示高亮所有正常響應(yīng)的會話。
下圖輸入了 =POST,表示希望高亮所有 POST 方法的會話:
@
@ 后邊跟的是 Host,比如我想高亮所有魚C論壇的連接,我可以 @bbs.fishc.com
溫馨提示:下邊 bpafter、bps、bpv、bpm 和 bpu 用于設(shè)置斷點。
會話被中斷下來之后,點擊頁面上方的 Go 按鈕放行當前中斷下來的會話,但新的匹配內(nèi)容還是會被斷下來,輸入命令但不帶參數(shù)表示取消之前設(shè)置的斷點。
bpafter
bpafter 后邊跟一個字符串,表示中斷所有包含該字符串的會話。
比如我想中斷所有包含 fishc 的響應(yīng),那么我輸入 bpafter fishc,然后在瀏覽器輸入 bbs.fishc.com,發(fā)現(xiàn)并沒有收到服務(wù)器響應(yīng),因此都給 Fiddler 斷下來了:
bps
bps 后邊跟的是 HTTP 狀態(tài)碼,表示中斷所有為該狀態(tài)碼的會話。
bpv 或 bpm
bpv 或 bpm 后邊跟的是 HTTP 方法,表示中斷所有為該方法的會話。
bpu
跟 bpafter 類似,區(qū)別:bpu 是在發(fā)起請求時中斷,而 bpafter 是在收到響應(yīng)后中斷。
cls 或 clear
清除當前的所有會話。
dump
將所有的會話打包成 .zip 壓縮包的形式保存到 C 盤根目錄下。
g 或 go
放行所有中斷下來的會話。
hide
將 Fiddler 隱藏。
show
將 Fiddler 恢復(fù)。
urlreplace
urlreplace 后邊跟兩個字符串,表示替換 URL 中的字符串。比如 urlreplace baidu fishc 表示將所有 URL 的 baidu 替換成 fishc。
溫馨提示:直接輸入 urlreplace 不帶任何參數(shù)表示恢復(fù)原來的樣子。
start
Fiddler 開始工作。
stop
Fiddler 停止工作。
quit
關(guān)閉 Fiddler。
select
select 后邊跟響應(yīng)的類型(Content-Type),表示選中所有匹配的會話。
比如希望 Fiddler 選中所有的圖片,可以使用 select image;
而 select css 則選中所有的 css 文件;
當然,select htm 就是選中所有的 html 文件啦~
allbut 或 keeponly
跟 select 類似,不過 allbut 和 keeponly 會將所有無關(guān)的會話刪除。
比如我只想看圖片,那么我可以 keeponly image,表示將所有與圖片無關(guān)的會話刪除:
!dns
后邊跟一個域名,執(zhí)行 DNS 查找并在右邊的 LOG 欄打印結(jié)果:
!listen
設(shè)置其他監(jiān)聽的端口,默認是 8888。。
總結(jié)
以上是生活随笔為你收集整理的手机抓包fiddler配置及使用教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 竞争冒险及其消除
- 下一篇: 史上最难隧道挖了整整12年!大瑞铁路大保