感謝肖佳大佬妓盲,此篇文章轉(zhuǎn)載自他的博客麸折,后續(xù)還有介紹忧勿,可以移步他個(gè)人的網(wǎng)站垫言,此處只做拋磚引玉http://www.cnblogs.com/TankXiao/p/3063871.html
Fiddler是我最喜愛(ài)的工具贰剥,幾乎每天都用, 我已經(jīng)用了8年了筷频。 至今我也只學(xué)會(huì)其中大概50%的功能蚌成。 Fiddler絕對(duì)稱得上是"神器", 任何一個(gè)搞IT的人都得著的凛捏。
小弟我立志担忧, 一定要把Fiddler的所有的功能和用法都寫出來(lái)。 寫成一個(gè)完整系列的教程坯癣。
Fiddler不但能截獲各種瀏覽器發(fā)出的HTTP請(qǐng)求, 也可以截獲各種智能手機(jī)發(fā)出的HTTP/HTTPS請(qǐng)求瓶盛。
Fiddler能捕獲IOS設(shè)備發(fā)出的請(qǐng)求,比如IPhone, IPad, MacBook. 等等蘋果的設(shè)備。 同理惩猫,也可以截獲Andriod芝硬,Windows Phone的等設(shè)備發(fā)出的HTTP/HTTPS。
本文介紹Fiddler截獲IPhone發(fā)出的HTTP/HTTPS包
前提條件是:安裝Fiddler的機(jī)器轧房,跟Iphone 在同一個(gè)網(wǎng)絡(luò)里拌阴, 否則IPhone不能把HTTP發(fā)送到Fiddler的機(jī)器上來(lái)。
閱讀目錄
- 截獲智能手機(jī)發(fā)出的HTTP包有什么用?
- 配置Fiddler, 允許"遠(yuǎn)程連接"
- 獲取Fiddler所在機(jī)器的IP地址
- IPhone上安裝Fiddler證書
- IPhone上配置Fiddler為代理
- 大功告成奶镶,開始抓包
- 只能捕獲HTTP,而不能捕獲HTTPS的解決辦法
- Fiddler捕獲其他手機(jī)或者平板
截獲智能手機(jī)發(fā)出的HTTP包有什么用?
用處一: 手機(jī)軟件程序員利用Fiddler迟赃,可以截獲手機(jī)發(fā)出的HTTP包, 從而調(diào)試程序
用處二: 軟件測(cè)試人員用于測(cè)試智能手機(jī)上的軟件厂镇。
用處三: 可以用來(lái)在App應(yīng)用商店中刷排名
用處四: 截獲了HTTP/HTTPS后纤壁,你想干什么就干什么,比如修改Request剪撬,或者Response.
配置Fiddler, 允許"遠(yuǎn)程連接"
打開Fiddler, Tools-> Fiddler Options 摄乒。 (配置完后記得要重啟Fiddler).
選中"Decrpt HTTPS traffic", Fiddler就可以截獲HTTPS請(qǐng)求
選中"Allow remote computers to connect". 是允許別的機(jī)器把HTTP/HTTPS請(qǐng)求發(fā)送到Fiddler上來(lái)
獲取Fiddler所在機(jī)器的IP地址
這個(gè)簡(jiǎn)單吧。 我Fidder所在的機(jī)器地址是: 192.168.1.104
IPhone上安裝Fiddler證書
這一步是為了讓Fiddler能捕獲HTTPS請(qǐng)求残黑。 如果你只需要截獲HTTP請(qǐng)求馍佑, 可以忽略這一步
1. 首先要知道Fiddler所在的機(jī)器的IP地址: 假如我安裝了Fiddler的機(jī)器的IP地址是:192.168.1.104
2. 打開IPhone 的Safari, 訪問(wèn) http://192.168.1.104:8888, 點(diǎn)"FiddlerRoot certificate" 然后安裝證書
[圖片上傳中...(image-a679a2-1553598481090-1)]
IPhone上配置Fiddler為代理
打開IPhone, 找到你的網(wǎng)絡(luò)連接梨水, 打開HTTP代理拭荤, 輸入Fiddler所在機(jī)器的IP地址(比如:192.168.1.104) 以及Fiddler的端口號(hào)8888
大功告成,開始抓包
現(xiàn)在IPhone上的應(yīng)用(比如Safari, Firefox, Itunes, App Store)發(fā)出的HTTP/HTTPS都可以被Fiddler獲取疫诽。
實(shí)例: 打開Safari舅世,
1. 輸入http://www.cnblogs.com/tankxiao. 看看Fiddler能否捕獲。
- 輸入https://dynamic.12306.cn/otsweb/ 看看Fiddler能否捕獲奇徒。
是不是HTTP和HTTPS都截獲到了雏亚??摩钙?罢低?, 你不但能截獲胖笛, 還可以下斷點(diǎn)网持,修改Request, 修改Response, Do what you want.
用完了, 記得把IPhone上的Fiddler代理關(guān)閉长踊, 以免IPhone上不了網(wǎng)功舀。
只能捕獲HTTP,而不能捕獲HTTPS的解決辦法
有時(shí)候會(huì)發(fā)現(xiàn)辟汰, Fiddler 只能捕獲IPhone發(fā)出得HTTP請(qǐng)求, 而不能捕獲HTTPS請(qǐng)求酿炸, 原因可能是證書沒(méi)有安裝好填硕。 解決辦法是:
1. 先把IPhone上所有的Fiddler證書刪除 (拿出IPhone鹿鳖, 點(diǎn)”設(shè)置“->“通用”->"描述文件")
2. 安裝上面的方法翅帜,重新安裝Fiddler證書
Fiddler捕獲其他手機(jī)或者平板
方法類似
補(bǔ)充:
最近iPhone系統(tǒng)更新到iOS 10.3后,在公司里用Charles抓包竟然出現(xiàn)了一些問(wèn)題,https的請(qǐng)求都會(huì)失敗,提示錯(cuò)誤信息為Failure SSLHandshake: Received fatal alert: unknown_ca 和You may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何問(wèn)題都沒(méi)有,并且相關(guān)設(shè)置都正確:Mac上安裝了Charles的根證書,并且設(shè)置了始終信任,然后手機(jī)上也登錄了http://chls.pro/ssl安裝了描述文件,一切都按正常程序走的,但是錯(cuò)誤始終無(wú)法解決.這里Charles的相關(guān)使用不做介紹,不會(huì)使用的請(qǐng)參考本文結(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之前,當(dāng)你將安裝一個(gè)自定義證書,iOS會(huì)默認(rèn)信任,不需要進(jìn)一步的設(shè)置歼疮。而iOS 10.3之后,安裝新的自定義證書默認(rèn)是不受信任的韩脏。如果要信任已安裝的自定義證書,需要手動(dòng)打開開關(guān)以信任證書。
解決
設(shè)置->通用->關(guān)于本機(jī)->證書信任設(shè)置-> 找到charles proxy custom root certificate然后信任該證書即可.
作者:范范飯?zhí)叵?br>
鏈接:http://www.reibang.com/p/6ad09374053b
來(lái)源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有杭朱,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處吹散。