android 監聽本機網絡請求_fiddler如何抓取https請求實現fiddler手機抓包-證書安裝失敗100%解決...

一、HTTP協議和HTTPS協議。

(1) HTTPS協議=HTTP協議+SSL協議,默認端口:443

(2) HTTP協議(HyperText Transfer Protocol):超文本傳輸協議。默認端口:80,其中包含請求和響應兩部分,其中請求包含:請求行、請求頭、請求正文,響應包含:響應行、響應頭、響應正文。

二、Fiddler截獲HTTPS協議數據以及數字證書加密解密原理。

(1) 瀏覽器向百度發出https握手請求,被Fiddler截獲,變成fidller向百度發出握手請求,百度將自己的SSL證書(由CA頒發,里面包含了百度的公鑰以及認證中心簽名及有效期等信息)進行返回,SSH數字證書被Fiddler截獲,Fiddler用CA的公鑰解開百度的證書,拿到百度公鑰。

(2) Fiddler修改SSL證書相關信息(把:把百度的公鑰替換成自己的公鑰,把百度證書頒發機構修改成自己頒發等),以達到冒充百度的目的,然后用自己的私鑰重新加密百度的SSL數字證書發送給瀏覽器。

(3) 由Fiddler的根證書生成器FiddlerCertMaker.exe生成Fiddler的根證書并加入瀏覽器"受信任的根證書頒發機構"列表,所以瀏覽器可以用Fiddler根證書中的公鑰解密偽造的百度SSL數字證書。得到冒充的百度公鑰(實際是Fiddler的公鑰)。

(4) 瀏覽器生成隨機對稱秘鑰,用冒充的百度公鑰(實際是Fidller的公鑰)加密后發出,被Fiddler截獲,Fiddler用自己私鑰解開帶有隨機對稱密鑰的密文,獲得通訊的對稱秘鑰。Fiddler用百度的公鑰加密對稱秘鑰,然后傳給百度。

(5) 百度用自己私鑰解開對稱秘鑰,這樣雙方就能使用對稱秘鑰加密傳輸了。

(6) Fiddler收到百度發來的網頁密文,由于Fiddler也保存了對稱秘鑰,所以它可以解開密文,這樣我們就能使用Fiddler看到加密的https的明文了,然后Fiddler再次用對稱秘鑰加密發送給瀏覽器。瀏覽器向百度發送密文時也被Fiddler截獲,截獲后使用對稱秘鑰解密并顯示在Fiddler,然后Fiddler使用對稱密鑰加密后再發送給百度。如此循環往復。

三、Fiddler截獲https請求實操。

前言:理解https協議加密解密原理之后,以下操作能100%的解決fiddler所有證書問題。

(1) 清理環境(首次安裝Fiddler不需要清理)

1、卸載Fiddler軟件以及根證書生成器Fiddler2 CertMaker。

2、清除C:UsersAdministratorAppDataRoamingMicrosoftCryptoRSA 目錄下所有的RSA算法文件,此算法文件和非對稱公鑰密鑰加密相關。

3、清除電腦上的根證書,WIN+R快捷鍵,輸入: certmgr.msc, 然后回車,查找所有fiddler證書,然后刪除。

4.清除瀏覽器上的證書文件 ,以谷歌瀏覽器為例說明,在瀏覽器上輸入: chrome://settings/,進入[高級]->[管理證書],有"受信任的根證書頒發機構"列表。此處需要仔細查找帶有DO_NOT_TRUST_FiddlerRoot的字樣,并刪除。

(2) 安裝并配置Fiddler抓取Https數據報文。

1.下載并安裝fiddler,官網下載地址:https://www.telerik.com/download/fiddler

2.下載并安裝Fiddler證書生成器,官網下載地址:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=2

3. 打開Fiddler,點擊菜單欄中的Tools—>Options,選擇HTTPS頁簽。勾選Decrypt HTTPS CONNECTs(解密https連接),Fiddler證書生成器會自動判斷本機是否安裝Fiddler證書,沒有則彈出如下證書安裝頁面。點擊”Yes”按鈕,在新彈出的窗口中再點擊”確定”后則Fiddler證書安裝完成。接下來Fiddler就可以抓取Https的數據報文。

671305b1b6ac304353f1953ba9885c94.png

(3) Fiddler抓取手機端的https協議數據報文。

