原理

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

点击上面的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

另外,可以将左侧请求行中需要的请求拖拽至请求构造栏中,修改相应参数,执行调试接口

声明:部分图片来源于网络,如有侵权,请联系删除

fiddler常用功能的更多相关文章

  1. Fiddler常用功能总结

    使用Fildder几年来,深深的体会到了其便利性,给工作带来了极大的便利,所以把其它常用功能总结如下 一:介绍 1.免费,支持抓取http.https协议,可独立运动 2.原理:(客户通过移动端或是P ...

  2. fiddler常用功能一

    fiddler备忘,好久不用,有些步骤忘记了 1.本机pc,目前ie和chrome都可以直接抓取,但是搜狗浏览器暂时抓不到 2.手机端抓包 (1)设置下代理:fiddler客户端查看下端口,然后在手机 ...

  3. Fiddler 常用功能总结

    1.fiddler相关配置   2.如何抓包 移动端 ①保持手机和电脑处于同一网络中 ②设置手机的代理为电脑当前所处网络的IP,端口号为:8888,eg:10.12.1.64:8888. ③ 启动ap ...

  4. Fiddler抓取https请求 & Fiddler抓包工具常用功能详解

    Fiddler抓取https请求 & Fiddler抓包工具常用功能详解   先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...

  5. fiddler抓包常用功能详解

    一.基础部分: 1.设置代理ip及端口,tools --> telerik fiddler options --> connections -->勾选 “ Allow romote ...

  6. Fiddler 常用文档

    时间飞逝,已经俩月有余没写东西了(本来写的就不多,(^▽^)),最近俩月的苦闷,此处省略 1W 字.... 闲言碎语不多讲,使用 Fiddler 有一小段时间了,今天在这里总结下,一来做个笔记,二来可 ...

  7. fiddler常用操作之断点

    fiddler常用操作断点 标签(空格分隔): fiddler断点 一.断点: 1.为什么要打断点呢? 比如一个购买的金额输入框,输入框前端做了限制100-1000,那么我们测试的时候,需要测试小于1 ...

  8. fiddler常用操作

    fiddler常用操作 标签(空格分隔): fiddler fidrdler抓取https请求: fiddler是一个很好的抓包工具,但是默认的是抓取HTTP的,对于pc的https的会提示网页不安全 ...

  9. WebStorm 常用功能的使用技巧分享

    WebStorm 是 JetBrain 公司开发的一款 JavaScript IDE,使用非常方便,可以使编写代码过程更加流畅. 本文在这里分享一些常用功能的使用技巧,希望能帮助大家更好的使用这款强大 ...

随机推荐

  1. [LeetCode] 92. Reverse Linked List II 倒置链表之二

    Reverse a linked list from position m to n. Do it in one-pass. Note: 1 ≤ m ≤ n ≤ length of list. Exa ...

  2. greatest among three numbers

    public class Solution { public static void main(String[] args) { Scanner ip = new Scanner(System.in) ...

  3. 解决VMware虚拟机中centos 7无法上网的问题

    在WMware中安装centos 7后发现无法安装软件,开始以为是镜像服务器的问题,后来通过ping之后发现根本没办法连接到网络.由于很多设置都是默认的,并且虚拟机也是NAT模式,和电脑主机共享网络, ...

  4. C#获取屏幕鼠标坐标点颜色

    [DllImport("user32.dll")]        private static extern IntPtr GetDC(IntPtr hwnd);          ...

  5. SpringBoot整合junit

    SpringBoot整合junit 主要分为4步 添加依赖 创建测试类 在测试类上添加注解 在测试类注入测试对象 1:导入依赖包 <dependency> <groupId>o ...

  6. unix高级环境编程学习笔记第七章(未完)

    博客地址:http://www.cnblogs.com/zengjianrong/p/3222081.html 7.1 引言 Main函数调用:命令行参数:存储器布局:如何分配存储器:进程使用env: ...

  7. Redis 内存管理 源码分析

    要想了解redis底层的内存管理是如何进行的,直接看源码绝对是一个很好的选择 下面是我添加了详细注释的源码,需要注意的是,为了便于源码分析,我把redis为了弥补平台差异的那部分代码删了,只需要知道有 ...

  8. ElasticSearch6.3.2 集群做节点冷(warm) 热(hot) 分离

    拿一个小规模的5节点ES集群做冷热分离尝试,它上面已经有60多个索引,有些索引按月.每月生成一个索引,随着数据的不断写入,历史数据(只需保留三个月数据,三个月之前的数据视为历史数据)越来越占磁盘空间和 ...

  9. 记WinForm中WebBrowser相关的俩个问题

    问题一:如何不让WebBrowser中弹出“安全警告” 当链接https网址时,IE会自动弹出上图中的窗口. 关闭窗口的具体思路如下: 使用WebBrowser加载中/加载完毕后触发的事件处理程序,在 ...

  10. centos7 配置nginx vim语法高亮

    看了Nginx核心知识100讲,按照他的做法,没有配置成功,可以使用下面的方法: 下载nginx源码,http://nginx.org/en/download.html 这里下载的是:nginx-1. ...