在做手機或移動端APP的介面測試時,需要從開發人員那裡獲取介面文檔,介面文檔應該包括完整的功能介面、介面請求方式、介面請求URL、介面請求參數、介面返回參數。如果當前項目沒有介面文檔,則可以使用fiddler對APP進行抓包確認。

在手機上對APP進行操作,然後在Fiddler中可以抓取對應的網路交互信息(一個功能中可能設計多個介面的交互)。在抓取的信息中可以看到介面請求方式、介面請求URL、介面請求參數、介面返回參數。

下面是如何使用fiddler對手機APP進行抓包:

1、fiddler手機抓包原理

在本機開啟了一個http的代理伺服器,然後它會轉發所有的http請求和響應。Fiddler 是以代理web 伺服器的形式工作的,它使用代理地址:127.0.0.1,埠:8888。網路請求走fiddler,fiddler從中攔截數據,由於fiddler充當中間人的角色,所以可以解密https。

因此,它比一般的firebug或者是chrome自帶的抓包工具要好用的多。不僅如此,它還可以支持請求重放等一些高級功能。它還可以支持對手機應用進行http抓包的。

下面就是手機抓包:

瀏覽器的代理設置默認是關著的,win7谷歌瀏覽器「設置--高級--系統--打開代理伺服器--區域網設置--代理伺服器」勾上。代理開關為開:可以抓到包,代理開關為關:抓不到包。

2、前提條件:

1).電腦需要安裝Fiddler

2).測試手機需要支持Wifi

3).測試手機與電腦需要同一網路

4).所測APP需支持代理

3、Fiddler基本用法

界面佈局:

打開Fiddler後,在瀏覽器中做任意請求,即可被Fiddler記錄,包括返回碼,請求協議,主機名,請求地址等等,

可在請求區域查看詳細的請求信息,在響應區域查看詳細的返回結果。

如下圖

4、Fiddler對手機抓包流程

第一步:對Fiddler設置為允許遠程連接。

找到Tools->Fiddler Options->Connections,將Allow remote computer to connect 選中,點擊OK,然後重啟Fiddler。

如下圖:

第二步:修改手機連接網路為代理模式。

打開正在連接的wifi,然後找到:

1、修改網路(一般長按就會出現)

2、點擊顯示高級選項-->代理-->手動

代理伺服器主機名設為電腦本地IP地址,埠設為:8888

如下圖

補充:查看本地IP:打開cmd,輸入ipconfig回車,然後查找IPv4地址

如下圖:

第三步:在Fiddler中驗證。

在手機中用瀏覽器或者其他APP,做網路請求,即可在Fiddler中記錄,

例如:在手機打開瀏覽器,用百度搜索,這時在Fiddler中就會記錄下請求。  

如下圖:

還可查看不同格式的

5、Fiddler工具的優缺點

以上就是我在測試移動端APP時使用Fiddler進行抓包的常用方法和遇到的問題,下面再來說一說Fiddler的優缺點,以便大家能夠在第一時間判斷哪些情況下可以使用Fiddler而哪些情況是Fiddler無能為力的。

Fiddler之所能

  1. 查看Web流量及其順序
  2. 查看每一對Request/Response的Header,Cookies,Cache,正文等信息及請求時間等
  3. 保存已經產生的請求序列用於後續查看或回放
  4. 解密HTTPS並查看其內容
  5. 修改Request/Response以滿足特殊的測試或Hack需求

6、通過FiddlerScript和FiddlerExtention可以完成強大的可編程網路功能

Fiddler之所不能

  1. Fiddler只能用於HTTP/HTTPS/FTP請求的debug,而對那些直接使用TCP協議,或者使用SMTP, POP3, Telnet, IRC等協議的數據包就無能為例了
  2. Fiddler只能檢測到通過Fiddler代理的流量

3、Fiddler所有的請求都是直接存儲在內存中的,因此在處理很大的包時速度會比較慢

Fiddler是一個非常強力的HTTP協議調試工具,無論是用於網頁測試還是客戶端API測試都是一把利器,掌握好這個工具一定能讓你在以後的工作中事半功倍。


推薦閱讀:
相關文章