HTTP代理
http代理,就是代理客戶機的http訪問,主要代理瀏覽器訪問頁面
代理服務器是介於瀏覽器和web服務器之間的一台服務器,有了它之后,瀏覽器不是直接到Web服務器去取回網頁而是向代理服務器發出請求,
Request信號會先送到代理服務器,由代理服務器來取回瀏覽器所需要的信息並傳送給你的瀏覽器
Fiddler
安裝
官方網站下載安裝:https://www.telerik.com/fiddler
配置HTTPS的證書
Tools --> Options --> HTTPS
全部勾選,彈窗都選擇yes
工具欄
1.給session添加一個注釋
2.Replay:將目標session再發送一次
3.刪除session
4.將斷點的session恢復執行
5.Decode:將傳輸的數據解碼成容易閱讀的格式
6.Find:查找session
7.Save:將session保存成本地文件
8.Clear Cache:清除緩存
Session窗口
#:Session的序號
Result:請求的響應狀態碼
Protocol:請求的協議類型
Host:域名
URL:請求的url
Body:響應體的大小
Caching:緩存方式
Content-Type:響應的數據類型
Process:發起請求的進程
Comments:注釋
每一個session都有不同的顏色,不同的顏色代表不一樣的session類型
紅色:表示HTTP狀態(錯誤)
黃色:表示HTTP狀態(認證)
灰色:表示數據流類型CONNECT或表示響應類型為圖像
紫色:表示響應類型為CSS
藍色:表示響應類型為HTMLe
綠色:表示響應類型為scripte
Inspectors標簽頁
Transformer:解壓方式
Headers:報頭
TextView:查看文本數據
Syntax:根據語法格式查看
ImageView:查看圖片
WebForms:Web表單
HexView:查看十六進制數據
Cookies:查看設置的Cookies
Json:查看json格式數據
Filters選項
1:是否使用Filters
2:Filters的規則是可以保存和加載的,也就是我們可以把規則保存下來以后再用
3:根據Host域名來進行篩選
4:根據客戶端的進程來進行篩選
5:根據請求的Headers來進行篩選
6:斷點:Fiddler的斷點功能能夠讓請求在發送后,或者是在返回時暫停,這時候就能夠對請求和響應進行相應的修改
7:根據響應的狀態碼篩選
8:根據響應的類型和大小來進行篩選
9:根據響應的Headers來進行篩選
Find查找
1.文本輸入框
2.可以選擇搜索的范圍,限定在僅Requests或者response中,也可以選擇限定在headers或bodies中
3.是否區分大小寫
4.是否用正則表達式來搜索
5.僅僅搜索被選中的session
6.將搜索到的結果高亮,可以選擇顏色
命令行查找
select命令:搜索相應類型的session,也就是content-type
? 命令:根據URL來進行搜索
= 命令:根據狀態碼來進行搜索
@ 命令:僅根據域名進行搜索
斷點
全局斷點
在菜單欄中選擇 Rules > Automatic Breakpoints,即可選擇斷點方式。有兩個選擇,分別是在請求往服務器發送的時候暫停,和在響應返回到客戶端的時候暫停
指定斷點
指定斷點需要輸入指定的命令來進行斷點:
bpu:在指定網頁發起請求后暫停。如:bpu www.baidu.com
bpafter:在指定網頁返回響應時暫停
bpm:中斷指定請求方式的請求。如:bpm get
bps:中斷指定狀態碼的session。如:bps 200
app抓包
連接網絡
首先確保手機和電腦在同一個網絡
安裝fiddler,並且進行配置:Tools >> options >> connections >> 勾選 allow remote computers to connect
查看本機ip地址:在cmd窗口中,輸入 ipconfig ,查看 以太網 ,可以看到IPv4 地址...............:192.168.0.104,這個就是你的本機IP
手機連接wifi,並且和電腦是在同一個局域網,在手機中,打開瀏覽器,訪問 http://192.168.0.104:8888 ,有些瀏覽器會顯示打不開,更換其他瀏覽器就可以了
訪問網頁
訪問成功的話,會顯示:
點擊 FiddlerRoot certificate , 下載 證書
安裝證書
部分手機可以直接點擊 安裝
部分手機需要 設置 >> wifi(或WLAN) >> 高級設置 >> 安裝證書 >>選中剛剛下載的 證書文件 FiddlerRoot.cer >> 確定
設置(Settings) >> 更多設置 >> 系統安全 >> 從存儲設備安裝
為證書命名 , 輸入自己喜歡的名字,例如 fiddler ,確定 , 顯示 證書安裝完成
安裝完成后,在 設置(Settings) >> 更多設置 >> 系統安全 >> 信任的憑證 >>系統和用戶2個tab頁 >> 用戶 >> 可以查看到 DO_NOT_RUST_FiddlerRoot
PS: 不安裝證書,抓取http的數據是沒問題的,但是抓取不了https的數據
手機抓包
手機設置代理(不同的手機不一樣)
手機設置 >> wifi(或WLAN) >> 選中連接的網絡 >> 代理 >> 手動
主機名(IPv4地址):192.168.0.104 這個是剛剛在 cmd 中查看到的電腦的 IP 端口 :8888 不使用網址: 這個不用理會 修改完成后,確認
打開 fiddler 的抓包,然后在手機端運行要抓包的app,會查看到fiddler中已經可以抓到app的數據了
大部分app都可以直接抓包
少部分app沒辦法直接獲取,需要 wireshark、反編譯、脫殼 等方式去查找加密算法
app抓包一般都是抓取到服務器返回的json數據包