Fiddler(一)模拟弱网环境

一、Fiddler简介

Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一 ,既然是代理就说明:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器。 

它可以记录客户端和服务器之间的所有 HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大。

二、基本使用

安装完fiddler之后,打开,可以看到以下界面:


Fiddler(一)模拟弱网环境_第1张图片

图中左下的一大部分显示的都是抓取的http请求,可以看到从#开始,有result、protocol等等信息,具体意思如下:


名称 意义
# 请求序号
Result http状态码
Protocol 请求使用的协议
Host 主机名
URL 请求资源的位置
Body 该请求的大小
Caching 请求的缓存过期时间
Content-type 请求响应的类型
Process 发送此请求的进程ID
comment 用户为此回话添加备注


让fiddler抓取移动设备的数据包:

点击菜单栏的Tools-->Telerik Fiddler Options,勾选允许远程连接,并设置代理端口8888之后点击OK。

Fiddler(一)模拟弱网环境_第2张图片


我们可以将移动设备和电脑连接到一个网络下,查询本机的IP地址后,用移动设备连接到这个WiFi,并且设置代理:

Fiddler(一)模拟弱网环境_第3张图片


设置完成了之后,我们还要用手机连接到代理IP的8888端口,下载证书:

Fiddler(一)模拟弱网环境_第4张图片


安装完了证书之后,就可以用手机来访问网络,并借用fiddler来看网络请求,并可以做其他的事。

三、模拟网络速度

还是在菜单栏中找到Rules,设置rule,如下图:

Fiddler(一)模拟弱网环境_第5张图片


弹出的是设置脚本的界面,我们可以通过搜索m_SimulateModem找到如下一段代码:


   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"; 
        }


很容易可以看出来,可以在这个地方设置上传和接受的速度,通过改变值,就可以模拟网络速度。这里默认的上传速度是1KB/300ms。然后我们再勾选上Rules->Performance->simulate modem speed,就可以正常的使用我们设定的网速了。


通过以上的步骤,我们就可以实现用fiddler来模拟网络速度了。当然,fiddler的功能还很强大,我们可以很简单的来使用它,比如设置filters来限制仅仅抓取我们需要的包;用AutoResponder来自动返回请求;截获请求设置断点等等。


你可能感兴趣的:(网络相关)