一. 什么是fiddler&它可以做什么

fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一。它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器

既然是代理,也就是说:客户端的所有请求都要先经过fiddler,然后转发到相应的服务器,反之,服务器端的所有响应,也都会先经过fiddler然后发送到客户端,基于这个原因,fiddler支持所有可以设置http代理为127.0.0.1:8888的浏览器和应用程序。使用了fiddler之后,web客户端和服务器的请求如下所示:

二. chrome浏览器设置代理

三. 利用fiddler录制WEB请求

1. 打开浏览器,设置服务器代理为:127.0.0.1,端口为:8888(如上图步骤所示)

2. 打开fiddler,然后打开浏览器,进行目标网站访问

3. 录制的请求如下:

三. fiddler各组件分析

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

Inspectors:分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。对于每一部分,提供了多种不同格式查看每个请求和响应的内容。JPG格式使用ImageView就可以看到图片,HTML/JSS/CSS使用TextView可以看到响应的内容。Raw标签可以查看原始的符合HTTP标准的请求和响应头。Cookies标签可以看到请求的cookie和响应的set-cookie头信息

出现乱码点击click to decode

AutoResponder:fiddler比较重要且比较强大的功能之一。可用于拦截某一请求,并重定向到本地的资源,或者使用fiddler的内置响应。可用于调试服务器端代码而无需修改服务器端的代码和配置,因为拦截和重定向后,实际上访问的是本地的文件或者得到的是fiddler的内置响应。当勾选allow autoresponder并设置相应的规则后进行使用。因此,如果要调试服务器的某个脚本文件,可以将该脚本拦截到本地,在本地修改完脚本之后,再修改服务器端的内容,这可以保证,尽量在真实的环境下去调试,从而最大限度的减少bug发生的可能性。具体怎么进行调试,我们后面再详细讲解:

Composer:Parsed输入请求的url之后executed即可,也可以修改相应的头信息(如添加常用的accept,host,referrer,cookie,cache-control等头部)后execute

Filter:fiddler另一个比较强大的功能,fiddler提供了多维度的过滤规则,足以满足日常开发调试的需求。fiddler的过滤器非常强大,可以过滤特定的http状态码的请求,可以过滤特定请求类型的http请求(如css请求,image请求,js请求等),可以过滤请求报文大于或者小于指定大小(byte)

1). host和zone过滤。可以过滤只显示intranet或者internet的HTTP请求,也可以选择特定域名的HTTP请求

2). 可以捕获指定进程的请求,这对于调试单个应用的请求很有帮助

fiddler之使用教程(一)的更多相关文章

  1. 【转】抓包工具Fiddler的使用教程(十二)下:Fiddler抓取HTTPS

    在教程十二(上),我们也了解了HTTPS协议,该教程就和大家分享Fiddler如何抓取HTTPS 抓包工具Fiddler的使用教程(十二):[转载]HTTPS协议 再次回忆一下关键内容: iddler ...

  2. 《吐血整理》高级系列教程-吃透Fiddler抓包教程(34)-Fiddler如何抓取微信小程序的包-上篇

    1.简介 有些小伙伴或者是童鞋们说小程序抓不到包,该怎么办了???其实苹果手机如果按照宏哥前边的抓取APP包的设置方式设置好了,应该可以轻松就抓到包了.那么安卓手机小程序就比较困难,不是那么友好了.所 ...

  3. Fiddler环境配置教程

    原理:安装Fiddler的电脑和将要进行检测的手机(iPhone.Android)加入同一局域网,这样手机上APP的请求就可以被电脑通过Fiddler抓取到. 局域网布置教程: 在将要布置局域网的电脑 ...

  4. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(2)-初识Fiddler让你理性认识一下

    1.前言 今天的理性认识主要就是讲解和分享Fiddler的一些理论基础知识.其实这部分也没有什么,主要是给小伙伴或者童鞋们讲一些实际工作中的场景,然后隆重推出我们的猪脚(主角)-Fiddler. 1. ...

  5. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(7)-Fiddler状态面板-QuickExec命令行

    1.简介 Fiddler成了网页调试必备的工具,抓包看数据.Fiddler自带命令行控制,并提供以下用法.Fiddler的快捷命令框让你快速的输入脚本命令. 除了输入默认命令,也可以自定义命令,你可以 ...

  6. Fiddler 抓包 教程

    Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.com Fiddler官方网站提供了大量的帮助文档和视频教程, 这是学习Fiddler的最好资料. Fiddler是最 ...

  7. fiddler script建议教程

    http://www.fiddlerbook.com/Fiddler/dev/ScriptSamples.asp

  8. Android、IOS的Fiddler证书安装教程

    通过手机连接fiddler实现代理访问,其中必须得安装证书才能生效,那么针对不同的手机连接方式也不一样,分为两类:Android.iOS: Android-Fiddler证书安装: 直接在任意浏览器中 ...

  9. 《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解

    1.简介 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的会话面板了. 2.会话列表 (Session list) 概览 Fiddler抓取到的每条http请求(每一条称为一个ses ...

随机推荐

  1. 前端基础-css(2)

    一.标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web网页的制作,是个“流”,从上而下,像 “织毛衣”.而设计软件 ,想往哪里画东西,就去哪里画. 标准文档流下,有一些现象,比 ...

  2. 【零基础学习iOS开发】【02-C语言】08-基本运算

    一.算术运算符 算术运算符很地简单.就是小学数学里面的一些加减乘除操作.只是呢.还是有一些语法细节须要注意的. 1.加法运算符 + 1 int a = 10; 2 3 int b = a + 5; 在 ...

  3. Smobiler实现扫描条码和拍照功能(开发日志八)

    一.调用摄像头进行扫描 barcode000~2.jpg (198.62 KB, 下载次数: 5) 下载附件 2015-12-23 17:41 上传 具体步骤: 1.  加入TextBox控件:加入B ...

  4. Python高级教程-高阶函数

    Higher-order function(高阶函数) 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: >>> abs(-10) 10 但 ...

  5. CentOS 6.5 QtCreator启动时 dbus-1的错误解决方法

    启动QtCreator提示:dbus_connection_can_send_type的错误, QString::arg: Argument missing: 无法解析dbus_connection_ ...

  6. Ubuntu16.04安装postgresql9.4(转发:http://www.cnblogs.com/sparkdev/p/5678874.html)

    安装前的检查 首先查看是否已经安装了旧版本: dpkg -l |grep postgresql 如果已经安装了某个版本的postgresql,请先卸载. 安装postgresql 添加postgres ...

  7. vue之 node.js 的简单介绍

    一.什么是 node.js? 它是可以运行在JavaScript的服务平台 二.安装 1.node.js的特性 - 非阻塞IO模型 - 时间驱动 2.运用场景 - 高并发低业务 - 实时场景 - 聊天 ...

  8. 数据结构&算法(一)_堆、栈(堆栈)、队列、链表

    堆: ①堆通常是一个可以被看做一棵树的数组对象.堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值: ·堆总是一棵完全二叉树.将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做 ...

  9. LightOJ - 1236 (唯一分解定理)

    题意:求有多少对数对(i,j)满足lcm(i,j) = n,1<=i<=j, 1<=n<=1e14. 分析:根据整数的唯一分解定理,n可以分解为(p1^e1)*(p2^e2)* ...

  10. 一个用于实现并行执行的 Java actor 库

    即使 Java 6 和 Java 7 中引入并发性更新,Java 语言仍然无法让并行编程变得特别容易.Java 线程.synchronized 代码块.wait/notify 和java.util.c ...