為Android、iOS設備搭建模擬丟包、慢速網絡模擬環境

1. 背景、目標、目的

(1) 背景:

我們在移動開發或者測試的時候,時常遇到在正常網絡環境下的代碼運行一切正常,一旦網絡有抖動甚至網速較慢時,各種bug頻發,當然我們開發中必須要提前對異常進行設計,但是必要的測試還是很需要的。由于iOS的開發工具XCode已經具備此功能,重點在于Android設備,當然我們的解決方案適用于各種移動設備以來的移動網絡測試。

(2) 目的:

不論是Android還是iOS設備,連接到我們提供的模擬環境后,可以通過配置控制網絡條件,滿足包括下行速度、下行丟包率、下行延遲、上行速度、上行丟包率、上行延遲、DNS延遲的設置、以及可抓包。

(3) 目標:

為移動設備提供可以模擬丟包、慢速等網絡條件的穩定可復用的網絡環境。

2. 方案

通常的方案主要包括:1.Facebook網絡環境模擬工具ATC、2.包括wireshark、Fiddler、Charles等抓包工具提供代理、3.模擬器、4.以及我們使用的以“Network Link Conditioner”為核心的方案。

個人經過試驗方案1太過復雜而且還需要特定版本的的無線路由器;方案2只能針對http、https進行,對于tcp、udp無效;方案3穩定性兼容性都不高。

自然我們的方案4要優于1、2、3啦。進入正題。

3. 環境

  • 必要:OSX設備:MacBook等;
  • 必要:USB以太網接入HUB一臺、以及可以提供上網接入的網線;
  • 必要:安裝XCode(我個人是8.3.2版本)
  • 必要:Network Link Conditioner.prefPane
  • 必要:移動設備一臺,用來測試網絡

4. 實現

(1) 安裝 Network Link Conditioner

由Apple官方提供:developer_apple下載:Additional_Tools_for_Xcode_11

安裝:進入Hardware文件夾,點擊Network Link Conditioner.prefPane進行安裝


Mojove版本中直接一下雙擊安裝可能存在異常提醒,可以將Network Link Conditioner.prefPane文件手動替換本地跟隨系統安裝目錄下的內容,例如查找你的路徑為:/Users/你的用戶名/Library/PreferencePanes,替換后,雙擊即可

結果:這就是設置和控制面板了


(2) MacBook切換到AP模式,提供熱點

使用USB以太網接入Hub鏈接網線和mac設備


點擊“系統偏好設置” ——》 “共享”進行如下設置


此部分內容網絡上教程較多,如果不是很熟悉可以自行搜索“Mac怎么設置wifi熱點,Mac做wifi熱點”之類的內容。

(3) 測試以及抓包

以上兩步完成之后,環境就準備好了,手機鏈接Mac提供的網絡,另外在“Network Link Conditioner”面板中使用某一個或者自定義一個網絡環境即可。

我使用wireShark進行抓包,成功,各種類型的協議一覽無余。

5. 參考

Mac模擬慢速網絡 - Network Link Conditioner

Mac怎么設置wifi熱點,Mac做wifi熱點

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容