【fiddler】fiddler基础
一、浏览器设置
一般情况下,fiddler会自动修改IE浏览器的设置,捕捉到IE浏览器的搜有通讯。其他浏览器需要手动设置
如chrome
打开chrome->设置->高级->系统->打开代理设置
连接->局域网设置->高级 代理设置配置如下

默认情况下,fiddler是不会捕捉Https的请求,需要手动设置一下。启动软件,点击【Tools】—【fiddler Options】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一选项前面全打上勾,点击OK就操作成功了。如下图所示:

二、fiddler界面

左边主要是Fiddler抓取到的每条http请求(每一条称为一个session),主要包含了请求的url,协议,状态码,body等信息,详细的字段含义如下图所示

#栏图标

常见状态码
200 服务器成功处理了此请求
301/302 (重定向)请求的URL已移走,response中应包含location url说明资源现在所在位置
304 (未修改)客户的资源是最新的,要客户端使用缓存
404 未找到资源
501 服务器遇到一个错误,使其无法对请求提供服务
502 (网关故障)代理使用的服务器遇到了上游的无响应
2)右边为详情和数据统计面板
针对每条http请求的具体统计(例如发送/接受字节数,发送/接收时间,还有粗略统计世界各地访问该服务器所花费的时间)和数据包分析。
1.Textwizard
编码和解码文本内容
URLdecode:将url解码
2.Inspector(对请求解包)

Header:可能包含client:ua(用户使用浏览器)cookies、发送请求所在域(refers)
Webform:以直观的界面查看body的值和querering string的值(post请求时)
Raw:可以查看完整的消息结构
3.Autoresponder文件替换
一个文件映射到指定目录或文件下(用于定位线上映射到本地做修改,看是否生效)
Exact:精准匹配
可返回本地文件或指定

4.Composer
composer面板,则可以模拟向相应的服务器发送数据的过程
Get请求
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传数据,参数之间以&相连,如
http://192.168.217.174:8081/api/transactions?zoneNumber=1&startTime=2017-07-25%2017:03:34&endTime=2017-07-25%2017:18:09&per_page=20。
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

Post请求
POST把提交的数据则放置在是HTTP包的包体中。

Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求
5.Statistics(性能指标)

点击某个请求时:
Clientconnect:客户端连接建立的时间
Clientbeginrequest:请求时间
Gotrequestheader:发送请求头时间
Clientdonerequest:请求发送出去
全世界范围内的平均数据
RTT:请求的往返时间(衡量请求性能的重要指标)
6.Timeline
在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

7.Filter域名过滤

Hide the following Hosts隐藏host,
Show only the following Hosts只显示写出来的host ,在文本框内输入需要过滤的域名,多个域名使用‘;’分号分割。
Flag the following Hosts标记,显示出来,但是可以打个标记
进程过滤
8.QuickExec命令行的使用
Fiddler的左下角有一个命令行工具叫做QuickExec,允许直接输入命令。
常见得命令有:
help 打开官方的使用页面介绍,所有的命令都会列出来
cls 清屏 (Ctrl+x 也可以清屏)
select 选择会话的命令(content type contains)
?.png 用来选择png后缀的图片(url中含有png)
bpu 截获request
9.网络限速(fiddlerscript)
测试网站在网络较差的情况下的性能
限速原理:每上传/下载1KB要延时多久
算法:1000/下载速度=需延时(delay)的时间(ms)
1)找到时间OnBeforeRequest
oSession["request-trickle-delay"] = "3000";(3s后请求发送)
oSession["response-trickle-delay"] = "3000";(3s后响应)
点击save script

2)找到m_SimulateModem
设置 oSession["request-trickle-delay"] = "300";(每上传1KB延迟300ms)
oSession["response-trickle-delay"] = "150"; (每下载1KB延迟150ms)
Save Script后,勾选rule-performance-Simulate Modem Speeds生效
三、设置 host
1.Fiddler很重要的一个作用就是作为代理,可以起到修改Host的效果。这个对于测试,特别是无线设备不方便Root的情况。显得十分方便。具体操作:点击Tools—Hosts,在弹出的新窗口中,选中填写需要设置的Host,,点击OK就操作成功了。

2.修改request hostname
暂时性修改
在quic exec中输入
Urlreplace 域名 代替域名,按下enter后则转发到指定域名中,取消时输入Urlreplace
永久方法
1.在fiddlerscript中找到事件OnBeforeRequest添加以下代码
if ( oSession . HostnameIs ( '域名' ) )
oSession . hostname = '代替域名' ;
四、使用Fiddler进行HTTP断点调试。
1.fiddler菜单栏->rules->automatic Breakpoints->选择断点方式,这种方式下设定的断点会对之后的所有HTTP请求有效。
有两个断点位置:
a. before response。也就是发送请求之后,但是Fiddler代理中转之前,这时可以修改请求的数据。
b.after response。也就是服务器响应之后,但是在Fiddler将响应中转给客户端之前。这时可以修改响应的结果。
2.命令行下输入,这种断点只针对特定类型的请求。

例如
可以通过命令行设置:bpafter imooc。键入回车之后,web再次访问文件,通过Fiddler的web session界面可以看到,请求已经被挂起来了,而web浏览器也一直处于加载的状态。
这时我们就可以修改响应的信息了。修改过程为:
切换到textView子面板,选择需要修改的部分,然后点击 “run to complete“,便可回送修改后的响应。假设修改了html标题

打开修改的web界面:

