分享

Fiddler几个常用方法

 简简单单1106 2017-01-26
目录:
Fiddler简介
手机连接Fiddler
模拟弱网
过滤网络
断点
对一个接口发送多次请求
修改响应的数据
只对某一个接口打断点


Fiddler简介
Fiddler是一款非常流行并且实用的http抓包工具,能够记录并检查所有你电脑和互联网之间的http通讯,设置断点,查看所有的“进出”fillder的数据

fiddler是以代理服务器的形式工作的,它使用代理地址为:127.0.0.1,默认端口为8888。

fiddler作为一个中间的代理,比如手机要请求数据,先把请求发到fiddler,fiddler再把请求发到服务器,服务器返回的数据先返回到fiddler,fiddler再返回到手机上。

通过fiddler我们可以设置断点修改请求的参数与返回的数据。

去官网下载fiddler,然后安装,安装完成之后打开

手机连接fiddler:
1、确保手机与电脑连在同一局域网内,因为fiddler只是一个代理,需要将手机的代理只想pc机,不能互相访问是不行的。
2.设置fiddler。fiddler主菜单选择tools-->fiddler options-->connections-->勾选Allow remote computers to connect。(允许远程连接)然后重启fiddler,不重启不行
3.查看电脑的IP地址。点击电脑左下角的开始菜单,输入cmd命令,在弹出的命令框里面输入ipconfig命令,然后找到“无线局域网适配ipv4(wifi)”或“以太网适配ipv4(网线)”,记下iPv4的地址(不是固定不变的,动态分配的)
4、设置手机。打开手机设置-->wlan-->找到与电脑同处于一个局域网内的wifi-->点击修改网络-->高级选项-->代理选择手动-->输入刚才查看的IP地址,端口号为8888,点击保存。
这样就可以进行抓包了。运行你要测试的软件,就可以在会话列表里面查看到抓到的数据。

模拟弱网:
fiddler模拟限速正式在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据时间来限制网络的下载速度和上传速度,从而达到限速的效果。
方法:
1、默认的,Rlues--.Performance-->Simulate Modem Speeds
点击之后网速就慢了。
2、自定义网速
Rules-->Customize Rules 会弹出一个文本框,点击ctrl+f搜索simulate,找到限速的原理,
没上传/下载1KB要delay多久
如下:
       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"; 
        }
    // Delay sends by 300ms per KB uploaded.每上传1KB延迟300毫秒
  // Delay receives by 150ms per KB downloaded.每下载1KB延迟150毫秒

 一般可以在浏览器上看到所谓的2G/3G4G/WIFI网络到底是多少,比如谷歌浏览器,点击右键-->选择“检查”-->Network-->Offine No throttling,点击下拉框就可以清楚地看到2G/3G4G/WIFI所代表的是多少KB

过滤:
只抓自己想要的包,其它的不用去管它,要不然一打开fiddler,瞬间就满屏了,想要找到自己想要的包需要很长时间去筛选。抓包时同时抓手机和pc端上的。
方法:
1、在右侧找到Filters,点击Filters
2、勾选User Filters
3、点击第二个下拉框(NO Host Filter),选择Show Only The Following Hosts
No Host Filter:不设置hosts过滤
Hide The Following Hosts:隐藏过滤到的域名
Show Only The Following Hosts:只显示过滤到的域名(一般会用这个)
Flag The Following Hosts:标记过滤到的域名
4、点击右上角的Actions就可以过滤了


断点:
方法:
1、设置断点。Rules-->antomatic Breakpoint-->选择是在请求前还是请求后,断点设置成功后点击go可以继续进行
2、取消断点。Rules-->antomatic Breakpoint-->Disabled


只对某一个接口打断点:
方法:
1.在命令行中输入命令: bpu http://www.qq.com,这种方法只会中断http://www.qq.com
2.消除断点的方法就是在命令行中输入命令 bpu。
 
 



对一个接口发送多次请求:
方法:
1.启用后fiddler;手机端创建某条数据后,session中抓到该接口,右击目标请求Replay>Reissue Sequentially,会弹出一个框,填写要重复的次数,就可以多次请求这个接口;
如图:
 
 
 
 

修改响应的数据:
前期准备:客户端先请求一次数据,把服务器返回的数据复制一下,响应头的信息复制一下,后面会用;
方法:
1.点击fillder右上方的AutoResponder,选中Enable rules 和 Unmatched requests passthrough
2.选中左边栏的会话,拖住会话到右边框内
3.点击页面下方的Rule Editor,有两个选项,选择第二个下拉框,选择Create New response...,点击Save按钮
 
 
4.在弹出框里选择Header,把Header里的数据修改成所需要的数据
5.选择TextView,把之前复制的数据粘贴在里面,点击保存
  
 
6.这时,再请求这个接口时,客户端上返回的数据就是你刚刚粘贴的数据
想让服务器返回什么数据就直接在TextView里面修改数据OK了,每次修改完数据都要点击save进行保存,这样就解决了前端超时时间太短导致来不及修改数据的问题。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多