Fiddler系列教程1:初識Http協議抓包工具


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在手機端抓包教程,敬請期待。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM