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

1. 背景、目標、目的

(1) 背景:

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

(2) 目的:

不管是Android仍是iOS設備,鏈接到咱們提供的模擬環境後,能夠經過配置控制網絡條件,知足包括下行速度、下行丟包率、下行延遲、上行速度、上行丟包率、上行延遲、DNS延遲的設置、以及可抓包。網絡

(3) 目標:

爲移動設備提供能夠模擬丟包、慢速等網絡條件的穩定可複用的網絡環境。app

2. 方案

一般的方案主要包括:1.Facebook網絡環境模擬工具ATC、2.包括wireshark、Fiddler、Charles等抓包工具提供代理、3.模擬器、4.以及咱們使用的以「Network Link Conditioner」爲核心的方案。tcp

我的通過試驗方案1太過複雜並且還須要特定版本的的無線路由器;方案2只能針對http、https進行,對於tcp、udp無效;方案3穩定性兼容性都不高。工具

天然咱們的方案4要優於一、二、3啦。進入正題。開發工具

3. 環境

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

4. 實現

由Apple官方提供:developer_apple,新版本此工具被集成到Additional_Tools_for_XcodeAdditional_Tools_for_Xcode_8.2,網上不少是使用XCode7.3以及以前的版本Hardware_IO_Tools_for_Xcode,務必確認安裝正確的版本,不然控制功能點擊是無效的。測試

我是用的XCode version:8.3.2,選擇Additional_Tools_for_Xcode_8.2設計

下載:3d

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

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

(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熱點

相關文章
相關標籤/搜索