美文网首页
移动弱网模拟调研

移动弱网模拟调研

作者: Null_ice | 来源:发表于2019-12-06 16:13 被阅读0次

    在构建移动端性能测试工具的过程中,预期增加弱网模拟的功能,以解决应用在各种网络环境下的模拟测试,下面是针对该需求的调研情况。

    iptables构建弱网模拟规则

    基本原理

    iptables是linux下的一个控制网络出入口规则的工具,android也集成了iptables,因此,可以利用iptables构建自定义的网络出入规则,变相达到控制设备进行弱网环境模拟的目的。
    基本的使用方式是,在adb shell内,执行iptables命令,例如模拟丢包50%,就执行类似:

    iptables -I INPUT -s x.x.x.x(IP地址) -m statistic --mode random --probability 0.5 -j DROP 
    

    类似这样的命令。

    优点

    底层执行,高效快速,开发门槛低。

    缺点

    需要root,需要启动adb server。

    第三方代理工具弱网模拟

    基本原理

    第三方工具诸如fiddler、FaceBook ATC等,基本原理都是中间人代理,此类方式基本无需开发成本,只需要设定好client端和手机在统一网络下,然后按照工具说明设置即可。

    优点

    无需开发成本,操作简单。

    缺点

    需要一个端专门用于构建代理服务,且只能在wifi环境下模拟。

    猥皮恩(和谐了)Service构建弱网模拟规则

    基本原理

    猥皮恩(和谐了)Service是android上用于构建自定义猥皮恩(和谐了)服务的api,启动该服务会创建一个类似于应用代理的服务,出入的包都会经过该服务的转发,因此,构建一个自定义的猥皮恩(和谐了)Service就可以实现对弱网环境的模拟。

    优点

    无需root

    缺点

    开发量大,在猥皮恩(和谐了)Service中,由于android的安全机制只能通过socket方式发送tcp/udp报文,因此所有通过tun收发的报文都需要解包和重新添加tcp/udp头,几乎等于重新实现一个tcp/udp栈。

    猥皮恩(和谐了)Service的重要api存在兼容性问题,只能到android 5以上。

    相关文章

      网友评论

          本文标题:移动弱网模拟调研

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