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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • int与bigdecimal的相互转换[通俗易懂]

    int与bigdecimal的相互转换[通俗易懂] int转bigdecimalBigDecimalnumber=newBigDecimal(0);intvalue=score;number=BigDecimal.valueOf((int)value);bigdecimal转intBigDecimalb=newBigDecimal(45.45);inta=b.intValue(); …

    2022年4月19日
    83
  • screentogif全屏录制_录屏转gif手机版

    screentogif全屏录制_录屏转gif手机版作者:虚坏叔叔博客:https://xuhss.com早餐店不会开到晚上,想吃的人早就来了!?ScreenToGif录制软件的通用设置,优化使用体验在写博客的过程中习惯使用ScreenToGif来录制操作。在当下个人计算机性能内存搓搓有余的情况下,如何能够让这款软件非常好用呢?一、快捷键设置1.快速后台启动录屏窗口通过设置Ctrl+Alt+R能够快速启动软件二、关闭软件不退出有时,我需要让这个软件一直在后台运行,因为这块软件占的内存并不是很大:我们希望一直在后台运行即使关闭了

    2022年9月20日
    0
  • java不重启服务动态加载properties文件

    动态加载properties文件内容,不需要重启服务!1 、Maven 工程,在resource下新建一个properties文件

    2022年2月26日
    33
  • Mongodb语法总结

    Mongodb语法总结

    2022年1月9日
    36
  • java axis_Java 使用Axis实现WebService实例

    java axis_Java 使用Axis实现WebService实例在上一篇WebService实例中,基于jdk1.6以上的javax.jws发布webservice接口。这篇博文则主要用eclipse/myeclipse使用axis插件进行发布和调用WebService。1.下载axis,并解压到tomcat/webapps目录下2.在tomcat部署axis2启动tomcat,可以看到多了个axis2文件在浏览器输入:http://localho…

    2022年7月21日
    11
  • django request.get_RequestParam

    django request.get_RequestParamDjango在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。在这个

    2022年7月31日
    5

发表回复

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

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