日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Fiddler的使用介绍及抓包分析(详解)

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Fiddler的使用介绍及抓包分析(详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(我的公眾號“墨石測試攻略”,關注可免費獲取全套接口測試實戰項目)

文章目錄

    • 1 Fiddler簡介
    • 2 Fiddler工作原理
    • 3 Fiddler安裝
    • 4 Fiddler使用
      • 4.1 界面介紹
        • 4.1.1工具欄
        • 4.1.2 左側面板
        • 4.1.3 右側面板
        • 4.1.4 底部控制面板
      • 4.2 Fiddler如何抓HTTPS的包
      • 4.3 Fiddler如何抓手機APP的包
      • 4.4 抓包分析


1 Fiddler簡介

Fiddler是一款網絡代理調試工具,可以將網絡傳輸發送與接收的數據包進行截獲、重發、編輯、轉存等操作,是目前最常用的http抓包工具之一。

使用場景:接口調試、接口測試、線上環境調試、Web性能分析、定位BUG、開發環境hosts配置、Mock、弱網斷網測試

2 Fiddler工作原理

Fiddler通過改寫HTTP代理,來監控并截取數據。當瀏覽器訪問服務器時會形成一個請求,瀏覽器發送請求時,先經過Fiddler,然后再到服務器。服務器返回數據給瀏覽器時,也會經過Fiddler再到瀏覽器顯示。由于所有的網絡數據都會經過Fiddler,因此Fiddler能夠截獲這些數據,實現數據的抓包。

Fiddler就好比一個房產中介,你(客戶端)想要租房子,把你的訴求告訴中介(Fiddler),中介根據你的訴求去(服務器)找符合條件的房子,房子信息是先傳給中介的,然后中介再把信息轉給你。

在你打開Fiddler的一瞬間,它就已經設好瀏覽器的代理了,代理地址:127.0.0.1(表示本機),端口8888當你關閉的時候,它又幫你把代理還原了。

3 Fiddler安裝

官網下載安裝:https://www.telerik.com/download/Fiddler

4 Fiddler使用

4.1 界面介紹

4.1.1工具欄

![在這里插入圖片描述](https://img-blog.csdnimg.cn/a995a180f6e74b588c3c9b74e8cff617.png

4.1.2 左側面板



4.1.3 右側面板


功能說明:
1、Statistics:請求的性能數據分析
點開一個請求,就可以看到關于HTTP請求的性能及數據分析了。

ClientConnected: 客戶端創建連接的時間
ClientBeginRequest: 客戶端開始請求時間
GotRequestHeaders: 獲取請求頭時間
ClientDoneRequest: 客戶端完成請求時間
ServerConnected: 服務器創建連接時間
FiddlerBeginRequest: 代理服務器開始請求時間
ServerGotRequest: 服務器獲得請求時間
ServerBeginResponse: 服務器開始響應時間
GotResponseHeaders: 獲取響應頭時間
ServerDoneResponse: 服務器完成響應時間
ClientBeginResponse: 客戶端開始響應時間
ClientDoneResponse: 客戶端完成響應時間

【說明】:
這些參數可以體現一個請求從發送到返回響應的時間。

通過選擇多個會話來獲得這幾個會話的總的信息統計,比如多個請求和傳輸的字節數。選擇第一個請求和最后一個請求,可獲得整個頁面加載所消耗的總體時間。從條形圖表中還可以分辨出哪些請求耗時最多,從而對頁面的訪問進行訪問速度優化。

2、Inspectors:查看數據內容
對抓到的請求進行解包,上半部分是請求的內容,下部是響應的內容。在Inspectors面板下,提供Header、TextView、HexView、Raw等多種方式查看單條http(s)請求報文的信息。

HTML/JS/CSS使用TextView可以看到響應的內容;Raw標簽可以查看原始的、也是最詳細的符合HTTP標準的請求和響應;Auth可以查看授權Proxy-Authorization和Authorization的相關信息;Cookies標簽可以看到請求的cookie和響應的set-cookie頭信息。

3、AutoResponder:自動響應
允許攔截指定規則的請求,并返回本地資源或Fiddler資源,從而代替服務器響應。

4、Composer:自定義請求發送服務器
Composer允許自定義請求發送到服務器,用于前后端接口聯調,可以模擬向響應的服務器發送數據的過程。

5、Filters:請求過濾規則
Fiters是過濾請求用的,當你刷新一下瀏覽器,一大片不知道哪來請求,看著礙眼,它還一直刷新你的屏幕。這個時候你可以通過過濾規則來過濾掉那些不想看到的請求。

6、Timeline: 性能分析
對選擇多個請求有意義。作用類似HttpWatch。

4.1.4 底部控制面板

1、命令行工具:執行一些快捷操作。

2、狀態欄:

Capturing:開啟/關閉 Fiddler的監聽;
All Process:過濾會話選擇

4.2 Fiddler如何抓HTTPS的包

Fiddler默認抓HTTP格式的包,那么對于HTTPS數據包如何抓取呢?

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

具體設置步驟如下:
步驟1:
Tools –> Fiddler Options –> HTTPS

步驟2:
選擇HTTPS欄,勾選Decrypt HTTPS traffic和Ignore server certificate errors兩項, Fiddler截獲HTTPS請求,點擊OK(首次點擊會彈出是否信任Fiddler證書和安全提示,直接點擊yes就行)

4.3 Fiddler如何抓手機APP的包

Fiddler可以抓取瀏覽器的包,那么怎么抓取移動端設備的數據包呢?
步驟1:設置好HTTPS代理(見上一步驟)

步驟2:配置Fiddler允許遠程鏈接

步驟3:配置移動端設備
(1)移動端的數據包,都是要走WiFi出去,所以首先需要確保手機連接的WiFi和Fiddler出于同一個局域網
(2)要知道電腦的IP地址(當然這個電腦是安裝Fiddler的電腦):
方法一:打開Fiddler,點擊箭頭所指的下三角,鼠標懸浮在Online,可以看到IP地址

方法二:打開cmd命令行,輸入IPconfig查看本機IP

(3)查看Fiddler的端口號,Tools-> Options->Connections,port中值就是端口號,一般默認為8888,不用改

(4)下載證書

①打開手機瀏覽器,輸入http://IP:端口號(例如我的手機,http://10.72.160.181:8888),點擊前往(每換一個WiFi都要重新下載安裝證書),訪問網址之后會跳轉到證書下載頁,點擊FiddlerRoot certificate下載證書

②下載完證書后安裝證書:在手機設置中搜索證書,并進入安裝證書界面:

③更改手機無線網的代理

打開Android設備的“設置” ->“WLAN”,找到你要連接的網絡,在上面長按,然后選擇“修改網絡”→勾選“顯示高級選項”(不同的手機,設置方法有所不同)→將代理改為手動→在“代理服務器主機名”輸入電腦的IP地址,在“代理服務器端口”輸入8888,然后保存

④啟動手機設備中的瀏覽器,訪問百度首頁,打開Fiddler就可以看到抓包數據了

備注:
·手機上設置代理后,Fiddler上抓到的是手機和PC上所有的請求,如果只過濾手機上的請求,且不影響電腦網絡設置:
1.在電腦通過cmd命令查找IP:IPconfig ,查看計算機名:set computername
2.在 Fiddler 的 QuickExec 區塊,輸入以下指令,并按下 Enter 確認。
prefs set Fiddler.network.proxy.registrationhostname +你的電腦名稱(剛才查詢的)

4.4 抓包分析

根據上面的介紹,大家應該知道怎么抓包了。簡而言之,只要客戶端進行相關的操作,Fiddler左側的會話列表都會顯示一連串的數據,這個就是抓包數據。那么怎么對抓包信息進行分析呢?

找到對應的請求包→ →看請求信息→看響應結果。

前置知識說明:

一、找到對應的請求包
怎么抓到目的包,也就是問題對應的包?
建議先停止抓包,并清除之前的記錄,然后在客戶端進行操作,這樣Fiddler上抓到的基本上是當前操作的記錄,然后再對抓包數據進行分析。

二、看請求信息

從這個示例中可以看出,請求方式是POST,POST的信息分四部分,請求行、請求頭、空一行、Body,GET請求是沒有Body的。

Body是本次請求所提交的數據,如果需要Body進行解碼,那么復制Body內容,點擊 TextWizard圖標,打開解碼器,或者選中需要解碼的內容,右鍵選擇發送到解碼器。

Raw存放的是原始數據,其他的項是分析請求中的某一種數據。
抓包分析:
看對應的接口有沒有觸發請求,如果沒有請求或請求有問題,那就是前端的BUG。

三、看響應結果
HTTP響應主要由狀態行、消息報頭、響應正文(和消息報頭之間空一行)組成。

從上述示例的消息報頭中可以看出,響應的狀態碼為200 OK,是響應成功的,響應的類型是application/Json,這是POST請求最常見的Json格式。所以也可以點擊Json查看響應正文,樹狀結構展示,更直觀友好。從Json中可以看出,這里傳了5個參數。

抓包分析:

如果前端請求沒問題,就看后端返回報文,根據接口文檔,返回的數據有誤,要具體分析報錯的內容。如果是前端傳參不對導致的,那就是前端問題,如果傳參正確,后端處理不正確,那可能就是后端問題。
如果后端響應了且數據和接口文檔一致,那就是前端展示的問題。
總結,按前端→后端→前端的順序進行分析。

舉例:比如一個登錄界面,輸入用戶名密碼后點擊【登錄】發現無響應怎么回事?類似的問題還有,一個支付功能,支付成功后在我的訂單里卻沒有顯示。或者一個查詢功能,輸入條件查詢后沒有數據展示出來(先排除是否是因為數據庫沒有數據導致的)。一般都可以套用上面的回答。

總結

以上是生活随笔為你收集整理的Fiddler的使用介绍及抓包分析(详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。