android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...
一、HTTP協(xié)議和HTTPS協(xié)議。
(1) HTTPS協(xié)議=HTTP協(xié)議+SSL協(xié)議,默認(rèn)端口:443
(2) HTTP協(xié)議(HyperText Transfer Protocol):超文本傳輸協(xié)議。默認(rèn)端口:80,其中包含請(qǐng)求和響應(yīng)兩部分,其中請(qǐng)求包含:請(qǐng)求行、請(qǐng)求頭、請(qǐng)求正文,響應(yīng)包含:響應(yīng)行、響應(yīng)頭、響應(yīng)正文。
二、Fiddler截獲HTTPS協(xié)議數(shù)據(jù)以及數(shù)字證書加密解密原理。
(1) 瀏覽器向百度發(fā)出https握手請(qǐng)求,被Fiddler截獲,變成fidller向百度發(fā)出握手請(qǐng)求,百度將自己的SSL證書(由CA頒發(fā),里面包含了百度的公鑰以及認(rèn)證中心簽名及有效期等信息)進(jìn)行返回,SSH數(shù)字證書被Fiddler截獲,Fiddler用CA的公鑰解開(kāi)百度的證書,拿到百度公鑰。
(2) Fiddler修改SSL證書相關(guān)信息(把:把百度的公鑰替換成自己的公鑰,把百度證書頒發(fā)機(jī)構(gòu)修改成自己頒發(fā)等),以達(dá)到冒充百度的目的,然后用自己的私鑰重新加密百度的SSL數(shù)字證書發(fā)送給瀏覽器。
(3) 由Fiddler的根證書生成器FiddlerCertMaker.exe生成Fiddler的根證書并加入瀏覽器"受信任的根證書頒發(fā)機(jī)構(gòu)"列表,所以瀏覽器可以用Fiddler根證書中的公鑰解密偽造的百度SSL數(shù)字證書。得到冒充的百度公鑰(實(shí)際是Fiddler的公鑰)。
(4) 瀏覽器生成隨機(jī)對(duì)稱秘鑰,用冒充的百度公鑰(實(shí)際是Fidller的公鑰)加密后發(fā)出,被Fiddler截獲,Fiddler用自己私鑰解開(kāi)帶有隨機(jī)對(duì)稱密鑰的密文,獲得通訊的對(duì)稱秘鑰。Fiddler用百度的公鑰加密對(duì)稱秘鑰,然后傳給百度。
(5) 百度用自己私鑰解開(kāi)對(duì)稱秘鑰,這樣雙方就能使用對(duì)稱秘鑰加密傳輸了。
(6) Fiddler收到百度發(fā)來(lái)的網(wǎng)頁(yè)密文,由于Fiddler也保存了對(duì)稱秘鑰,所以它可以解開(kāi)密文,這樣我們就能使用Fiddler看到加密的https的明文了,然后Fiddler再次用對(duì)稱秘鑰加密發(fā)送給瀏覽器。瀏覽器向百度發(fā)送密文時(shí)也被Fiddler截獲,截獲后使用對(duì)稱秘鑰解密并顯示在Fiddler,然后Fiddler使用對(duì)稱密鑰加密后再發(fā)送給百度。如此循環(huán)往復(fù)。
三、Fiddler截獲https請(qǐng)求實(shí)操。
前言:理解https協(xié)議加密解密原理之后,以下操作能100%的解決fiddler所有證書問(wèn)題。
(1) 清理環(huán)境(首次安裝Fiddler不需要清理)
1、卸載Fiddler軟件以及根證書生成器Fiddler2 CertMaker。
2、清除C:UsersAdministratorAppDataRoamingMicrosoftCryptoRSA 目錄下所有的RSA算法文件,此算法文件和非對(duì)稱公鑰密鑰加密相關(guān)。
3、清除電腦上的根證書,WIN+R快捷鍵,輸入: certmgr.msc, 然后回車,查找所有fiddler證書,然后刪除。
4.清除瀏覽器上的證書文件 ,以谷歌瀏覽器為例說(shuō)明,在瀏覽器上輸入: chrome://settings/,進(jìn)入[高級(jí)]->[管理證書],有"受信任的根證書頒發(fā)機(jī)構(gòu)"列表。此處需要仔細(xì)查找?guī)в蠨O_NOT_TRUST_FiddlerRoot的字樣,并刪除。
(2) 安裝并配置Fiddler抓取Https數(shù)據(jù)報(bào)文。
1.下載并安裝fiddler,官網(wǎng)下載地址:https://www.telerik.com/download/fiddler
2.下載并安裝Fiddler證書生成器,官網(wǎng)下載地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2
3. 打開(kāi)Fiddler,點(diǎn)擊菜單欄中的Tools—>Options,選擇HTTPS頁(yè)簽。勾選Decrypt HTTPS CONNECTs(解密https連接),Fiddler證書生成器會(huì)自動(dòng)判斷本機(jī)是否安裝Fiddler證書,沒(méi)有則彈出如下證書安裝頁(yè)面。點(diǎn)擊”Yes”按鈕,在新彈出的窗口中再點(diǎn)擊”確定”后則Fiddler證書安裝完成。接下來(lái)Fiddler就可以抓取Https的數(shù)據(jù)報(bào)文。
(3) Fiddler抓取手機(jī)端的https協(xié)議數(shù)據(jù)報(bào)文。
1、打開(kāi)Fiddler,點(diǎn)擊菜單欄中的Tools—>Options,選擇Connections頁(yè)簽。勾選Allow remote computers connnect(允許外部電腦連接)。
2、保持android手機(jī)和電腦在同一網(wǎng)段。如連接同一無(wú)線。
3、打開(kāi)android手機(jī)的“設(shè)置”->“WLAN”,找到你要連接的無(wú)線網(wǎng)絡(luò)并點(diǎn)擊,彈出網(wǎng)絡(luò)設(shè)置對(duì)話框,在“代理”處選擇“手動(dòng)”,在“主機(jī)名”輸入框后面輸入127.0.0.1,在“端口”輸入框后面輸入8888,然后點(diǎn)擊“保存”按鈕。
4、啟動(dòng)android設(shè)備中的瀏覽器訪問(wèn)百度首頁(yè)或打開(kāi)被測(cè)App,在fiddler中可以看到抓取到的數(shù)據(jù)報(bào)文了。
四、總結(jié)
如果你覺(jué)得此文對(duì)你有幫助,如果你對(duì)此文有任何疑問(wèn),如果你對(duì)軟件測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、面試經(jīng)驗(yàn)交流感興趣請(qǐng)拉到最上面關(guān)注筆者的名字!
一箭三雕:如果你覺(jué)得本文對(duì)你有幫助,請(qǐng)關(guān)注,贊同,分享三連!謝謝!
作者出處:逍遙子:fiddler如何抓取https請(qǐng)求實(shí)現(xiàn)fiddler手機(jī)抓包-證書安裝失敗100%解決
轉(zhuǎn)載聲明:歡迎轉(zhuǎn)載,但未經(jīng)作者同意請(qǐng)保留此段聲明,并在文章明顯位置給出原文鏈接。
總結(jié)
以上是生活随笔為你收集整理的android 监听本机网络请求_fiddler如何抓取https请求实现fiddler手机抓包-证书安装失败100%解决...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 联想 710s 安装win7(win 1
- 下一篇: 小米8SE如何安装google框架-之