感謝肖佳大佬,此篇文章轉(zhuǎn)載自他的博客,后續(xù)還有介紹,可以移步他個人的網(wǎng)站,此處只做拋磚引玉http://www.cnblogs.com/TankXiao/p/3063871.html
Fiddler是我最喜愛的工具,幾乎每天都用, 我已經(jīng)用了8年了。 至今我也只學會其中大概50%的功能。 Fiddler絕對稱得上是"神器", 任何一個搞IT的人都得著的。
小弟我立志, 一定要把Fiddler的所有的功能和用法都寫出來。 寫成一個完整系列的教程。
Fiddler不但能截獲各種瀏覽器發(fā)出的HTTP請求, 也可以截獲各種智能手機發(fā)出的HTTP/HTTPS請求。
Fiddler能捕獲IOS設(shè)備發(fā)出的請求,比如IPhone, IPad, MacBook. 等等蘋果的設(shè)備。 同理,也可以截獲Andriod,Windows Phone的等設(shè)備發(fā)出的HTTP/HTTPS。
本文介紹Fiddler截獲IPhone發(fā)出的HTTP/HTTPS包
前提條件是:安裝Fiddler的機器,跟Iphone 在同一個網(wǎng)絡里, 否則IPhone不能把HTTP發(fā)送到Fiddler的機器上來。
閱讀目錄
- 截獲智能手機發(fā)出的HTTP包有什么用?
- 配置Fiddler, 允許"遠程連接"
- 獲取Fiddler所在機器的IP地址
- IPhone上安裝Fiddler證書
- IPhone上配置Fiddler為代理
- 大功告成,開始抓包
- 只能捕獲HTTP,而不能捕獲HTTPS的解決辦法
- Fiddler捕獲其他手機或者平板
截獲智能手機發(fā)出的HTTP包有什么用?
用處一: 手機軟件程序員利用Fiddler,可以截獲手機發(fā)出的HTTP包, 從而調(diào)試程序
用處二: 軟件測試人員用于測試智能手機上的軟件。
用處三: 可以用來在App應用商店中刷排名
用處四: 截獲了HTTP/HTTPS后,你想干什么就干什么,比如修改Request,或者Response.
配置Fiddler, 允許"遠程連接"
打開Fiddler, Tools-> Fiddler Options 。 (配置完后記得要重啟Fiddler).
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請求
選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求發(fā)送到Fiddler上來


獲取Fiddler所在機器的IP地址
這個簡單吧。 我Fidder所在的機器地址是: 192.168.1.104
IPhone上安裝Fiddler證書
這一步是為了讓Fiddler能捕獲HTTPS請求。 如果你只需要截獲HTTP請求, 可以忽略這一步
1. 首先要知道Fiddler所在的機器的IP地址: 假如我安裝了Fiddler的機器的IP地址是:192.168.1.104
2. 打開IPhone 的Safari, 訪問 http://192.168.1.104:8888, 點"FiddlerRoot certificate" 然后安裝證書

[圖片上傳中...(image-a679a2-1553598481090-1)]
IPhone上配置Fiddler為代理
打開IPhone, 找到你的網(wǎng)絡連接, 打開HTTP代理, 輸入Fiddler所在機器的IP地址(比如:192.168.1.104) 以及Fiddler的端口號8888

大功告成,開始抓包
現(xiàn)在IPhone上的應用(比如Safari, Firefox, Itunes, App Store)發(fā)出的HTTP/HTTPS都可以被Fiddler獲取。
實例: 打開Safari,
1. 輸入http://www.cnblogs.com/tankxiao. 看看Fiddler能否捕獲。
- 輸入https://dynamic.12306.cn/otsweb/ 看看Fiddler能否捕獲。
是不是HTTP和HTTPS都截獲到了????, 你不但能截獲, 還可以下斷點,修改Request, 修改Response, Do what you want.
用完了, 記得把IPhone上的Fiddler代理關(guān)閉, 以免IPhone上不了網(wǎng)。
只能捕獲HTTP,而不能捕獲HTTPS的解決辦法
有時候會發(fā)現(xiàn), Fiddler 只能捕獲IPhone發(fā)出得HTTP請求, 而不能捕獲HTTPS請求, 原因可能是證書沒有安裝好。 解決辦法是:
1. 先把IPhone上所有的Fiddler證書刪除 (拿出IPhone, 點”設(shè)置“->“通用”->"描述文件")
2. 安裝上面的方法,重新安裝Fiddler證書
Fiddler捕獲其他手機或者平板
方法類似
補充:
最近iPhone系統(tǒng)更新到iOS 10.3后,在公司里用Charles抓包竟然出現(xiàn)了一些問題,https的請求都會失敗,提示錯誤信息為Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何問題都沒有,并且相關(guān)設(shè)置都正確:Mac上安裝了Charles的根證書,并且設(shè)置了始終信任,然后手機上也登錄了http://chls.pro/ssl安裝了描述文件,一切都按正常程序走的,但是錯誤始終無法解決.這里Charles的相關(guān)使用不做介紹,不會使用的請參考本文結(jié)尾處唐巧大大的博文.
相關(guān)環(huán)境
- Charles 4.0.2
- iPhone 6s iOS 10.3.1
原因
設(shè)置->通用->描述文件->charles proxy custom root certificate
雖然charles的根證書已經(jīng)在安裝列表中顯示,但它是被關(guān)閉的。在iOS 10.3之前,當你將安裝一個自定義證書,iOS會默認信任,不需要進一步的設(shè)置。而iOS 10.3之后,安裝新的自定義證書默認是不受信任的。如果要信任已安裝的自定義證書,需要手動打開開關(guān)以信任證書。
解決
設(shè)置->通用->關(guān)于本機->證書信任設(shè)置-> 找到charles proxy custom root certificate然后信任該證書即可.

作者:范范飯?zhí)叵?br>
鏈接:http://m.itdecent.cn/p/6ad09374053b
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。