您的当前位置:首页为Android、iOS设备搭建模拟丢包、慢速网络模拟环境

为Android、iOS设备搭建模拟丢包、慢速网络模拟环境

2024-12-13 来源:哗拓教育

1. 背景、目标、目的

(1) 背景:

我们在移动开发或者测试的时候,时常遇到在正常网络环境下的代码运行一切正常,一旦网络有抖动甚至网速较慢时,各种bug频发,当然我们开发中必须要提前对异常进行设计,但是必要的测试还是很需要的。由于iOS的开发工具XCode已经具备此功能,重点在于Android设备,当然我们的解决方案适用于各种移动设备以来的移动网络测试。

(2) 目的:

不论是Android还是iOS设备,连接到我们提供的模拟环境后,可以通过配置控制网络条件,满足包括下行速度、下行丢包率、下行延迟、上行速度、上行丢包率、上行延迟、DNS延迟的设置、以及可抓包。

(3) 目标:

为移动设备提供可以模拟丢包、慢速等网络条件的稳定可复用的网络环境。

2. 方案

通常的方案主要包括:1.Facebook网络环境模拟工具ATC、2.包括wireshark、Fiddler、Charles等抓包工具提供代理、3.模拟器、4.以及我们使用的以“Network Link Conditioner”为核心的方案。

自然我们的方案4要优于1、2、3啦。进入正题。

3. 环境

  • [x] 必要:OSX设备:MacBook等;
  • [x] 必要:USB以太网接入HUB一台、以及可以提供上网接入的网线;
  • [x] 必要:安装XCode(我个人是8.3.2版本)
  • [x] 必要:Network Link Conditioner.prefPane
  • [x] 必要:移动设备一台,用来测试网络

4. 实现

(1) 安装 Network Link Conditioner

我是用的XCode version:8.3.2,选择Additional_Tools_for_Xcode_8.2

下载:

安装:进入Hardware文件夹,点击Network Link Conditioner.prefPane进行安装


结果:这就是设置和控制面板了


(2) MacBook切换到AP模式,提供热点

使用USB以太网接入Hub链接网线和mac设备


点击“系统偏好设置” ——》 “共享”进行如下设置


此部分内容网络上教程较多,如果不是很熟悉可以自行搜索“Mac怎么设置wifi热点,Mac做wifi热点”之类的内容。

(3) 测试以及抓包

以上两步完成之后,环境就准备好了,手机链接Mac提供的网络,另外在“Network Link Conditioner”面板中使用某一个或者自定义一个网络环境即可。

我使用wireShark进行抓包,成功,各种类型的协议一览无余。

5. 参考

显示全文