1. Fiddler簡介
Fiddler是用一款使用C#編寫的http協議調試代理工具。它支持眾多的http調試任務,能夠記錄並檢查所有你的電腦和互聯網之間的http通訊,可以設置斷點,查看所有的“進出”Fiddler的數據(cookie,html,js,css等)。
本文為Fiddler入門教程,主要介紹Fiddler下載安裝、Http接口抓包分析及模擬請求方法。
運行環境為Windows 7系統,Fiddler版本為4。(Fiddler有.net 2.0 和 .net 4.0 兩種版本,根據自己系統.net framework版本選擇相應版本即可)
2. Fiddler安裝
1.官網下載
地址:https://www.telerik.com/download/fiddler/fiddler4
2.安裝步驟
雙擊FiddlerSetup.exe即可完成安裝
3.啟動Fiddler
開始菜單找到Fiddler 4或找到Fiddler安裝目錄下的Fiddler.exe,運行即可
3. Fiddler配置
首先需要對Fiddler抓取Https請求進行相關配置:
1. 打開Fiddler配置項:Tools –> Options
2. 打開配置項HTTPS,勾選“Capture HTTPS CONNECTs”,同時勾選“Decrypt HTTPS traffic”,彈出的安裝證書對話框時選擇“是”。如果需要監聽不可信的證書的HTTPS請求的話,需要勾選“Ignore server certificate errors (unsafe)”。
4. 分析Http請求
4.1 Http消息結構簡介
4.1.1 Request請求消息
Request請求消息分為3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之間有個空行, 結構如下圖:
其中,第一行中的Method表示請求方法,比如"POST","GET", Path-to-resoure表示請求的資源, Http/version-number 表示HTTP協議的版本號。當使用"GET" 方法時, body為空
4.1.2 Response響應消息
和Request消息的結構基本一樣,Response響應消息的結構同樣也分為三部分:第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之間也有個空行, 結構如下圖:
HTTP/version-number表示HTTP協議的版本號,status-code 和message 表示Http響應狀態碼及消息文本,常見的有 200 OK, 302 Found, 403 Forbidden,404 Not Found,500 Internal Server Error等。
4.2 分析Get接口
4.2.1 請求示例
我們在運行Fiddler后,使用Chrome瀏覽器打開百度首頁后,並搜索關鍵詞fiddler
4.2.2 查看Get請求
此時Fiddler會抓取瀏覽器所有的Http請求,點擊任何一條請求均可看到詳細信息,包括協議類型,URL,Client及cookie信息。
如打開百度首頁,Http請求內容如下:
輸入搜索詞Fiddler后,百度搜索Http請求如下(可以看到請求關鍵參數:wd=fiddler):
點擊右側Raw查看請求詳細信息:協議類型,請求URL,參數,Headers等,其中GET類型Http接口參數在請求URL中以?打頭的key=value形式,多個參數之間以&分割
4.2.3 查看Get響應
點擊右下方Raw可以查看詳細的響應內容,包括status line,headers及body三部分
4.3 分析Post接口
4.3.1 請求示例
我們在運行Fiddler后,使用Chrome瀏覽器打開百度首頁后,點擊“登錄”按鈕,輸入用戶名密碼后完成登錄
4.3.2 查看Post請求
在Fiddler中,點擊左側請求可以查看本次登錄請求信息
點擊右側Raw可以查看Post請求詳細信息,包括request line,headers及body三部分
4.2.3 查看Post響應
點擊右下方Raw可以查看詳細的響應內容,包括status line,headers及body三部分。
5. 模擬Http請求
5.1 打開調試頁面
運行Fiddler,打開右側Composer
5.1 模擬Get請求
Get請求相對比較簡單,填入URL及必須的Headers信息即可,如我們模擬百度搜索詞語lovesoo,流程如下:
選擇接口類型為GET,填入URL:https://www.baidu.com/s?wd=lovesoo,后點擊Execute執行即可
在Fiddler左側點擊本次Get請求,就可以看到請求及響應詳細內容:
5.2 模擬Post請求
這里我們選取一個相對比較簡單的Post接口,博客園首頁獲取編輯推薦文章的editor_pick_count字段接口:
該接口只需要傳入一個參數即文章URL,流程如下:
選擇接口類型為POST,填入URL:https://www.cnblogs.com/aggsite/EditorPickStat,在Request Body填入{"url":"http://www.cnblogs.com/hohoa/p/7739271.html"},最后點擊Execute執行即可
在Fiddler左側點擊本次Post請求,就可以看到請求及響應詳細內容:
這樣我們就完成了Fiddler的入門教程,從軟件下載安裝到常見的Get/Post類型Http請求抓包及模擬。
后續會介紹使用Fiddler在手機端抓包教程,敬請期待。