目錄常見抓包工具主要有minisniffer,fiddler和wireshark。其中:
如果平時開發過程中只是涉及到http/https上層網路協議的話,使用fiddler足夠了,這裡主要總結下fiddler的使用。
fiddler是一款免費且功能強大的資料報抓取軟體。它通過**的方式獲取程式http通訊的資料,可以用其檢測網頁和伺服器的互動情況,能夠記錄所有客戶端和伺服器間的http請求,支援監視、設定斷點、甚至修改輸入輸出資料等功能。fiddler包含了乙個強大的基於事件指令碼的子系統,並且能夠使用.net框架語言擴充套件。
fiddler是位於客戶端和伺服器端之間的http**, 它能夠記錄客戶端和伺服器之間的所有 http(s)請求,可以針對特定的http(s)請求,分析網路傳輸的資料,還可以設定斷點、修改請求的資料和伺服器返回的資料。
fiddler在瀏覽器與伺服器之間建立乙個**伺服器,fiddler工作於七層中的應用層,能夠捕獲通過的http(s)請求。fiddler啟動後會自動將**伺服器設定成本機,預設埠為8888。fiddler不僅能記錄pc上瀏覽器的網路請求資料,還可以記錄同一網路中的其他裝置的http(s)請求資料。資料傳遞流程大致如下:
客戶端像web伺服器傳送http(s)請求時,請求會先經過**fiddler**伺服器。
fiddler**伺服器擷取客戶端的請求報文,再**到web伺服器,**之前可以做一些請求報文引數修改的操作。
web伺服器處理完請求以後返回響應報文,fiddler**伺服器會擷取web伺服器的響應報文。
fiddler處理完響應報文後再返回給客戶端。
客戶端請求建立https鏈結,傳送客戶端支援的加密協議及版本列表等資訊給伺服器端。
fiddler接受客戶端請求並偽裝成客戶端向web伺服器傳送相同的請求。
web伺服器收到fiddler的請求以後,從請求中篩選合適的加密協議。並返回伺服器ca證書,證書中包括公鑰資訊。
fiddler收到web伺服器的響應後儲存伺服器證書並自簽名乙個ca證書,偽裝成伺服器,把該證書下發給客戶端。
客戶端驗證證書合法性。(fiddler能否抓取到https報文關鍵看這一步)
客戶端生產對稱金鑰,通過證書的公鑰加密傳送給伺服器。
fiddler攔截客戶端的請求以後,使用私鑰解密該報文,獲取對稱加密秘鑰,並使用伺服器證書中帶的公鑰加密該對稱金鑰傳送給web伺服器。此時對稱金鑰已經洩露了,以後可以使用該秘鑰介面客戶端和伺服器端傳輸的資料。
web伺服器接收到客戶端傳送的加密的對稱金鑰後使用私鑰解密,並使用對稱金鑰加密測試資料傳給客戶端。
fiddler使用前面獲取的對稱金鑰解密報文。
客戶端驗證資料無誤以後https連線就建立完成,客戶端開始向伺服器傳送使用對稱金鑰加密的業務資料
fiddler使用前面獲取的對稱金鑰解密客戶端傳送的資料並重新加密**給客戶端。
舊版本的fiddler抓包htpps時需要用到fiddlercertmaker外掛程式。
fiddler基本配置
如果只是需要監聽本機瀏覽器http資料報的話不需要做任何額外配置,開啟fiddler即可直接使用。一般我們需要監聽遠端終端裝置的網路請求,需要做以下配置。開啟fiddler,在選單欄中選擇tools->options->connections。輸入監聽埠(預設是8888),選擇allow remotecomputers to connect,點選確認然後重啟fiddler。
如果需要監手機端的網路請求,所以還需要對手機端進行設定。首先確保手機網路和安裝fiddler的電腦網路處於同乙個wifi網路中。可以點選fiddler主介面的右上角的「online」按鈕檢視fiddler所在主機的主機名和ip位址,配置手機網路時需要使用到這個ip位址。
開啟手機網路設定,選擇跟fiddler主機在統一網路,開啟wifi設定介面,進入wifi的高階設定(不同手機設定不一樣,有一些手機長按選中的wifi名稱可以出來,有一些手機是點選wifi名稱後面的按鈕,自己嘗試)。fiddler本身就是**伺服器,在wifi高階設定中的**欄下面選擇手動設定,設定輸入fiddler主機的ip位址(上一步顯示的ip)和監聽埠號(前面預設8888那個),點選確認。
在右邊的inspectors視窗中可以看到這個請求的請求報文和響應報文資訊。
以上配置只能監聽到http報文,對於https報文無法顯示內容,還需要做其他配置。
fiddler抓包https
前面也講了,https資料報文傳輸的時候涉及到證書及資料加密的問題,所以fiddler需要抓取https報文的話還需要做其他配置。
首先還是開啟fiddler配置:tools->options->https:
勾選capture https connects和decrypt https traffic選項,如果只是想抓取本機或者遠端終端的資料報文,可以在…from all processes這個下拉框中選擇。這裡還有一點需要注意的就是,低版本的fiddler自簽名的ca證書有一些問題,後面匯入到手機上時無效,這裡就需要安裝上面說的fiddlercertmaker外掛程式。安裝後要重啟fiddler,如果安裝成功在上圖certificates generated by certenroo engine的位置的內容就會顯示安裝的fiddlercertmaker外掛程式資訊。
輸入證書名稱,這裡命名fiddler,點選確認。如果安裝成功在系統安全->信任的憑據->使用者中可以看到剛才安裝的證書(如果證書名稱是亂碼,可能是fiddler生成的證書有問題,需要安裝fiddlercertmaker外掛程式,重新操作)。
這樣就大功告成了,大家發現大部分https請求是可以抓取到的。大家有沒有發現好像https傳輸也不是100%安全。
整理 Fiddler抓包原理和使用詳解
目錄常見抓包工具主要有minisniffer,fiddler和wireshark。其中 如果平時開發過程中只是涉及到http https上層網路協議的話,使用fiddler足夠了,這裡主要總結下fiddler的使用。fiddler是一款免費且功能強大的資料報抓取軟體。它通過 的方式獲取程式http通...
Fiddler抓包原理及配置
首先,電腦需要安裝fiddler,傻瓜式安裝即可。2 fiddler工作原理 fiddler是位於客戶端和伺服器端之間的http 它能夠記錄客戶端和伺服器之間的所有 http s 請求,可以針對特定的http s 請求,分析網路傳輸的資料,還可以設定斷點 修改請求的資料和伺服器返回的資料。fiddl...
使用Fiddler手機抓包
使用fiddler手機抓包 web開發可以使用瀏覽器來抓取http或者https請求,在android開發時,雖然可以在log中列印,但不方便了,可以使用fiddler來抓取所有的http請求 包括瀏覽器web請求 第一步 開啟fiddler,進入tools fiddler options,按下圖配...