1、打開Fiddler,點擊菜單欄中的Tools—>Options,選擇Connections頁簽。勾選Allow remote computers connnect(允許外部電腦連接)。

8074e6bc82c49db11584900559747648.png

2、保持android手機和電腦在同一網段。如連接同一無線。

3、打開android手機的“設置”->“WLAN”,找到你要連接的無線網絡并點擊,彈出網絡設置對話框,在“代理”處選擇“手動”,在“主機名”輸入框后面輸入127.0.0.1,在“端口”輸入框后面輸入8888,然后點擊“保存”按鈕。

4、啟動android設備中的瀏覽器訪問百度首頁或打開被測App,在fiddler中可以看到抓取到的數據報文了。

四、總結

如果你覺得此文對你有幫助,如果你對此文有任何疑問,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣請拉到最上面關注筆者的名字!

一箭三雕:如果你覺得本文對你有幫助,請關注,贊同,分享三連!謝謝!
作者出處:逍遙子:fiddler如何抓取https請求實現fiddler手機抓包-證書安裝失敗100%解決
轉載聲明:歡迎轉載,但未經作者同意請保留此段聲明,并在文章明顯位置給出原文鏈接。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457939.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言筆試題總結2

下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。(1)算法的時間復雜度是指_______。A)執行算法程序所需要的時間B)算法程序的長度C)算法執行過程中所需要的基本運算次數D)算法…

C#的四舍五入函數

2019獨角獸企業重金招聘Python工程師標準>>> 1.四舍六入(國外的四舍五入) Math.Round(num); 2.四舍五入 Math.Round(num,MidpointRounding.AwayFromZero); 轉載于:https://my.oschina.net/CrazyBoy1024/blog/746268

C語言筆試題總結3

4. static有什么用途?(請至少說明兩種)1.限制變量的作用域2.設置變量的存儲域7. 引用與指針有什么區別?1) 引用必須被初始化,指針不必。2) 引用初始化以后不能被改變,指針可以改變所指的對象。2) 不存…

【BZOJ2243】 [SDOI2011]染色

Description 給定一棵有n個節點的無根樹和m個操作,操作有2類: 1、將節點a到節點b路徑上所有點都染成顏色c; 2、詢問節點a到節點b路徑上的顏色段數量(連續相同顏色被認為是同一段),如“112221”由3段組成&am…

jquery easyui DataGrid 數據表格 屬性

擴展自 $.fn.panel.defaults &#xff0c;用 $.fn.datagrid.defaults 重寫了 defaults 。 依賴 panelresizablelinkbuttonpagination用法 1. <table id"tt"></table> 1. $(#tt).datagrid({ 2. url:datagrid_data.json, 3. columns:[…

C語言筆試題總結

1. 下面這段代碼的輸出是多少(在32位機上). char *p; // 4 char *q[20]; // 80 char *m[20][20]; // 1600 int (*n)[10]; // 4 struct MyStruct { char dda; double dda1; int type ; }&#xff1b; MyStruct k; // 24 printf("%d %d %d %d",sizeof(p),siz…

第五次作業

學習時間新增代碼行博客發表量知識總結 第十周5801HTML5 C和C 一般用于服務端的服務程序開發&#xff0c;硬件編程開發&#xff0c;系統等等大量框架要用到的。JAVA&#xff0c;學好這個可以開發移動設備程序&#xff0c;JSP網頁程序。C#&#xff0c;學了這個可以開發Winform&a…

數字信號處理的fpga實現_FPGA數字信號處理:通信類I/Q信號及產生

大俠好&#xff0c;歡迎來到FPGA技術江湖&#xff0c;江湖偌大&#xff0c;相見即是緣分。大俠可以關注FPGA技術江湖&#xff0c;在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源&#xff0c;或者一起煮酒言歡。大俠好&#xff0c;“寧夏李治廷”再一次和各位見…

iic通訊協議

IIC總線 一般串行數據通訊都有時鐘和數據之分,有異步和同步之別. 有單線,雙線和三線等. I2C肯定是2線的(不算地線). I2C協議確實很科學,比3/4線的SPI要好,當然線多通訊速率相對就快了. I2C的原則是: 在SCL1(高電平)時,SDA千萬別忽悠!!! 否則,SDA下跳則"判罰"為&…

使用 Python 切割圖片

