zoukankan      html  css  js  c++  java
  • Fiddler抓包软件

    下载地址

    一、简介

    Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据,修改hosts,限制网速,http请求性能统计,简单并发,接口测试,辅助自动化测试,等等。

    二、工作原理

    fiddler未参与时,客户端与服务端的请求流程图:浏览器访问一个网站,浏览器给webserver发送一个Request,webserver接收到Request后进行处理,返回给浏览器Response,然后浏览器解析Response中的html,展现网页给用户。如图:
    Fiddler工作于七层中的应用层,类似于代理服务器的形式,通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据;启动fiddler后会监听本地127.0.0.1的8888端口(默认端口),IE/Chrome浏览器会自动设置局域网代理(Firefox代理是独立的,需要单独设置),如图:
    此时,fiddler就作为代理服务器,浏览器访问流程:

    四、Fiddler界面介绍

    go:用于断点调试Debug,类似于Eclipse调试代码的F6,下图红圈中的位置

    1. 点击一下会出现一个蓝色向上的箭头,此时的意思是截获发送request的时会有一个断点,可以点击go按钮继续往下走
    2. 再点击一下会出现一个向下的绿色箭头,此时的意思是截获request返回时会有一个断点

    Stream:fiddler代理模式流模式与缓冲模式之间切换,默认是缓冲模式,按下即为流模式。

    1. 缓冲模式:当一个HTTP请求的所有内容全部返回给Fiddler时候才在界面展示出来;
    2. 流模式:Fiddler实时展示返回的内容

    Decode:解压请求,将HTTP返回的内容全部解压出来,方便查看。

    Keep sessions: 保持sessions会话,默认为保持全部,按照你需求的大小,电脑内存的大小选择保持多少会话,毕竟越多约占用电脑资源。

    Any Process: 过滤请求,可以指定只抓取某个也面或者浏览器的请求,操作方式:按住靶心按钮,出现十字状,按住鼠标拖动到目标浏览器界面,可看到浏览器界面变成黑色,方开鼠标后按钮处会出现你只捕获的目标进程编号。

    Browes: 快速启动浏览器按钮,下拉菜单里面有各种本机装有的浏览器,比如IE,Chrome,Firefox等

    TextWizard: 编码/解码问本内容,比如URL关键字解码/编码,Base64/JS String之类的解码,编码

    Tearoff: 分离面板,将左边的会话面板与右边的面板分离,浮窗,取消分离的话是直接关闭分离出来的面板即可

    控制台:可以在其中输入命令行,比如输入help,就会在浏览器中打开常用的命令

    Fiddler想要抓到数据包,要确保Capture Traffic是开启,如果需要解密https请求需要进行配置,配置方法后面会讲。

    1.会话列表内各字段的含义:

    #                 抓取HTTP Request的顺序,从1开始,以此递增
    Result         HTTP状态码
    Protocol      请求使用的协议,如HTTP/HTTPS/FTP等
    Host            请求地址的主机名
    URL            请求资源的位置
    Body           该请求的大小
    Caching      请求的缓存过期时间或者缓存控制值
    Content-Type      请求响应的类型
    Process       发送此请求的进程:进程ID
    Comments   允许用户为此回话添加备注
    Custom        允许用户设置自定义值

    列表内部分图标含义:

    clip_image001[13]

    请求已经发往服务器

    clip_image002[4]

    已从服务器下载响应结果

    clip_image022[4]

    响应需要客户端证书验证

    clip_image023[4]

    服务端错误

    clip_image005[4]

    请求使用 HTTP 的 HEAD 方法,即响应没有内容(Body)

    clip_image0244

    会话被客户端、Fiddler 或者服务端终止

    3.右上方字段含义

    (1)Statistics     请求的性能数据分析

    如果要看整个页面从请求,到最后一个请求结束的整体时间,也可以在会话列表中,ctrl+点击需要统计的请求,可以看到总体明细

    • show chart:数据可视化处理

    (2)Inspectors   对请求进行解包,可以查看相应的请求和响应信息,上半部分是请求的内容,下半部分是响应的内容

    (3)AutoResponder 允许拦截指定规则的请求

    这块允许你拦截指定规则的请求,并返回自定义的资源,从而代替服务器响应。

     例如:添加一个自定义规则,当我访问‘百度’网站时,就会被劫持-->返回我自定义的图片;如果不想再用此规则,取消勾选,然后右击选择‘remove’。

    关键词有很多匹配规则,如:

    1. 字符串匹配(默认):只要包含指定字符串(不区分大小写),全部认为是匹配
    2.  正则表达式匹配:以“regex:”开头,使用正则表达式来匹配,这个是区分大小写的

    4) Composer 自定义请求发送服务器(也可用于接口测试)

     前后端接口连调,可以用来伪造请求--需要后端接口:修改里面的数据参数,伪造请求,再访问查看效果。

    可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求;Parsed模式下你只需要提供简单的URLS地址即可

    5)Filters 请求过滤规则

    Fiters 是过滤请求用的,左边的窗口不断的更新,当你想看你系统的请求的时候,你刷新一下浏览器,一大片不知道哪来请求,看着碍眼,它还一直刷新你的屏幕。这个时候通过过滤规则来过滤掉那些不想看到的请求。

    1、Zone 指定只显示内网(Intranet)或互联网(Internet)的内容

    2、Host 指定显示某个域名下的会话

    如果框框为黄色(如图),表示修改未生效,点击红框里的文字即可

    6) Timeline 请求响应时间

    在左侧会话窗口点击一个或多个(同时按下 Ctrl 键),Timeline 便会显示指定内容从服务端传输到客户端的时间

    3.Fiddler 设置解密HTTPS的网络数据

    解密HTTPS需要手动开启,依次点击:

    1. Tools –> Fiddler Options –>  HTTPS—>勾选Decrypt HTTPS Traffic—>yes—>安装证书—>ok

    4.修改电脑系统hosts

    将所有的文件映射到指定的IP或者服务器下面

    配置如下:Tools---->Hosts---->勾选Enable remapping of requests for one host to a different host or IP,overriding DNS.然后host编辑区域,输入需要域名需要指向的服务器公网IP。查看结果之后要关闭代理功能有两种方式1、取消之前的enable,save;2、直接退出Fiddler,不用去更改电脑system中的host文件。

    点击tools-->telerik fidder Options-->Connections,可以修改代理端口

    五、 Fiddler 内置命令与断点

    FIddler断点功能就是将请求截获下来,但是不发送,这个时候你可以干很多事情,比如说,篡改和伪造数据。

    直接在控制台输入对应的命令

    断点命令:

    断点可以直接点击Fiddler下图箭头标注位置(点一下截获全部请求,点两下截获全部请求响应,点三下解除断点设置),控制台的断点的命令可以精确设置需要截获那些请求。

     篡改和伪造数据:

     
  • 相关阅读:
    C#客户端程序Visual Studio远程调试
    VS2013如何转成VS2010且不会出现此项目与Visual Studio的当前版本不兼容的报错
    Windows控件的命名规范
    VS2010中如何将exe文件生成setup安装文件
    Altium Designer Summer 09的操作
    Java SE(一)——java基础
    Java SE(二)——java语言基础
    重写与重载的区别
    Altium Designer Summer 09——元器件的封装
    Java SE(四)——java 面向对象入门
  • 原文地址:https://www.cnblogs.com/xujint/p/13177524.html
Copyright © 2011-2022 走看看