3.终止断点
1). 在inspector界面点击“run complete“即会终止本次HTTP请求的断点
2). 输入go命令,也会使得当前的请求跳过断点。
3). 在rules->auto breakpoint中disabled断点即可。
4). 命令输入栏输入bpafter等
五、手机抓包
1.对pc进行设置
1). 配置fiddler允许监听到https(fiddler默认只抓取http格式的)
打开Fiddler菜单项Tools->TelerikFiddler Options->HTTPS,
勾选CaptureHTTPS CONNECTs,点击Actions,
勾选Decrypt HTTPS traffic和Ignore servercertificate errors两项
2). 配置fiddler允许远程连接
点击Tools->TelerikFiddler Options->Connections,勾选allow remote computers to connect,默认监听端口为8888,若端口被占用可以设置成其他的,配置好后要重新启动fiddler,

2.对手机参数进行设置
手机和pc处于同一网段
1).打开手机浏览器,输入http://ip:端口号,点击前往
2).安装证书
3).更改手机网络代理
手机系统设置-无线网-点击高级,代理选择手动,主机名就是fiddler的电脑ip地址,端口号,就是fiddler的端口号,与浏览器中ip:端口号保持一致,点击确定

4).操作手机,fiddler中会显示一些请求

【fiddler】fiddler基础的更多相关文章
- Fiddler学习基础(一)
Fiddler官方网站及下载地址:http://www.telerik.com/fiddler 1. Fiddler原理: 作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达 ...
- Fiddler之基础:面板、图标介绍
1.面板介绍:菜单栏,工具栏,回话面板,监控面板 2.工具栏-图标 3.会话面板-图标 4.监控面板 5.状态栏 控制台Fiddler的左下角有一个命令行工具叫做QuickExec,允许你直接输入命令 ...
- Fiddler [Fiddler] Connection to localhost. failed.
原文地址:http://blog.chinaunix.net/uid-20675015-id-1899931.html 在用Fiddler调试本机的网站时,即访问http://localhost,返回 ...
- 接口测试基础(fiddler、postman的使用、python实现测试接口程序)
写在前面:本文主要的章节规划: 1.什么是接口测试 另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处: 其中, ...
- 接口测试基础--Fiddler、Postman、Python实现对接口的测试
写在前面:本文主要的章节规划: 1.什么是接口测试 另外,有的时候会直接调用别的公司的接口,比如银行的.淘宝的.支付宝的,此时也需要做接口测试以及验证数据: 做接口测试的好处: 其中, ...
- Fiddler 基础
Fiddler 基础 来源 https://blog.csdn.net/ohmygirl/article/details/17855031 1.为什么是Fiddler? 抓包工具有很多,小到最常用的w ...
- Fiddler抓包工具使用基础
官网下载Fiddler Fiddler的官方网站: www.fiddler2.com Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监 ...
- 两款HTTP流量分析工具HttpWatch与Fiddler的比较(转)
最近突然想看看HTTP的消息到底是怎么回事,在网上搜了几款软件来监控,并且搜到了下面的文章,感觉介绍的不错,就copy下来了.下文摘自:http://www.imkevinyang.com/2009/ ...
- 前后端分离的利器:fiddler的实用功能举例
# 前后端分离的利器:fiddler的实用功能举例 ##what's fiddler fiddler是一款代理软件,对于前后端分离开发非常重要.可以说,如果前端开发没有用上fiddler或类似软件,那 ...
- 【渗透神器系列】Fiddler (收藏)
发表于 2017-04-27 | 分类于 安全工具 | | 阅读次数 593 人世起起落落 左手边上演的华灯初上 右手边是繁华落幕的星点余光 本篇作为渗透神器系列第二篇,将介绍 ...
随机推荐
- ES6深入浅出-8 新版的类(下集)-1.简单语法
回顾 当你声明一个空的对象obj的时候,会生成一块内存这个内存里面什么都没有,自由__proto__存在401的地址. 也就是Object的protototype在内存中的地址 类 通过函数创建类.这 ...
- NativeExcel3使用示例
除了XLSReadWriteII5,还有个NativeExcel也是比较好的操作excel的组件,现将NativeExcel3的使用示例写一下,以下是代码和生成的excel表格的效果: procedu ...
- 深入浅出深度学习:原理剖析与python实践_黄安埠(著) pdf
深入浅出深度学习:原理剖析与python实践 目录: 第1 部分 概要 1 1 绪论 2 1.1 人工智能.机器学习与深度学习的关系 3 1.1.1 人工智能——机器推理 4 1.1.2 机器学习—— ...
- C#操作Access时Parameters集合的使用方法(转)
按照C#操作Sql Server数据库的方式是不一样的,使用时发现占位符数据会混乱. 查阅相关资料及测试后,总结出这样一套使用方法. 方法: public bool TsqlExecute(strin ...
- H5微信场景应用 audio模块
css .bgAudio{width:27px;height:27px;position:fixed;right:10px;top:10px;z-index:999;-webkit-tap-highl ...
- chrome devTool
在console中访问节点 使用document.querySelectAll()访问元素 使用$0快速访问选中的元素,光标选中的元素,早console中输入$0获取选中元素的dom信息 拷贝 > ...
- IDEA 创建JAVA Maven Web 工程 不能建Sevlet文件
JAVA目录下建包而不是文件夹 需要添加依赖 <dependency> <groupId>javax.servlet</groupId> <artifactI ...
- google test 打印派生类对象
在Unison中使用google test时,发现EXPECT_EQ在fail时,不能打印Unison Test Language中定义的派生类的对象.于是写了个纯C++的示例,发现在只定义基类的op ...
- QT加载自带字体
#include <QCoreApplication> #include <QStringList> #include <QFontDatabase> #inclu ...
- PAT(B) 1028 人口普查(C)字符串
题目链接:1028 人口普查 (20 point(s)) 题目描述 某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是 ...