Fiddler的手机抓包过程
2019-11-19

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

 

 

 

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

 

 

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

 

 

3、 打开android设备的设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择修改网络,弹出网络设置对话框,然后勾选显示高级选项

 

 

4、 代理后面的输入框选择手动,在代理服务器主机名后面的输入框输入电脑的ip地址,在代理服务器端口后面的输入框输入8888,然后点击保存按钮。

 

 

5然后启动android设备中的浏览器,访问百度的首页,在fiddler中可以看到完成的请求和响应数据。

 

 


 

fiddler进行弱网测试过程

fiddler限速的原理

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

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

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

 

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

4、 1.设置端口号:

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

 

 

3.重启fiddle

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

 

 

6、 设置手机代理

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

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

 

 

9、 网络取值的算法就是 1000/下载速度 需要delay的时间(毫秒),比如50kb/s  需要delay200毫秒来接收数据。

10、 查找代码如下:

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进行弱网条件下的操作,

选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化