fiddler进行弱网测试

使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理。抓包过程:1、Fiddler设置1)启动Fiddler->Tools->FiddlerOptions2)HTTPS选项卡中,设置如下,勾选过程中如有弹窗允许即可;Connections选项卡中,勾选Allowre…

大家好,又见面了,我是你们的朋友全栈君。

使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理。

抓包过程:

1、Fiddler设置

1)启动Fiddler->Tools->Fiddler Options

在这里插入图片描述

2)HTTPS选项卡中,设置如下,勾选过程中如有弹窗允许即可;
在这里插入图片描述

Connections选项卡中,勾选Allow remote computers to connect,勾选时如有弹窗确定即可;

Fiddler listens on port:8888是监控端口;

在这里插入图片描述

2、手机设置

1)手机和电脑连同一个WiFi;

2)通过ipconfig查看计算机IP地址,如本机IP地址为:192.168.9.150;打开手机无线网络,选择连接的WiFi,设置代理,IP输入192.168.9.150,端口:8888;

3)手机浏览器访问:192.168.9.150:8888,出现响应页面说明连接成功,点击响应界面中的“fiddlerRoot certificate”安装证书,然后就可以操作App通过Fiddler进行抓包了。

可以在Fiddler Statistics中查看各个请求发送和接受数据大小及传输时间。

在这里插入图片描述

3 . fiddler模拟限速的原理
我们可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里 面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。

他提供了一个功能,让我们模拟低速网路环境…启用方法如下:

Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度

启动fiddler需要进行如下设置:

1.设置端口号:
在这里插入图片描述

allow remote computers to connect “允许远程计算机连接”为设置的代理可以连接到fiddle上,必须勾选

2.重启fiddle;

3.设置模拟调制解调器的速度:

在这里插入图片描述

4.设置手机代理

手机代理设置“ip地址为本机的ip,端口号为之前设置的端口号(确保端口号不被占用)”

5.手动设置设置上行,下行速率,模拟网路速度的原理,每上传/下载1KB 要delay 多久…

在这里插入图片描述
网络取值的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。

查找代码如下:

if (m_SimulateModem) {

        //Delay sends by 300ms per KB uploaded. //每延迟300ms发送1kb的数据,也就是每1s发送3kb的数据

       oSession["request-trickle-delay"] = 300

        //Delay receives by 150ms per KB downloaded.

       oSession["response-trickle-delay"] = 150//每延迟150ms下行1kb的数据

    }

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

6.设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化

如下图:
在这里插入图片描述

不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化:

如下图

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125784.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java volatile关键字作用[通俗易懂]

    Java volatile关键字作用[通俗易懂]当一个共享变量被volatile修饰时,它会保证修改的值立即被更新到主存“,这里的”保证“是如何做到的?和JIT的具体编译后的CPU指令相关吧?  volatile特性  内存可见性:通俗来说就是,线程A对一个volatile变量的修改,对于其它线程来说是可见的,即线程每次获取volatile变量的值都是最新的。  volatile的使用场景  通过关键字sychronize…

    2022年6月1日
    27
  • redisson和jedis区别_redisson和redis区别

    redisson和jedis区别_redisson和redis区别Redis可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串)、List(列表)、Set(集合)、Hash(散列)和Zset(有序集合)。redis与spring的整合一般分为spring-data-redis整合和jedis整合,先看看两者的区别1、引用的依赖不同:spring-data-redis使用的依赖如下: <dependency> <groupId>org.springframework..

    2025年5月28日
    4
  • CentOS7怎么保存退出vi编辑

    CentOS7怎么保存退出vi编辑CentOS7怎么保存退出vi编辑(转自阿里云)保存命令按ESC键跳到命令模式,然后::w保存文件但不退出vi:wfile将修改另外保存到file中,不退出vi:w!强制保存,不推出vi:wq保存文件并退出vi:wq!强制保存文件,并退出viq:不保存文件,退出vi:q!不保存文件,强制退出vi:e!放弃所有修改,从上次保存文件开始再编辑…

    2022年9月30日
    4
  • mac phpstorm 激活码【在线注册码/序列号/破解码】

    mac phpstorm 激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    37
  • Linux find命令根据时间筛选出文件进行删除

    Linux find命令根据时间筛选出文件进行删除

    2021年6月3日
    119
  • android之解析包时出现错误(二)

    为什么是二呢,之前遇到过一次了,详见http://blog.csdn.net/jason0539/article/details/12222173这次的原因不同,再记录下public class DownloadTask { /** * @param path下载地址 * @param filePath存储路径 * @param progressDialog进度

    2022年3月11日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号