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下图箭头标注位置(点一下截获全部请求,点两下截获全部请求响应,点三下解除断点设置),控制台的断点的命令可以精确设置需要截获那些请求。

     篡改和伪造数据:

     
  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/xujint/p/13177524.html
Copyright © 2011-2022 走看看