抓包工具01---fillder
一、抓包简介
打开之后自动设置浏览器本地代理,可以查看ie浏览器,关闭fillder后,设置的代理自动关闭

获取响应的名词解释:
Statistics统计页签: 通过该页签, 用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求和最后一个请求, 可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多, 从而对页面的访问进行访问速度优化 inspectors检查页签: 它提供headers、textview、hexview,Raw等多种方式查看单条http请求的请求报文的信息,它分为上下两部分:上部分为HTTP Request(请求)展示,下部分为HTTPResponse(响应)展示 AutoResponse自动响应页签: Fiddler最实用的功能, 它可以抓取在线页面保存到本地进行调试, 大大减少了在线调试的困难, 可以让我们修改服务器端返回的数据, 例如让返回都是HTTP404或者读取本地文件作为返回内容。 可设置打开某网页显示自己想要的内容,比如抓取百度链接,点击add rule, composer构建页签: 支持手动构建和发送HTTP, HTTPS和FTP请求, 我们还可以从web session列表中拖曳session, 把它放到composer选项卡中, 当我们点击Execute按钮, 把请求发送到服务器端 log日志页签: 打印日志 Filters过滤页签: 过滤器可以对左侧的数据流列表进行过滤, 我们可以标记、 修改或隐藏某些特征的数据流。 Timeline时间轴页签: 时间轴,也称为Fiddler的瀑布图,展示网络请求时间的功能。 每个网络请求都会经历域名解析、建立连接、发送请求、接受数据等阶段。把多个请求以时间作为 X 轴, 用图表的形式展现出来, 就形成了瀑布图。 在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间
二、功能说明
-
字段说明
Capture Traffic(捕捉流量)是开启,在File –> Capture Traffic


显示的图标可以根据实际抓包进行分析
2.过滤器 filters


3.转码工具

4.设置断点
为何设置断点:
有时需要对某人输入值跳过前端的控制,直接通过接口传输,需要校验后端是否控制住(一般针对post接口,然后修改的数据为非前端控制的数据)
如何设置:
1.首先需要设置断点
2.然后在web/app上进行执行抓取接口,
3.在fillder上修改传入的参数
4.进行提交即可查看是否能够提交成功,成功后端未控制输入,不成功后端进行控制了


5.改变请求值 composer
类似于设置断点进行接口传值,但composer进行修改值,不用设置断点,可以直接操作

6.设置hosts值
设置代理场景,例如:
公司的协议之前为http,可以进行抓包,但改成https协议的时候,测试环境抓包测试就需要设置hosts代理将https进行映射到对应的服务器地址,才能正常进行抓包测试
比如:10.197.236.210 bmcapp.hikcreate.com

7.慢网络测试(限制网速)
- 1、Fiddler---》Rules---》Customize Rules ,
- 2、在CustomRules.js里搜索找到:m_SimulateModem,
- 3、在如下脚本中修改上传及下载延时毫秒数即可:
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,Rules---->Performance---->Simulate Modem Speeds,选中即可生效。
-
首先来判断m_SimulateModem是否为true,也就是是否设置了弱网模式。
-
如果为弱网模式。则分析代码
-
oSession[“request-trickle-delay”] = “300”; 注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s)
-
如果你想设置上传的速度为50KB/s,你则需要设置Delay 时间为 20ms
-
同样的方法,也可以限制上传的速度,调整oSession[“response-trickle-delay”]即可。
- 同时可以查看Timerline和statistics

8.设置响应时间
瀑布图/请求响应时间 Timeline

9.在请求列表显示响应时间(Time Taken)
第一种方法: rule-Customize Rules (如果报错,说明文件已经损坏需要重新下载)
文本中添加java代码:
function BeginRequestTime(oS: Session)
{
if (oS.Timers != null)
{
return oS.Timers.ClientBeginRequest.ToString();
}
return String.Empty;
}
public static BindUIColumn("Time Taken")
function CalcTimingCol(oS: Session){
var sResult = String.Empty;
if ((oS.Timers.ServerDoneResponse > oS.Timers.ClientDoneRequest))
{
sResult = (oS.Timers.ServerDoneResponse - oS.Timers.ClientDoneRequest).ToString();
}
return sResult;
}
第二种方法:在FiddlerScript模块里面添加如下一段代码,保存(Save Script),重启fiddler,即可在左侧请求栏直观查看服务请求响应时间

三、https
可以设置hosts代理,导入证书,目前接触比较少,待后面遇到了补充
四、fillder 抓包手机
1.fillder开启远程连接

2.电脑端 ctrl+R 打开cmd 进入dos命令,ipconfig 查询到电脑的ip地址
3.手机和电脑连接同一网络,选中wifi设置代理电脑ip+端口号
五、内置命令


六、使用中常见问题
1.手机无法连接网络,app无法使用连接提示网络问题,
解决方法 :没有打开fillder,或者手机重新打开了fillder需要重新设置代理)
2.钉钉应用出现问题,图片打不开,出现裂痕,无法进行打卡,
解决方法:需要关闭代理
3.连接代理有可能引起文件或者图片的传输,
解决方法:测试的时候考虑响应时间,可以先暂时关闭掉fillder
七、其他
导出请求数据(导出数据未json格式可以用json在线处理工具进行查看)


浙公网安备 33010602011771号