美文网首页测试其他Android知识
为Android、iOS设备搭建模拟丢包、慢速网络模拟环境

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

作者: AlexueQ | 来源:发表于2017-06-15 15:57 被阅读261次

    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. 环境

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

    4. 实现

    (1) 安装 Network Link Conditioner

    由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

    下载:

    安装:进入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热点

    相关文章

      网友评论

        本文标题:为Android、iOS设备搭建模拟丢包、慢速网络模拟环境

        本文链接:https://www.haomeiwen.com/subject/gtquqxtx.html