HTTP
由於HTTP請求是沒有加密的,也沒有做任何驗證,所以抓包工具直接將請求轉發即可。
HTTPS
所以抓包工具在抓包HTTPS請求時,會進行偽裝。
首先用抓包工具自己的證書向客戶端偽裝成服務端,然后向服務端發送請求時偽裝成客戶端。
以此來實現數據的抓取和轉發。

Fiddler
官方網站下載安裝即可:
https://www.telerik.com/fiddler
基本可以說目前最為全面和強大的抓包工具就是fiddler了,使用也不算麻煩。
Fiddler也在官網上有提供非常詳細的文檔和教程,如果使用的時候遇到問題,可以直接查閱官網文檔。
有做任何驗證剛剛也說到了,抓包工具抓取HTTPS的包的時候跟HTTP的直接轉發是不同的。所以我們需要配置HTTPS的證書。

打開后選擇HTTPS,勾選上這個選項,然后勾選上下方出現的兩個選項。最后再將彈出的窗口都選擇yes。

02 抓包工具的使用
工具欄

1.#:Session的序號
2.Result:請求的響應狀態碼
3.Protocol:請求的協議類型
4.Host:域名
5.URL:請求的url
6.Body:響應體的大小
7.Caching:緩存方式
8.Content-Type:響應的數據類型
9.Process:發起請求的進程
10.Comments:注釋
1.給session添加一個注釋
2.Replay:將目標session再發送一次
3.刪除session
4.將斷點的session恢復執行
5.Decode:將傳輸的數據解碼成容易閱讀的格式
6.Find:查找session
7.Save**:**將session保存成本地文件
8.Clear Cache:清除緩存
Session窗口

1.#:Session的序號
2.Result:請求的響應狀態碼
3.Protocol:請求的協議類型
4.Host:域名
5.URL:請求的url
6.Body:響應體的大小
7.Caching:緩存方式
8.Content-Type:響應的數據類型
9.Process:發起請求的進程
10.Comments:注釋
同時,每一個session都有不同的顏色,不同的顏色代表不一樣的session類型。

Inspectors標簽頁

請求數據窗口
1.Headers:報頭
2.TextView:查看文本數據
3.Syntax:根據語法格式查看
4.WebForms:Web表單
5.HexView:查看十六進制數據
6.Cookies:查看請求的Cookies
7.Json:查看json格式數據
響應數據窗口
1.Transformer:解壓方式
2.Headers:報頭
3.TextView:查看文本數據
4.Syntax:根據語法格式查看
5.ImageView:查看圖片
6.WebForms:Web表單
7.HexView:查看十六進制數據
8.Cookies:查看響應設置的Cookies
9.Json:查看json格式數據
03 查找過濾**Session**
Filters選項卡

我們在抓包的時候常常會遇到非常雜亂的請求,而我們需要去分析的往往只是其中很小的一部分,那么我們就需要從許多請求中過濾出我們需要的那些請求。
1.是否使用Filters。
2.Filters的規則是可以保存和加載的,也就是我們可以把規則保存下來以后再用。
3.根據Host域名來進行篩選。
4.根據客戶端的進程來進行篩選。
5.根據請求的Headers來進行篩選。
6.斷點:Fiddler的斷點功能能夠讓請求在發送后,或者是在返回時暫停,這時候就能夠對請求和響應進行相應的修改。
7.根據響應的狀態碼篩選。
8.根據響應的類型和大小來進行篩選。
9.根據響應的Headers來進行篩選。
Find查找

使用快捷鍵ctrl+f或者在工具欄中選擇find來打開查找窗口,查找窗口可以從所有session中搜索到我們想要的session
1.文本輸入框。
2.可以選擇搜索的范圍,限定在僅Requests或者response中,也可以選擇限定在headers或bodies中。
3.是否區分大小寫。
4.是否用正則表達式來搜索。
5.僅僅搜索被選中的session。
6.將搜索到的結果高亮,可以選擇顏色。
命令行查找

在Fiddler中同樣也是可以使用命令行來進行搜索的,在圖中的黑框中輸入命令即可。
1.select命令:搜索相應類型的session,也就是content-type。
2.?命令:根據URL來進行搜索。
3.=命令:根據狀態碼來進行搜索。
4.@命令:僅根據域名進行搜索。
04 斷點
設置斷點是Fiddler最強大的功能之一,在設置好斷點后,Fiddler會捕捉所有經過的消息,我們可以任意修改HTTP請求信息,包括Host、Cookies或表單的數據。可以設置斷點修改request,也可以設置斷點修改response。
斷點方式有兩種,一種是通過菜單欄設置全局的斷點,一種是通過命令行設置指定的斷點

全局斷點
在菜單欄中選擇Rules
Automatic Breakpoints,即可選擇斷點方式。有兩個選擇,分別是在請求往服務器發送的時候暫停,和在響應返回到客戶端的時候暫停。
指定斷點
指定斷點需要輸入指定的命令來進行斷點:
1.bpu(breakpointurl):在指定網頁發起請求后暫停。如:bpu www.baidu.com
2.bpafter(breakpointafter):在指定網頁返回響應時暫停。
3.bpm(breakpointmethod):中斷指定請求方式的請求。如:bpm get
4.bps(breakpointstatus):中斷指定狀態碼的session。如:bps 200
