1. 程式人生 > >Fiddler4抓取資料並分析(完整的配置教程)

Fiddler4抓取資料並分析(完整的配置教程)

 

 

個人分類: 【軟體】

 

一、Fiddler

現在的移動應用程式幾乎都會和網路打交道,所以在分析一個 app 的時候,如果可以抓取出其發出的資料包,將對分析程式的流程和邏輯有極大的幫助。對於HTTP包來說,已經有很多種分析的方法了,但是現在越來越多的應用已經使用HTTPS協議來和伺服器端交換資料了,這無疑給抓包分析增加了難度。可是 Windows系統下的 Fiddler 可以用來解決這個問題。

Fiddler 的下載地址就不貼了,基本 Google 一下就能找到了。

二、配置 Fiddler

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

選擇Tools選單

Fiddler配置1.png

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

Fiddler配置2.png

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

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

Fiddler配置3.png

三、手機配置

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

獲取IP地址.png

Android 手機上的配置

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

瀏覽器輸入下載證書.png

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

手機配置代理.png

蘋果手機上的配置

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

iOS配置.png

四、分析幾個微轉發平臺的資料

Android 版 《豆賺》

1.註冊失敗

Android 版的豆賺 App 註冊就失敗了,進去都不能進去 ,看了下請求,獲取驗證碼就返回了 0

豆賺直接註冊失敗.png

《貝賺》

1.首頁和個人中心

啟動 App 進入首頁:

豆賺首頁.png

抓取的資料如下:

貝賺點進去後請求的資料.png

可以發現,主要是三個請求: 
1. 手機的相關資訊 
2. 分享 SDK 的相關資訊,比如微信分享的 APPID 這些都是可以看到的 
3. 請求載入 H5 ,不難發現,貝賺這個 APP 是 H5 開發的,無論是導航欄還是頂部的 Title 都是 H5 進行開發的。

最後也點進了相關的頁面,都發現是網路請求載入網頁,其中個人中心的截圖如下:

豆賺個人中心.png

載入的網頁程式碼:

貝賺個人中心網頁程式碼截圖.png

2.文章內容頁

點進 App 的文章,發現進去是 404 的

貝賺文章內容.png

不過我們還是可以通過請求知道他們請求的引數有哪些?

文章內容頁.png

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

3、提現問題

其餘的介面都沒有細查,可是這個提現的就細查了一下,因為涉及金錢的交易,安全性是必須考慮的。可是,發現了一個很有趣的程式碼:

貝賺提現程式碼.png

在提現按鈕的響應事件那裡,可以發現餘額不足的時候就提示餘額不足,可是當餘額足的時候,裡面竟然有個判斷 “”==”” 空等於空,永遠都是為 true 的,因此 else 的程式碼肯定不會執行,也就是你要提現多少錢的操作是不會執行的,而且還發現了一個註釋掉的程式碼,“系統是不支援提現 10 元以上” 。當然我們迴歸到它肯定會執行的程式碼,是跳轉到另外的一個頁面,因為我的賬號金額不足,無法提現,所以不能看到那個頁面,不過,程式碼中可以看到那個地址,拼接一下,還是可以拿到的。最後的進去的頁面是這樣的:

貝賺提現二維碼.png

原來最後是通過關注微信公眾號來提現的,最後關注了二維碼,申請提現,它會彈出個二維碼,要求識別,重新開啟 APP。 可是二維碼已經無法識別了。

iOS 版《豆賺》

看了下 iOS 版的豆賺是可以使用的,因此也監聽了一下它相關的網路請求,基本是一樣的。而且顯示文章的內容頁也是 html ,最後看下提現的程式碼:

iOS版豆賺提現程式碼.png

竟然和上面的貝賺是差不多的。最後根據它程式碼中的地址結合起來,用瀏覽器開啟,看了一下頁面:

iOS版豆賺提現跳轉頁面.png

關注了了公眾號之後,需要繫結賬號,需填寫手機獲取驗證碼等一系列操作。 填完之後,就繫結成功了,至於能不能真正的提現,沒能嘗試所以不知道。為什麼不能嘗試呢,因為 App 中說閱讀能獲取金錢,分享也能賺錢,可是都進行了嘗試,發現金額卻沒有任何變化。分享給微信之後,連線在微信和其他瀏覽器都是打不開的。