fiddler常用功能
原理
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(cookie,html,js,css等)。

fiddler下载、安装
下载
地址:www.telerik.com/fiddler

安装




启动

启动后的界面,包含:工具栏、请求列表、命令行、请求详情、响应详情

fiddler基础配置

默认监听端口为8888
勾选Allow remote computers to connect,表示允许远程连接(别的机器把HTTP/HTTPS请求发送到Fiddler上来)

fiddler默认只抓取http协议的请求,要抓取https协议的请求,需要做如下配置:
选中"Decrpt HTTPS traffic",fiddler就可以抓取https请求
首次勾选,会弹出两个对话框,是否信任fiddler证书和安全提示

否信任fiddler证书,点击【Yes】

安全提示,点击【是】


配置完成后,重启fiddler
fidller抓包默认用IE,IE不用做配置
打开fiddler,再打开IE的设置,可以看到,安装完fiddler后,默认也将IE的代理设置好了



关闭fiddler,代理自动被关闭

常用功能
清除左侧请求列表

过滤
方式一:

方式二:
隐藏或者显示配置的hosts

多个hosts之间用分号分割

显示内网、外网,这个用得少

web端抓包(http&https)
web端抓取http
设置过滤,只显示url中包含localhost的请求

启动本地tomcat服务,浏览器访问:http://localhost:8580/

双击下面这个请求

右侧上方显示请求详情,下方显示响应详情

web端抓取https
设置过滤

浏览器访问:https://www.baidu.com/


部分图标含义


清除图片


双击上面第一个请求


app端抓包(http&https)
以ios举例
完成fiddler的基础配置(见本篇第二节)
app端抓取http
手机和电脑在同一局域网
查看电脑ip

手机设置代理


设置过滤

手机访问电脑上的tomcat,电脑ip:8580,即:192.168.0.102:8580

app端抓取https
打开浏览器,输入电脑ip:8888,即:192.168.0.102:8888
如果打不开,关闭代理服务器(fiddler),再重新打开

点击上面的FiddlerRoot certificate超链接,下载证书

手机上安装证书

设置--通用--关于本机--证书信任设置,开启fiddler证书的信任

华为手机
点击证书安装

手机访问百度
模拟弱网低速
模拟低速网络情况下页面、APP的显示与交互情况,比如响应时间过长时是否有弹出网络不好的提示、页面crash以及显示错乱、session是否一致等

搜索:m_SimulateModem
默认,发送每KB延时300ms,接收每KB延时150ms

可以都设置为30000毫秒
变成黄色

ctrl+s保存后,变为绿色

开启限速

一直转圈

下面图标表示正在从服务器下载响应

测试结束后取消限速
请求数据篡改
Fiddler中设置断点修改Request
设置断点可以修改httpRequest的任何信息(包括host、cookie、表单中的数据)。
设置断点有两种方法:
第一种:打开Fiddler,点击Rules -> Automatic Breakpoint -> Before Requests(这种方法会中断所有的会话),取消方式:点击Rules -> Automatic Breakpoint -> Disabled
第二种: 在命令行中输入命令: bpu www.baidu.com (这种方法只会中断www.baidu.com),取消方式:在命令行中输入命令 bpu
举例:
浏览器访问jenkins:http://ip:8580/jenkins/login
打开Fiddler,点击Rules -> Automatic Breakpoint -> Before Requests

输入账号密码(密码是错误的密码),点击登录

fiddler能中断这次会话,双击被中断的会话

点击Inspectors tab下的WebForms

修改密码为test1234,然后点击Run to Completion

然后就能登录成功

Fiddler中设置断点修改Response
第一种:打开Fiddler,点击Rules -> Automatic Breakpoint -> After Response (这种方法会中断所有的会话),取消:点击Rules-> Automatic Breakpoint -> Disabled
第二种: 在命令行中输入命令: bpuafter www.baidu.com (这种方法只会中断www.baidu.com),取消:在命令行中输入命令 bpuafter。
先设置fiddler,打开fiddler,点击Rules -> Automatic Breakpoint -> After Response
浏览器访问:http://ip:8580/jenkins/login

修改响应内容,添加如下内容


页面返回

但是这样容易造成请求超时,可以用AutoResponder。
AutoResponder替换源资源
目的:请求百度首页,返回https://www.cnblogs.com/uncleyong/
将左侧的请求拖动到右侧





此时,浏览器访问百度首页,会重定向到:

不使用该规则,取消勾选

或者移除

mock
fiddler_mock.txt
{"code":"0", "message":"success", "content":{"user":"uncleyong","url":"https://www.cnblogs.com/uncleyong/"}}


访问百度首页

另外,还可以用正则匹配

前缀为“EXACT:”表示完全匹配(大小写敏感)
无前缀表示基本搜索,表示搜索到字符串就匹配
前缀为“NOT:”表示发现就不匹配
前缀为“REGEX:”表示使用正则表达式匹配
fiddler模拟http请求
无参


get有参

post
略
另外,可以将左侧请求行中需要的请求拖拽至请求构造栏中,修改相应参数,执行调试接口
声明:部分图片来源于网络,如有侵权,请联系删除
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!

浙公网安备 33010602011771号