fiddler導入dat,fiddler導入客戶端證書

本文目錄一覽:

Fiddler抓包入門

抓包使用場景:

1、用手機APP或瀏覽器訪問一個頁面,查看請求的結果是否正確,請求的參數是否正確

2、在不修改任何環境的情況下,修改返回的結果,即通常所說的mock

3、複雜場景:

比如,同一個域名下的請求,/img/xxx的資源發送到ServerA上,請求/api/xxx資源發送到ServerB上

我們使用瀏覽器或者客戶端軟件都要與外界進行通信,就必然會有數據的發送和接收,有時候需要對這些傳遞的數據進行分析,因此需要截獲這些傳遞的數據。

其中對這些數據進行截獲、重發、編輯、轉存的過程叫做 抓包 。

本地應用與服務器之間所有的Request 和Response都將經過Fiddler,由Fiddler進行轉發,此時Fiddler以代理服務器的方式存在。

由於所有的網絡數據都會經過Fiddler,因此Fiddler能夠截獲這些數據,實現網絡數據的抓包,可以詳細地對HTTP請求進行分析,並模擬對應的HTTP請求。

1、本地化的工具,是一個使用本地 127.0.0.1:8888 的 HTTP 代理

(免費的web調試代理工具,支持任何瀏覽器、系統或平台)

啟動Fiddler後,通過瀏覽器訪問:

(1)任何能夠設置 HTTP 代理為 127.0.0.1:8888 的瀏覽器和應用程序都可以使用 Fiddler

(2)工具打開後,就自動設置了IE瀏覽器的代理,工具關閉後,IE的設置也將被還原

2、Fiddler本身對http協議支持較好,且操作簡單容易上手

3、具有抓包和分析功能,省去了安裝其他工具的必要

4、工具本身功能強大

(1)劫包:模擬接口不給前端返回數據,看前端怎麼處理,如果沒有工具,就只能採用斷網、停用服務器

(2)篡改數據:假設沒法去模擬前端對於接口返回數據很長時,怎麼去展示,換行?截取?小屏幕上頁面扭曲?如果通過篡改數據,就能直觀的把數據返回給前端展示,很明顯的看到前端數據是什麼樣的,就不需要從底層改數據

(3)模擬低速、弱網環境等,有些元素加載不出來會導致樣式問題

網絡爬蟲是自動爬取網頁的程序,在爬取的過程中必然會涉及客戶端與服務端之間的通信,也需要發送一些HTTP請求,並接受服務器返回的結果。

有些網址變化肉眼是看不出規律的,這時配合抓包軟件會變得較容易。

案例:網頁底部“閱讀更多”

在瀏覽一些圖片網站時,瀏覽到最下面的時候會出現一個“閱讀更多”的字樣,此時單擊“閱讀更多”頁面上顯示更多內容,加載出來的內容跟原來的內容是在同一個網頁上展示的。我們直接看網址的變化是看不出任何規律的,便無法分析該請求是如何實現的,無法通過程序構造出該請求。

此時可以通過Fiddler 進行抓包,對這些數據進行分析,查看request headers 發現是通過Get請求來實現的,總共有3個參數:order_by、page、per_page

通過分析就可以知道頁面上只顯示20篇文章,之後就需要通過 閱讀更多 進行加載

每點擊一次 閱讀更多 ,相當於在修改page值

知道實現規律後,就可以通過編寫程序構造出對應的請求,並由程序自動地實現這些請求的發送。

假如修改page為3、4、5,在新窗口進行訪問,與頁面閱讀更多進行比對

Fiddler 默認是抓 http請求的,對於pc上的 https請求,會提示網頁不安全,這時候需要在瀏覽器上安裝證書

Fiddler可以通過偽造CA證書來欺騙瀏覽器和服務器,大概原理就是在瀏覽器面前Fiddler偽裝成一個HTTPS服務器,而在真正的HTTPS服務器面前Fiddler又裝成瀏覽器,從而實現解密HTTPS數據包的目的。

