zoukankan      html  css  js  c++  java
  • Fiddler抓包工具使用技巧

    一.Fiddler工具的下载与安装

     

    a.官网下载fiddler地址:https://www.telerik.com/fiddler

    注意:进入这个地址界面后如果直接点击Download Now下载的工具叫:Fiddler Everywhere工具,它是fiddler和postman的组合形式;需要下载Fiddler4 的话需要点击Download Now下面的Download It here进入后填写资料下载。如下图:

     

    建议下载fiddler4英文版来安装使用,使用英文版的要好一些,中文的可能会有些bug.

     

    b.离线网盘下载地址:

    https://pan.baidu.com/s/1bpnp3Ef   密码:5skw

    https://pan.baidu.com/s/1guyI6nKivNgFnbWxdbWT0A   密码:qy3r

     

     

     

    ②安装:点击运行后根据默认提示一直点击下一步安装即可

     

     

    二、抓包和抓包的原理

    ①抓包

      .包:数据包

      .抓包:用特定的工具获取客户端与服务端发送和返回的数据包。目的是分析数据包的内容与协议,从而来判断是否符合设计要求。

      什么情况下需要抓包?

    1. 开发要你重现bug,截取数据,定位问题的时候
    2. 判断一个问题是前端bug还是后端bug的时候
    3. 开发要你做接口测试,但又没给你接口文档的情况--如:方法,接口地址,传递参数,头部请求,返回内容
    4. 在不修改任何环境的情况下,修改返回的结果,即通常说的mock---模拟接口---使用AutoResponder下操作:

    ②抓包工具:

    ③抓包原理:

    ④如何快速找到抓取的包?

       我们如何从众多的请求会话中快速找到我要的接口呢?

    屏蔽不需要的请求(图片/连接),如:在Rules下勾选以下几项:

    1. 学会使用搜索功能,ctrl+f,如该工具下使用Find下输入页面所填写的其中一个内容后,直接搜索,无需修改页面上的任何参数,直接使用默认的就行
    2. 按类别去区分--关注json/xml/文本格式
    3. 只抓取自己想要的东西--关闭/启动捕获功能---》未发送请求之前关闭Capturing,准备好抓包后开启Capturing,在浏览器上点击发送请求。
    4. 配置过滤器--hosts/请求头(适用对接口请求包含的内容熟悉的场景)

    技巧说明①分析数据包时在Inspectors下请求和响应都选择Raw原始数据来进行查看分析

    ②所抓取到的数据请求包可以保存下来,并且可以对有问题的数据报进行备注,当提交bug时一同提交,方便开发定位查看问题,如下图:

     

    三、设置断点--篡改数据

    ①请求前数据篡改:

     

    思路:

    1. 中断请求--》篡改数据--》发送修改的数据到服务端--》查看结果验证
    2. 分类:全局断点和局部断点

     设置局部断点bpu 命令行输入: bpu 请求地址--》回车

     取消局部断点:在命令行输入:bpu 回车就可以

     

    ②响应后数据篡改

    思路:

    1. 中断响应--》篡改响应内容--》发送响应结果到客户端--》查看结果验证
      1. 全局断点和局部断点

    设置局部断点:bpafter 命令行输入:bpafter 请求地址--》回车

    取消局部断点:在命令行输入:bpafter 回车就可以

    如:这个重定向的,将响应中的Location的地址改为www.baidu.com后,通过后进入的页面就是百度的页面,而不是现在网站登录成功后所进入的页面。

    接口测试:fiddler工具中的Composer也能进行接口测试,建议使用postman工具来做,fiddler中的参数不方便修改填写,postman可以很快方便修改填写参数

    注:访问学习练习地址:

    http访问地址:http://49.233.108.117:3000/

    用户名:test3

    密码:123456

     

    https访问地址:

    https://www.baidu.com/s?wd=IP%E5%9C%B0%E5%9D%80%E6%9F%A5%E8%AF%A2&rsv_spt=

    1&rsv_iqid=0x976b493200154d12&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg

    &rsv_enter=1&rsv_dl=tb&rsv_sug3=38&rsv_sug1=19&rsv_sug7=101&rsv_t=2fedhKEWh1CrQotQwM

    XrXpW8oA26VniN2WA1pdYnDiLCQ%2Bo6KV02ypNWyjywT2qfzcE3&rsv_sug2=0&rsv_btype=i&prefixsug

    =IP%25E5%259C%25B0%25E5%259D%2580%25E6%259F%25A5%25E8%25AF%25A2&rsp=6&inputT=19537&

    rsv_sug4=20561

     

     

     

  • 相关阅读:
    子类构造函数中调用虚函数问题验证
    socks5代理浅识
    关于C++标准库(第2版)std::remove_if的"特性"概述
    动态获取结构体中指定的属性值
    构造和析构函数定义为私有场景
    remove_pointer使用测验
    广播自定义消息实现进程间的通信问题
    遍历窗口权限问题
    嵌入窗口到桌面的问题
    实验一 熟悉实验环境
  • 原文地址:https://www.cnblogs.com/ycj1295/p/13937162.html
Copyright © 2011-2022 走看看