|
介绍:
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,
设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理,
退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler
没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.
Fiddler抓包及分析:
打开Fiddler,如下图所示
1.配置Fiddler,充许“远程连接”
在菜单tool -->Fiddler Options -->Connections -->Allow remote computers to connect(允许远程计算机连接)
选中,之后重启一下Fiddler。
2. 获取Fiddler所在机器的IP地址
使当前打开无线网卡,连接无线网络,然后查看当前PC的IP,通过ipconfig查找,如下图所示,查到的结果是
192.168.1.114。
3.手机上配置Fiddler为代理
使手机连上无线网卡,连接无线网络,并与PC连接同一个WIFI热点,连上之后,在设置-->WLAN -->长按当前
连接的网络-->修改网络 -->显示高级,如下图所示,代理设置:手动;代理服务器主机名:步骤2中查出的IP
(192.168.1.114),端口:8888,然后点击“保存”。
4.模拟弱网
1、修改弱网参数
Fiddler -->Customize Rules(自定义规则),点击,弹出CustomRules.js文件,此文件位于:位于: C:\Document
s and Settings\[your user]\My Documents\Fiddler2\Scripts\CustomRules.js 下,找m_SimulateModem这个字,你
会找到下面这段:
- [javascript] view plaincopy
- if (m_SimulateModem) {
- // Delay sends by 300ms per KB uploaded.
- oSession["request-trickle-delay"] = "300";
- // Delay receives by 150ms per KB downloaded.
- oSession["response-trickle-delay"] = "150";
- }
复制代码
这就是Fiddler 模拟网路速度的原理,每上传/下载1KB 要delay 多久…其中,request是请求(上传),response
是返回(下载),如果习惯用kbps 去算的话,那么我们的算法就是 8*1000/下载速度 = 需要delay的时间(毫
秒),比如50kb/s 需要delay200毫秒来接收数据。
计算过程:1KB传送需要延时300ms ,那么1S可以传送 8*1000/300 Kb,需要延时300ms,那么要1S传送
2.7Kb, 将延时:2962ms
2G的上传速率为:2,7Kbs下载速率为:9.6Kbs 所以此处设置:2962 ms 与833 ms,代码如下:
- [javascript] view plaincopy
- if (m_SimulateModem) {
- // Delay sends by 300ms per KB uploaded.
- oSession["request-trickle-delay"] = "2962";
- // Delay receives by 150ms per KB downloaded.
- oSession["response-trickle-delay"] = "833";
- }
复制代码
2、确定设定的参数
设置完之后,记得再到Rules → Performances → Simulate Modem Speeds 勾选
5.停掉PC与手机上面通上网的应用
把PC与手机上面上网的进程杀掉,如果上网的应用太多了,那网速肯定也会受到影响,这样出来的报告,就
会不准确。
6.进行抓包
在手机上面打开要测试的应用或者网页,就会在fiddler中有相应的记录,如下图所示。
点击其中一条记录,在右侧的statistics中就会显示当前界面相应数据。bytes Sent 是指发送的请求数,Bytes
Received:返回的数据量,Overall Elapsed:总耗时。
|
|