1、檢查Fiddler設置

2、導出證書

3、導入到Firefox瀏覽器

測試下結果,打開百度網頁,成功了,接下來就可以進行抓包了

1、cls (或 clear) 清屏命令

清空會話列表中的所有會話

2、select 篩選某一類型的會話命令

如 select html ,輸入命令後敲回車鍵,在會話列表中所有html類型的會話都已被選中

3、? 查找網址中包含某些字符的會話信息

如 ?jianshu 可以查找出網址中包含“jianshu”字符串的會話信息,跟其他會話信息用不同顏色區分顯示

4、help 幫助命令

打開官方的使用頁面介紹,所有的命令都會列出來

5、bpu、bpafter 斷點命令

6、dump 快速保存

以 鐵路網的貨物跟蹤 為例

頁面有車號、貨票號、驗證碼三個字段,通過輸入不同格式的值來觀察頁面提示與 Fiddler 抓包返回的 json值

1、先輸入格式正確的值,點查詢

2、修改貨票號的位數,點查詢

1、兩次抓包的接口是一樣嗎?第一個是post,第二個是get,不是同一個

2、第二個請求沒有發出去,應該是前端直接對數值的位數做了校驗的,這個時候就不會調接口,所以就沒有數據顯示了

如想更深入的使用Fiddler,請查看 進階篇

fiddler抓包詳細教程–會話保存

前言

為什麼要保存會話呢?舉個很簡單的場景,你在上海測試某個功能接口的時候,發現了一個BUG,而開發這個接口的開發人員是北京的一家合作公司。

你這時候給對方開發提bug,如何顯得專業一點,能讓對方心服口服的接受這個BUG呢?如果只是截圖的話,不是很方便,因為要截好幾個地方還描述不清楚,不如簡單粗暴一點把整個會話保存起來,發給對方。

一、保存為文本

1、以博客園登錄為例,抓到登錄的請求會話

2、點左上角FileSaveSelected Sessionsas Text,保存到電腦上就是文本格式的

3、文本格式的可以直接打開,結果如下圖

1、save-All Sessions :保存所有的會話,saz文件

2、save-Selected Session:保存選中的會話

(1)in ArchiveZIP :保存為saz文件

(2)as Text :以txt文件形式保存整個會話包括Request和Response

(3)as Text (Headers only) :僅保存頭部

3、Request:保存請求

(1)Entir Request:保存整個請求信息(headers和body)

(2)Request Body:只保存請求body部分

4、Response:保存返回

(1)Entir Response:保存整個返回信息(headers和body)

(2)Response Body:只保存返回body部分

(3)and Open as Local File:保存Response信息,並打開文件

亂碼問題(decode)

1、打開博客園首頁: ,保存之後查看,會發現返回的是亂碼

2、遇到這種情況,主要是需要解碼,用前面學到的decode方法

3. 點擊箭頭區域後,重新保存就沒亂碼了。

4. 還有一個最簡單辦法就是選中上圖會話框上的decode按鈕,這樣就自動解碼了。

保存與導入全部會話

1、我們可以打開fiddler,操作完博客園後,選中saveAll Sessions,保存全部會話

2、保存後,在fiddler打開也很方便,直接把剛才保存的會話按住拽進來就可以了

3. 也可以選擇FileLoad Archive導入這個文件

Repaly

1、導入請求後,可以選中某個請求,點擊Repaly按鈕,重新發請求

2、也可以ctrl+a全部選中後,點Repaly按鈕,一次性批量請求

這裡保存會話和replay功能其實就是相當於錄製和回放了

fiddler中利用AutoResponder【重定向功能】 進行調試

一、將服務器的返回數據(即原資源)重定向到本地的文件進行調試

1、打開fiddler,打開瀏覽器輸入(已百度為例),再回到fiddler進行設置

2、按照截圖所示,分別將4個選購全部勾選,勾選完成後,將待重定向的網址直接拖到右方【手動填寫完整地址/正則表達式進行模糊匹配的地址】即可 

