移動APP websocket網絡包抓取


在我們日常測試過程中經常需要抓取網絡包,查看上下行的數據是否正確。抓取移動設備上的網絡包的通常思路是在pc機上打開抓包工具,然后讓移動設備走pc的代理上網,從而在pc上抓取移動設備的網絡包。

  Charles和fiddler是經常用到的2款抓包神器。

  然而在實際工作中經常有小伙伴產生疑問,為啥有的移動設備上的網絡包能抓到,有的不能呢?

  要回答這個問題,首先我們得弄明白我們測試的游戲或app客戶端與服務端網絡通信使用的是什么協議,是http還是websocket。為了弄清這兩者的區別,筆者特地找了張圖來說明,大家看一下就明白了。

移動設備websocket網絡包抓取

  看了這張圖,是不是就明白為什么有些包能抓到,有些包抓不到了吧。因為我們常用的2個抓包神奇(charles和fiddler)都不支持抓取websocket。而支持websocket的wireshark卻無法設置手機代理,令人無奈啊。不過還好,方法總是有的。

  萬一遇到使用websocket的移動項目,是不是就無法抓取數據包了呢?答案是否定的,本文筆者就給大家介紹一種方法,步驟如下:

  前提條件:注意,要完成代理正常運行,請讓pc和移動設備都在同一個無線網絡段內。

  1,在pc上開啟常用的可做代理的抓包工具(mac推薦charles,windows推薦fiddler),開啟后,手動設置要測試的移動設備的網絡,使其走pc的抓包工具代理。

  2,在同一台pc上開啟wireshark,在wireshark中過濾出websocket的網絡包即可。

  筆者親驗可行,在手機上的游戲中隨便做點操作,截圖如下:

移動設備websocket網絡包抓取

  是不是很簡單啊,思路就是把支持代理但不支持websocket抓取的工具和不支持代理但支持websocket抓取的工具結合起來使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM