美文网首页
[转]android中用Fiddler模拟低速网络环境

[转]android中用Fiddler模拟低速网络环境

作者: 努力深耕Android的小透明 | 来源:发表于2017-12-22 10:31 被阅读554次
  1. 用Fiddler设置手机代理
    1.配置Fiddler允许监听https

打开Fiddler菜单项Tools->Fiddler Options,选中decrypt https traffic和ignore server certificate errors两项,如下图:


image.png

第一次会提示是否信任fiddler证书及安全提醒,选择yes,之后也可以在系统的证书管理中进行管理。

2.配置Fiddler允许远程连接

启动Fiddler,打开菜单栏中的 Tools > Options,打开“Options”对话框。

在Fiddler “Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,然后点击“OK”按钮。

image.png

3.配置手机端

在本机命令行输入:ipconfig,找到本机的ip地址。

image.png

打开android设备的“设置”->“WLAN”,打开手机连接到同一局域网的wifi,在上面长按,然后选择“修改网络”,弹出网络设置对话框,然后勾选“显示高级选项”,选择手动代理设置,主机名填写Fiddler所在机器ip,端口填写Fiddler端口,默认8888,如下图:

image.png
  1. 设置限速步骤
    我们可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。
    他提供了一个功能,让我们模拟低速网路环境…启用方法如下:
    Rules → Performances → Simulate Modem Speeds (如下图)

勾选之后,你会发现你的网路瞬间慢超多…
(想当年国中时我们的网路速度也是一路降子走来啊…)

如果你觉得模拟的速度慢到一个爆炸,不Make Sense 的话…
你也可以自己定义Modem Speeds 究竟要多快…
点开Rules → Customize Rules (如下图)

用Fiddler模拟低速网络环境

m_SimulateModem

这个字,你会找到下面这段:

用Fiddler模拟低速网络环境

这就是他模拟网路速度的原理,每上传/下载1KB 要delay 多久…
如果你习惯用kbps 去算的话,那么我们的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。

// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "300";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "150";

请注意,当你存档之后,原本已经勾选的Simulate Modem Speeds 会被取消勾选,
要记得再到Rules → Performances → Simulate Modem Speeds 勾选喔~

参考文章:

  1. 用Fiddler对Android应用进行抓包
  2. 用Fiddler模拟低速网络环境

相关文章

网友评论

      本文标题:[转]android中用Fiddler模拟低速网络环境

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