3、填寫要替換的內容,下拉框有很多選項可以選擇, 比如201、302、404,502等status code 

注,我的一開始是404_Plain.dat

4、設置完成之後,刷新百度網頁,請求回來的數據已經是替換後的內容了 

註:想取消的話,直接將第1步中勾選的Enable rules去掉即可

二、利用AutoResponder【重定向功能】修改返回response的數據

1、在fiddler中打開百度,選擇SyntaxView的內容進行複製,保存到本機上,以baidu.html格式進行保存

2、點擊AutoResponder,把剛才的網址拖到右邊

3、第一個下拉框選擇Header:Accept=html

    第二個下拉框選擇你剛才保存baidu.html的路徑

4、勾選Enable rules之類的四個,然後點擊保存

5、再訪問百度

註:想取消的話,直接將第1步中勾選的Enable rules去掉即可

fiddler怎麼安裝證書

首先,打開 Fiddler,在菜單欄中依次選擇 【Tools】-【Fiddler Options】-【HTTPS】,勾上如下圖的選項。

勾上後,Fiddler 會提示你安裝一個證書。安裝完後點擊上圖中的 “Export Root..” 按鈕,將證書下載到桌面。

接着將證書導入到瀏覽器。這裡以 chrome 舉例,依次選擇 【設置】-【管理證書..】 將保存在桌面的證書導入即可(其他瀏覽器類似,通常有個“證書”選項設置)。

也可以直接雙擊下載下來的證書,進行安裝。

我們打開 ,這時就可以愉快地捕獲 https 請求了!

細心的你可能會發現,在 https 的請求中夾雜着一些 http 的請求,並且該 session 的 Host 參數是個詭異的 “Tunnel to”,什麼鬼? StackOverflow 里早已有 精彩解答 ,或者可以直接看 這裡 ,簡單地說 fiddler 當做代理轉發 https 請求的時候,就會產生 “CONNECT Tunnels”,所以大可忽略它。

使用fiddler+模擬器進行APP抓包

1、打開Fiddler,點擊工具欄中的Tools—Fiddler Options

2、https設置及connections設置,勾選選擇項

3、點擊Actions,點擊第二項:Export Root Certificate to Desktop,這時候桌面上會出現證書FiddlerRoot.cer文件,點擊OK設置成功,關閉fiddler。

4、打開模擬器,設置代理。找到系統應用,點擊設置,點擊無線網絡WLAN—左鍵常按點擊已連接網絡—修改網絡。

5、將步驟3導出的證書FiddlerRoot.cer文件導入至模擬器。模擬器在更多里可以共享文件。將證書直接拖至該共享文件夾里。

6、在模擬器中打開系統應用—設置—安全—從SD卡安裝。找到FiddlerRoot.cer文件,按提示導入即可,注意在此過程需要名稱和解鎖圖案等,自行即可。

7、打開fiddler,重啟模擬器,就可以在電腦上進行APP抓包了。

fillder證書的安裝(firefox和手機)

注意:所有抓包過程中使用無痕瀏覽器

1、fiddler對瀏覽器抓包

1.1 對瀏覽器的http的抓包

Capturing開啟,進行抓包;

Capturing關閉,停止抓包;

如下圖:

1.2 對瀏覽器的https抓包

1.2.1 開啟fiddler的https選項

配置路徑:

Tools – Fiddler Options – HTTPS – 三個選項全部勾選

如下圖所示:

1.2.2 fiddler導出ca證書

操作路徑:

Tools – Fiddler Options – HTTPS – Export Fiddler Root Certificate to Desktop

如下圖所示:

導出後,如下圖所示:

1.2.3 火狐瀏覽器導入ca證書

操作路徑:

瀏覽器 – 工具 – 選項 – 高級 –  證書 – 查看證書  – 導入

如下圖所示:

導入:

1.2.4 重啟瀏覽器和fiddler開始抓包

至此,fiddler可以對瀏覽器的http和https進行抓包

2、對安卓APP進行抓包

