1. 程式人生 > >關於fidder手機抓包工具

關於fidder手機抓包工具

1.準備

原文:https://blog.csdn.net/Two_Water/article/details/71106893 

1、配置 Fiddler 在 Fiddler 中設定“允許遠端連線”和“預設埠”

選擇Tools選單

勾選 “CaptureHTTPS CONNECTs”,接著勾選 “Decrypt HTTPS traffic” 。同時,由於我們是通過 WiFi 遠端連過來,所以在下面的選項框中選擇 “…fromremote clients only” 。

如果你要監聽的程式訪問的 HTTPS 站點使用的是不可信的證書,則請接著把下面的 “Ignore servercertificate errors” 勾選上。監聽埠預設是 8888,你可以把它設定成任何你想要的埠。勾選上 “Allow remote computersto connect” 。

為了減少干擾,可以去掉 “Act assystem proxy on startup” 。

2、手機配置 首先檢視電腦的 IP 地址,確保手機和電腦在同一個區域網內

Android 手機上的配置 將 Fiddler 代理伺服器的證書導到手機上才能抓這些 APP 的包。匯入的過程:開啟瀏覽器,在位址列中輸入代理伺服器的 IP(電腦上的) 和埠,會看到一個Fiddler 提供的頁面,然後確定安裝就好了

開啟 WiFi 設定頁面,選擇要連線的 wifi ,並且長按,在彈出的對話方塊中,選擇“修改網路”。在接下來彈出的對話方塊中,勾選“顯示高階選項”。在接下來顯示的頁面中,點選“代理”,選擇“手動”。代理伺服器主機名設為 PC 的 IP ,代理伺服器埠設為 Fiddler 上配置的埠 8888,點”儲存”。

蘋果手機上的配置 蘋果手機上的配置其實跟 Android 手機基本是一樣的。

使用

主要的引數有:  * page:view 應該是指介面頁  * shareID:2e2c552a-a187-4ab6-84c4-ff0d75f3b3b071863,這個應該是文章的分享ID  * ce:android 這個就是在 android 手機上了  * articleID:71863 這個是文章的 ID  * newapk:1 這個引數不好確定,個人猜測可能是 apk 的版本號 還能檢視網頁原始碼

上文中已經介紹了Fiddler的原理和軟體介面。本文主要針對Fiddler的抓包處理。

Fiddler抓取HTTP請求。

抓包是Fiddler的最基本的應用,以本部落格為例,啟動Fiddler之後,在瀏覽器中輸入http://blog.csdn.net/ohmygirl 鍵入回車之後,在Fiddler的web session介面捕獲到的HTTP請求如下圖所示:

 

各欄位的詳細說明已經解釋過,這裡不再說明。需要注意的是#號列中的圖示,每種圖示代表不同的相應型別,具體的型別包括:

 

另外,注意請求的host欄位。可以看到有來自多個www.csdn.net的子域名的響應,說明在大型網站的架構中,大多需要多個子域名,這些子域名可能是單獨用於快取靜態資源的,也可能是專門負責媒體資源的,或者是專門負責資料統計的(如pingback)。

右鍵單擊其中的一條請求。可以選擇的操作有:save(儲存請求的報文資訊,可以是請求報文,可以是響應報文)。例如,我們儲存的一條請求頭資訊如下:

 

不僅是單條session,Fiddler還支援儲存所有抓取到的session(並支援匯入),這對於抓取可疑請求然後儲存,並在之後隨時分析這些請求是很有幫助的。

如果想要重新發送某些請求,可以選中這些請求,然後點選工具欄中的reply.就可以重新發送選中的這些請求。

左鍵點選單條HTTP請求,可以在右側的tab面板中看到如下資訊:

1. Statistic。

關於HTTP請求的效能和其他資料分析:

 

我們可以從中看出一些基本效能資料:如DNS解析的時間消耗是8ms,建立TCP/IP連線的時間消耗是8ms等等資訊。

2. Inspectors。

分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對於每一部分,提供了多種不同格式檢視每個請求和響應的內容。JPG 格式使用 ImageView 就可以看到圖片,HTML/JS/CSS 使用 TextView 可以看到響應的內容。Raw標籤可以檢視原始的符合HTTP標準的請求和響應頭。Auth則可以檢視授權Proxy-Authorization 和 Authorization的相關資訊。Cookies標籤可以看到請求的cookie和響應的set-cookie頭資訊。

 

3. AutoResponder

Fiddler比較重要且比較強大的功能之一。可用於攔截某一請求,並重定向到本地的資源,或者使用Fiddler的內建響應。可用於除錯伺服器端程式碼而無需修改伺服器端的程式碼和配置,因為攔截和重定向後,實際上訪問的是本地的檔案或者得到的是Fiddler的內建響應。當勾選allow autoresponser 並設定相應的規則後(本例中的規則是將http://blog.csdn.net/ohmygirl的請求攔截到本地的檔案layout.html),如下圖所示

 

 

這剛好是本地layout.html的內容,說明請求已經成功被攔截到本地.當然也可以使用Fiddler的內建響應。下圖是Fiddler支援的攔截重定向的方式:

因此,如果要除錯伺服器的某個指令碼檔案,可以將該指令碼攔截到本地,在本地修改完指令碼之後,再修改伺服器端的內容,這可以保證,儘量在真實的環境下去除錯,從而最大限度的減少bug發生的可能性。

不僅是單個url,Fiddler支援多種url匹配的方式:

I. 字元匹配

如 example可以匹配 http://www.example.com和http://example.com.cn

II. 完全匹配

以EXACT開頭表示完全匹配,如上邊的例子

EXACT:http://blog.csdn.net/ohmygirl

III. 正則表示式匹配

以regex: 開頭,使用正則表示式來匹配URL

如:regex:(?insx).*\.(css|js|php)$  表示匹配所有以css,js,php結尾的請求url

4. Composer。

老版本的fiddler中叫request-builder.顧名思義,可以構建相應的請求,有兩種常用的方式構建請求:

(1)Parsed 輸入請求的url之後executed即可,也可以修改相應的頭資訊(如新增常用的accept, host, referrer, cookie,cache-control等頭部)後execute.

這個功能的常見應用是:“刷票”(不是火車票!!),如重新整理頁面的訪問量(基於道德和安全原因,如果你真去刷票,刷訪問量,本部落格概不負責)

(2)Raw。使用HTTP頭部資訊構建http請求。與上類似。不多敘述

5. Filter

Fiddler另一個比較強大的功能。Fiddler提供了多維度的過濾規則,足以滿足日常開發除錯的需求。如下圖示:

過濾規則有:

a. host和zone過濾。可以過濾只顯示intranet或則internet的HTTP請求

也可以選擇特定域名的HTTP請求

 

b. client process:可以捕獲指定程序的請求。

這對於除錯單個應用的請求很有幫助。

其他更多的設定可以參考fiddler的官方文件。