zoukankan      html  css  js  c++  java
  • Fiddler简介和工具详细介绍(一)

    Fiddler简介

    Fiddler是位于客户端和服务端之间的http代理。
    目前最常用的HTTP抓包工具之一
    功能非常强大,是WEB调试的利器
    • 监控浏览器所有的HTTP/HTTPS流量
    • 查看分析请求内容的细节
    • 伪造客户端请求和服务器响应
    • 测试网站性能
    • 解密HTTPS的web会话
    • 全局和局部断点功能
     

    场景使用

    接口测试、接口调试、线上环境调试、web性能分析
    判断前后端bug、开发环境hosts配置、mock、弱网断网测试
     

    抓包原理

    B/S架构
    编写程序部署到web服务器,绑定ip并监听某端口,接收和处理http请求
    客户端通过http协议 获取 服务器上 网页文档等资源
    webclient------->http协议----->httpserver
    webclient------->fiddler------->httpserver
    打开fiddler有个功能tools-->option-->connections-->act as system proxy作为系统代理
    chrome浏览器会设置系统代理,可以到设置->高级->系统->打开您计算机的代理设置->如果开启了fiddler
    则这边的使用代理服务器的地址将会变成本地回环地址127.0.0.1,这个地址不属于任何一个类别的地址,代表设备本地虚拟接口,即服务器或者代理装在本机,则使用该接口去运行,关闭fiddler后则关闭代理服务器,所以这就是fiddler为什么能抓取数据的原因
    同样的有一些FQ软件也是使用了代理
     

    HTTP协议讲解

    Hyper Text Transfer protocol超文本传输协议
    用于从万维网服务器 传输 超文本(资源) 到 到本地浏览器的传输协议
    最初是用来向客户端传输HTML页面 内容,
    是基于TCP的应用协议,不关心数据传输的细节,用来 规定客户端和服务端的数据传输格式,
    HTTP是基于 请求和响应模式的 无状态的 应用层协议
    默认端口是80

    请求报文

    请求报文主要由请求行 请求头 空一行 请求正文 (请求体
    GET直接存储在URL中请求没有请求体,post请求和put请求有请求体
     

    响应报文

    响应报文 主要由响应行 响应头 空行 响应正文·(响应体
    响应体可以是json、可以是文本、HTML、xml,做接口测试的出参,判断请求被正常处理
    如果用fiddler获取请求头来用jmeter做接口测试 ,fiddler中安装jmeter插件,直接export出来就可以用
    一些更详细的内容可看HTTP协议

    Fiddler工具详解及应用实战

    工具介绍

     前几篇简单的介绍了Fiddler的功能,对于工具栏的操作只是简单了解,今天写一篇工具栏功能介绍和操作。

    工具栏功能内容

    工具栏依次是:会话保存,数据重放(Replay),转到(GO),数据流(Stream),解码(Decode),保持所以会话(session),进程(Process),查找(Find),保存(Save),浏览(Browse),清除缓存(clear Cache),文字编码(TextWizard),分离(Tearoff)

    表示增加会话备注,方便我们查看

    表示回放会话,想要重新请求会话,可以使用此功能(快捷键 R),按住shif+R 可以设置重放次数,串行而不是并发的操作

    表示清空会话列表,也可以进行过滤列表

    表示可以使用请求往下走,这个可以和Fiddler断点进行使用

    表示用来模式切换,在流模型和缓存模式下进行切换

    流模式:理解成为一种实时通信的模式,有请求就有返回,也就是实时返回

    缓存模式:等待所有的请求都到一起在返回,也就是等所有的数据都准备好了以后才返回给客户端,一般使用缓存模式

    表示把http协议的响应解压出来

    设置保存会话的数量,会话越多占用内存越大

    过滤会话列表,例如:只想要谷歌浏览器的请求,就只需要放到浏览器上就行

    查找会话请求,一般会话比较多的时候可以使用此工具进行查找和备注颜色(这个地方我只请求的有百度)

    表示保存需要的会话

    保存截图功能,5秒后就把截图保存下来了,保存后直接可以在fiddler上进行查看

    表示计时器

    表示快速启动浏览器

    表示快速清除缓存

    表示快速编码和解码,点击后,选择解码方式就可以了

    表示窗口分离。想要恢复关闭就行

    为了观察方便使用了动态图片奈何出现了水印,希望大家不要喷~~~~大家快去尝试下Fiddler的功能吧

    如何显示工具栏

    菜单栏中--view---show Toolbar控制打开和关闭工具栏

    Fiddler页面介绍

    1、工具栏依次是:数据重放(Replay),转到(GO),数据流(Stream),解码(Decode),保持所以会话(session),进程(Process),查找(Find),保存(Save),浏览(Browse),清除缓存(clear Cache),文字编码(TextWizard),分离(Tearoff)

    2、会话列表:显示捕捉每个session会话

    3、请求响应:方便查看请求信息

    4、返回响应:方便查看返回请求信息

    5、命令行工具:可以通过输入一些命令完成操作

    Statistics选择卡

    statistics表示统计请求和响应的一些信息

    request count:请求数,表示该session总共发起了多少个请求。

    Bytes sent:发送请求的字节数(包括请求头和请求体)

    Bytes received:接收到的字节数(包括响应头和响应体)

    ------------------------

    clientconnected:客户端连接的时间;

    clientbeginrequest:客户端开始发送请求的时间;

    gotrequestheaders:获得请求头文件的时间;

    clientdonerequest:客户端完成请求的时间;

    determine gateway:确定网关使用的时间;

    dns lookup:查看dns使用的时间;

    tcp/ip connect:tcp/ip 连接使用的时间;

    https handshake:https握手使用的时间;

    serverconnected:服务连接发生的时间;

    fiddlerbeginrequest:fiddler开始请求的时间;

    servergotrequest:服务器得到请求的时间;

    serverbeginresponse:服务器开始响应的时间;

    gotresponseheaders:得到响应头文件的时间;

    serverdoneresponse:服务器完成响应的时间;

    clientbeginresponse:客户端开始响应的时间;

    clientdoneresponse:客户端完成响应的时间;

    overall elapsed:全部花掉的时间(使用客户端完成响应的时间-客户端开始请求的时间)

    Inspectors选择卡

    Inspectors 选项卡下可以查看HTTP 请求和HTTP响应的报文结构。其中Raw选项卡可以查看完整的消息,Headers 选项卡只查看消息中的Header

    这些功能可以详细的查看请求内容和响应内容

    AutoResponder选择卡

    模拟返回的内容

    我们拿请求百度举例子。上传了图片

    再次请求查看返回内容,发现返回我们的是一个照片

     composer选择卡

    composer是Fiddler做接口调试的模块

    会话列表

    RequestMethod:请求方式

    URL:请求链接

    host:请求服务器主机

    content-Type:响应中Content-Type 的值

    Result:HTTP状态码

    protocol:请求协议类型(HTTP或者HTTPS)

    body:Body大小

    caching:缓存相关的字段值

    Process :对应本地Windows 的进程

    各个会话图标表示什么

    官方地址:https://docs.telerik.com/fiddler/KnowledgeBase/UIGuide

    工具使用

    Fiddler抓取HTTP协议

    1、打开Fiddler工具,打开任意一个浏览器,输入我们想要抓取的网址如:www.baidu.com

    2、查看会话列表,选择其中一个会话,查看请求信息中Inspectors功能,查看详细数据

     

    Fiddler设置开始捕捉和停止捕捉

    在Fiddler使用过程中已经抓取到了我们想要的数据,这个时候就可以停止抓包,防止抓取一些不必要的数据影响分析:

    1、直接使用快捷键F12(停止或者开启抓包)

    2、在Fiddler 中单击File-> Capture Traffic (快捷键是Fl2 ) 来开始抓包或者停止抓包。

    3、单击Fiddler 左下角的"Capturing"按钮来开始抓包或者停止抓包。

     

    参考链接: https://www.cnblogs.com/qican/p/11320862.html

    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    C++ | 继承(基类,父类,超类),(派生类,子类)
    C++ std::pair的用法
    派生类构造函数和多重继承的二义性问题
    C++vector and opencv Mat
    C++中union的使用方法
    C++中数组作为形参的方法
    在Python中使用OpenCV(CV2)对图像进行边缘检测
    你可能会用到的一些小程序效果、工具
    AI口算批改、练习小程序
    拍照搜题小程序
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/14644913.html
Copyright © 2011-2022 走看看