2.1 綁定手機網絡至fiddler主機

操作路徑:

設置 – 無線網絡 – 選中連接的wifi – 高級設置 – 開啟”手動HTTP代理“ – 編輯”代理服務器主機名“至主機IP

如圖所示:

注意:抓包前,必須斷開重連wifi

2.2 導入ca證書至手機

(1)傳輸證書至手機

可通過手機助手、微信助手等

(2)導入證書

如圖:

(3)導入成功

如圖:

至此,證書導入成功

2.3 fiddler設置移動設備抓包

操作路徑:

Tools – Fiddler Options – Connections – 選中”Allow remote computers to connect”

如圖:

注意:設置完後,抓包前必須重啟fiddler設備

至此,fiddler可以正常對移動端設備進行抓包了

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/257582.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:45
下一篇 2024-12-15 12:46

相關推薦

  • Python調用crt telnet客戶端的實現

    本篇文章將詳細介紹如何使用Python調用crt telnet客戶端。我們將從以下幾個方面進行闡述: 一、安裝crt telnet客戶端 首先,我們需要下載並安裝crt telne…

    編程 2025-04-28
  • 如何優雅地排版套打證書

    本文將從多個方面,為大家介紹如何優雅地排版套打證書,並給出相應的代碼示例。 一、選擇合適的字體 套打證書的字體必須要優雅、大方、優秀、清晰,所以應該選擇像宋體、楷體、方正、微軟雅黑…

    編程 2025-04-28
  • 跨域通信浮標——實現客戶端之間的跨域通信

    本文將介紹跨域通信浮標的使用方法,該浮標可以實現客戶端之間的跨域通信,解決了瀏覽器同源策略的限制,讓開發者能夠更加方便地進行跨域通信。 一、浮標的原理 跨域通信浮標的原理是基於浮動…

    編程 2025-04-27
  • Python服務器客戶端

    本文將從以下幾個方面對Python服務器客戶端進行詳細闡述:socket編程、HTTP協議、Web框架、異步IO。 一、socket編程 Python的socket模塊是為網絡編程…

    編程 2025-04-27
  • 如何解決Fiddler抓不到谷歌瀏覽器的包問題

    當使用Fiddler工具抓取網絡數據包時,由於谷歌瀏覽器的加密機制,使得Fiddler無法直接抓取到谷歌瀏覽器發送的網絡數據包。下面將從幾個方面闡述如何解決這個問題。 一、關閉谷歌…

    編程 2025-04-27
  • C# Socket關閉後客戶端仍可連接的解決方法

    對於C# Socket通信中的一些問題,多數人可能已經熟知,但是有些問題仍然困擾着一部分人,例如Socket關閉後,客戶端仍然可以連接。本篇文章將在此問題為中心,圍繞該問題的原因和…

    編程 2025-04-27
  • 證書套打軟件的使用及開發

    證書套打軟件是指用於自動化生成、編輯和打印各種證書、獎狀、證明等文檔的計算機程序。本文介紹證書套打軟件的使用及基於Python語言開發的證書套打軟件實現。 一、軟件的使用 證書套打…

    編程 2025-04-27
  • Fiddler手機抓包iOS完全指南

    在移動應用開發中,我們常常需要對應用程序進行調試和優化。Fiddler是一個常用的網絡調試工具,可以幫助開發人員更好地觀察和分析網絡請求,識別請求中的問題和錯誤。在這篇文章中,我們…

    編程 2025-04-25
  • Win FTP:一個功能全面的FTP客戶端

    一、Win FTP的介紹 Win FTP是一款基於Windows系統的FTP客戶端,它具有簡單易用、功能齊全、易於配置等特點。Win FTP的使用範圍非常廣泛,可以用於在本地計算機…

    編程 2025-04-24
  • Windows客戶端開發詳解

    一、使用Windows Presentation Foundation(WPF)進行GUI界面開發 Windows Presentation Foundation是一種用於創建 W…

    編程 2025-04-24

發表回復

登錄後才能評論