常用HTTP抓包工具Fiddler使用的12個小技巧,值得收藏!
說起抓包,很多人以為就是用個工具,簡簡單單地抓一下就可以了。昨天在面試一個安卓逆向,直接告訴我“抓包沒有技術含量”。
在這裡,我必須發一篇技術文,解析一下抓包神器——Fiddler。
Fiddler僅僅是一個抓包工具?不好意思,Fiddler用得好,真的可以為所欲為。
Fiddler的介紹
①Fiddler是強大的抓包工具,它的原理是以web代{過}{濾}理伺服器的形式進行工作的,使用的代{過}{濾}理地址是:127.0.0.1,埠預設為8888,我們也可以透過設定進行修改。
②代{過}{濾}理就是在客戶端和伺服器之間設定一道關卡,客戶端先將請求資料傳送出去後,代{過}{濾}理伺服器會將資料包進行攔截,代{過}{濾}理伺服器再冒充客戶端傳送資料到伺服器;同理,伺服器將響應資料返回,代{過}{濾}理伺服器也會將資料攔截,再返回給客戶端。
③Fiddler可以抓取支援http代{過}{濾}理的任意程式的資料包,如果要抓取https會話,要先安裝證照。
技巧一: 全新安裝 Fiddler
預設下,Fiddler 不會捕獲 HTTPS 會話,需要你設定下,開啟 Fiddler Tool->Fiddler
Options->HTTPS tab
選中 checkbox,彈出如下的對話方塊,點選"YES"
點選"Yes"後,就設定好了
技巧二:Fiddler 連線手機代理配置:
1) 依次開啟 Fiddler->Tools->Fiddler Options 在【Connection】皮膚裡將 Allow remote computers to connect 勾選,設定埠號【預設為 8888,可修改其他埠號】;點選【OK】按鈕,關閉 Fiddler 並重新開啟 Fiddler。
2) 得到本機 IP 用於手機端配置,windows->執行->cmd->ipconfig;得到本機 IP簡便獲取本機的 IP 有倆種辦法:
①滑鼠放置在 fiddler 右上角的 Online,就會顯示本機的 IP、Host 等一些資訊,如下圖
②點選 windows->執行->cmd->ipconfig;得到本機 IP
3) 手機端配置:代理設定更改為【手動】,輸入【代理伺服器主機名】(對應 PC 端的 IP 地址),輸入【代理伺服器埠號】(Fiddler 配置的埠號)
4)全部配置完畢,現在用手機開啟助手,就能在 Fiddler 中監聽到手機傳送的請求
技巧三:Fiddler 的基本介面
nspectors tab 下有很多檢視 Request 或者 Response 的訊息。其中 Raw Tab 可以檢視完整的訊息,Headers tab 只檢視訊息中的 header.如下圖
技巧四: 啟動 Fiddler 後 後 Response 是亂碼,怎麼辦?
有時候我們看到 Response 中的 HTML 是亂碼的,這是因為 HTML 被壓縮了,我們可以透過兩種方法去解壓縮。
1、點選 Response Raw 上方的"Response is encoded any may need to be decoded before inspection. click here to transform"
2、選中工具欄中的"Decode"。這樣會自動解壓縮,解壓後重啟就可以了
技巧五:QuickExec命令列的使用
Fiddler 的左下角有個命令列工具叫做 QuickExec,允許你直接輸入命令。
常見的命令有:
help: 開啟官方的使用頁面介紹,所有的命令都會列出來
cls: 清屏
Select: 選擇會話的命令
?.png: 用來選擇 png 字尾的圖片
bpu: 截獲 request
技巧六:Fiddler中建立 AutoResponder規則
Fiddler 的 AutoResponder tab 允許你從本地返回檔案,而不用將 http request 傳送到
伺服器上
看個例項.
1、進入助手首頁,把 serverconfig.html 連線儲存到本地桌面,選中該條請求,右鍵—>copyàJust Url
2、選中該條請求,點選右側選擇 AutoResponder,點選 Add Rule,把該條請求新增進去,或者把這個會話拖到 AutoResponer tab 下
3、選擇 Enable automatic reaponses 和 Unmatched requests passthrough
4、更改本地儲存的配置檔案,在下面的 Rule Editor 下面選擇 Find a file...選擇本地儲存的圖片.最後點選 Save 儲存下
5、重新首次進入助手,檢視 serverconfig 返回的資料中就是自己修改的
技巧七:Fiddler中如何過濾會話
每次使用 Fiddler,開啟一個網站,都能在 Fiddler 中看到幾十個會話,看得眼花繚亂。最好的辦法是過濾掉一些會話,比如過濾掉圖片的會話。Fiddler 中有過濾的功能,在右邊的 Filters tab 中,如下圖就是隻顯示帶有 zhushou.sogou.com 的請求
技巧八:Fiddler中提供的編碼小工具
點選 Fiddler 工具欄上的TextWizard,這個工具可以 Encode 和 Decode string.
技巧九:Fiddler中查詢會話
用快捷鍵 Ctrl+F 開啟 Find Sessions 的對話方塊,輸入關鍵字查詢你要的會話。查詢到的會話會用黃色顯示
技巧十:Fiddler中儲存會話
有些時候我們需要把會話儲存下來,以便發給別人或者以後去分析。儲存會話的步驟如下:
選擇你想儲存的會話,然後點選 File->Save->Selected Sessions
CustomRules.js
CustomRules.js 中的主要方法:
Static function OnBeforeRequest(oSession:Session)//在這個方法中修改 Response 的內容,
Static function OnBeforeResponse(oSession:Session)
//在個方法中包含 Fiddler 命令。在 Fiddler 介面中左下方的 QuickExec Box static
function OnExecAction(sParams:String[])
例項:修改sogouid
① 在選單欄中點選 Rules—》CustomRules,開啟 CustomRules.js 指令碼
② 新增如下指令碼,()裡面寫上介面名字,url 中填上請求資料
③ 更改你想要改的 sogouid 就可以
把這段指令碼放在 oSession.uriContains()方法下,並且點選"Save script",這樣該條介面下的 sogouid 就會變成自己更改的 id
if(oSession.uriContains("install.html?")){
oSession.url="mobile.zhushou.sogou.com/m/install.html?uid=d15449c17bbded35c989736
70c1e1e0c&vn=3.11.2&channel=sogouinputgx&sogouid=e9ed8a54201e5481e20f6760804772c3&stoken==IhTefovaz0ppdInTQxRlnQ&cellid=&sc=0&iv=311";
技巧十一: 修改session 在 Fiddler 的顯示樣式
把這段指令碼放在 OnBeforeRequest(oSession:Session)方法下,並且點選"Save script",這樣所有的 cnblogs 的會話都會顯示綠色。
if (oSession.uriContains("mobiletoolhit.gif?")) {oSession["ui-color"] = "green";}
技巧十二: 如何在Fiddler Script中修改 Request中的body
方法一:
Static function OnBeforeRequest(oSession:Session) {
if(oSession.uriContains("http://www.cnblogs.com/TankXiao/")) {
//獲取 Request 中的 body 字串
Var strBody=oSession.GetRequestBodyAsString();
//用正規表示式或者 replace 方法去修改 string
strBody=strBody.replace("1111","2222");
//彈個對話方塊檢查下修改後的 body
FiddlerObject.alert(strBody);
//將修改後的 body,重新寫回 Request 中
oSession.utilSetRequestBody(strBody);}}
方法二:
提供一個簡單的方法,可以直接替換 body 中的資料
oSession.utilReplaceInRequest(“ 1111”,“2222”);
post請求模擬
測試時如果客戶端的資料出錯,可能需要單獨對某個 url 進行請求,看返回資料是否正確,透過客戶端再去請求有時需要複雜的環境需求,整一次挺費勁,透過單獨的請求看資料是否正確可以節省一些時間,當然 get 請求可以直接用瀏覽器就能看到返回資料了,post 資料由於有 body 資料,需要藉助工具才行,fiddler 的 composer 功能就是為此而生的,如下圖,在上方填寫 url,選擇請求方式,在下方的 body 中新增 post 的資料後,點選execute 就是請求了,在透過 inspectors 就能看到本次模擬請求的返回值了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2649356/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【工具】Fiddler抓包使用筆記筆記
- 如何對手機http進行抓包?Fiddler工具超好用HTTP
- 如何使用Fiddler抓包操作?
- 21個值得收藏的Javascript技巧JavaScript
- Fiddler 抓包詳細使用教程
- 小程式抓包實戰:Fiddler配置與使用詳細
- Wireshark抓包工具使用教程以及常用抓包規則
- 程式設計師必備:30個MySQL資料庫常用小技巧,值得收藏!程式設計師MySql資料庫
- 智慧家居的 APP 軟體可以使用 fiddler 工具抓包嗎APP
- 認識一下HTTP抓包工具FiddlerHTTP
- Android 使用Fiddler4抓包Android
- fiddler 實現 微信(PC端)小程式抓包
- 抓包整理外篇fiddler————瞭解工具欄[一]
- java 常用工具類 (值得收藏)Java
- HTTP抓包HTTP
- 抓包工具之 Fiddler
- Fiddler(三)Fiddler設定手機抓包
- Fiddler抓包工具總結
- 用fiddler實現手機抓包
- Fiddler抓包一鍵生成程式碼
- Fiddler Everywhere for Mac(老牌抓包工具)Mac
- fiddler 電腦 手機 連線抓包
- Mac 上fiddler與charles 抓包https 小程式請求 內容MacHTTP
- Charles抓HTTP,HTTPS包HTTP
- 【爬蟲】網頁抓包工具--Fiddler爬蟲網頁
- 使用抓包工具fiddler和apipost進行介面測試API
- 使用抓包工具 fiddler 和 apipost 進行介面測試API
- Javascript中最常用的55個經典技巧 (收藏)JavaScript
- 使用Fiddler對iPhone蘋果手機進行資料抓包分析iPhone蘋果
- Fiddler抓包和修改WebSocket資料,支援wssWeb
- 抓包軟體 Fiddler 瞭解一下?
- fiddler抓包代理設定問題(PC端)
- 一些值得收藏的PowerShell工具
- APP常用抓包技術APP
- HTTP除錯工具推薦:FiddlerHTTP除錯
- 30個Python常用小技巧Python
- 分享幾個Java面試小技巧,建議收藏!Java面試
- 值得收藏的27個機器學習的小抄機器學習