剛好我有張 PNG 圖片需要均勻切割&#xff0c;剛好我不會 PhotoShop&#xff0c;剛好我想用 Python 來練練手。 于是擼袖子碼腳本。 import os from PIL import Imagedef splitimage(src, rownum, colnum, dstpath):img Image.open(src)w, h img.sizeif rownum < h and co…

python數據分析知識點_Python數據分析--Pandas知識點(三)

本文主要是總結學習pandas過程中用到的函數和方法, 在此記錄, 防止遺忘. 下面將是在知識點一, 二的基礎上繼續總結. 前面所介紹的都是以表格的形式中展現數據, 下面將介紹Pandas與Matplotlib配合繪制出折線圖, 散點圖, 餅圖, 柱形圖, 直方圖等五大基本圖形. Matplotlib是python…

SPI通訊協議

SPI&#xff1a;高速同步串行口。是一種標準的四線同步雙向串行總線。 SPI&#xff0c;是英語Serial Peripheral interface的縮寫&#xff0c;顧名思義就是串行外圍設備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM&#xff0c;FLASH&#x…

基于MVVM的知乎日報應用安卓源碼

使用data binding , dagger2 , retrofit2和rxjava實現的&#xff0c;基于MVVM的知乎日報APP運行效果&#xff1a; <ignore_js_op> 使用說明&#xff1a; 項目結構android data binding來實現MVVM。dagger2來完成依賴注入。retrofit2rxjava實現restful的http請求。第三方類…

F#創建者Don Syme談F#設計原則

在.Net Fringe 2016大會上&#xff0c;F#創建者Don Syme談了他對F#現狀的看法以及F#的二元性。F#是以一個為面向對象語言構建的運行時為基礎構建的函數式語言。\\F#是2010年發布的&#xff0c;遵循開源許可協議。F#比.Net更早地踏上了開源之路&#xff0c;C#和.Net在2015年才開…

php簽入html出來的影響seo嗎_搜索引擎優化_SEO必備6大技能+SEO誤區講解!

大家好&#xff0c;我是逆冬&#xff0c;今天來分享一下實戰SEO需要掌握什么樣的技能以及SEO知識誤區&#xff0c;本篇文章僅代表逆冬本人幾年的經驗、不見得適合每一個SEOer!下面就讓逆冬本人來分析一下實戰型SEO到底需要掌握什么技能。第1點&#xff1a;SEO需要不需要熟練掌握…

編寫linux驅動程序步驟

一、建立Linux驅動框架&#xff08;裝載、卸載Linux驅動&#xff09; Linux內核在使用驅動時首先要裝載驅動&#xff0c;在裝載過程中進行一些初始化動作&#xff08;建立設備文件、分配內存等&#xff09;&#xff0c;在驅動程序中需提供相應函數來處理驅動初始化工作&#xf…

一種M2M業務的架構及實現M2M業務的方法

http://www.cnblogs.com/coryxie/p/3849764.html 技術領域 [0001] 本發明涉及通信技術領域&#xff0c;尤其涉及一種M2M業務的架構及實現M2M業務的方法。 背景技術 [0002] 隨著通信技術的飛速發展以及通信技術與互聯網技術的進一步融合&#xff0c;移動業務以及移動互聯網技術普…

第二章 mybatis使用注解實現in查詢(mysql)

mybatis實現in查詢&#xff0c;兩種方法&#xff1a; xml形式&#xff08;推薦&#xff09;注解方式&#xff08;個人喜歡注解&#xff0c;但是in場景可能不太適合注解&#xff09;代碼&#xff1a; 1 Select("<script>" 2 "SELECT ID…

python面試代碼題_python面試基礎篇80題

1.為什么學習python?3.Python和Java、PHP、C、C#、C等其他語言的對比&#xff1f; C語言由于其底層操作特性和歷史的積累&#xff0c;在嵌入式領域是當之無愧的王者。 PHP跨平臺&#xff0c;性能優越&#xff0c;跟linux/unix結合比跟windows結合性能強45%,開發成本低,php5已經…

主設備號與次設備號以及申請

一個字符設備或者塊設備都有一個主設備號和次設備號。主設備號和次設備號統稱為設備號。主設備號用來表示一個特定的驅動程序。次設備號用來表示使用該驅動程序的各設備。例如一個嵌入式系統&#xff0c;有兩個LED指示燈&#xff0c;LED燈需要獨立的打開或者關閉。那么&#xf…