Fiddler(一) 基础和协议介绍

1,108 阅读3分钟

Fiddler 介绍

  • Fiddler 是位于客户端和服务端之间的 HTTP 代理
  • 目前最常用的 HTTP 抓包工具之一
  • 功能非常强大,是 Web 调试的利器
    • 监控浏览器所有的 HTTP / HTTPS 流量
    • 查看、分析请求的内容细节
    • 伪造客户端请求和服务器响应
    • 测试网站性能
    • 解密 HTTPS 的 Web 会话
    • 全局、局部断点功能
    • 第三方插件
  • 使用场景
    • 接口调试、接口测试、线上环境调试、Web 性能分析
    • 判断前后端 bug、开发环境 hosts 配置、mock 假数据、弱网断网测试

B/S架构

浏览器browser到服务器Server的架构

  • 编写程序部署到web服务器
  • web服务器运行在服务器上,绑定ip地址并监听某端口,接收和处理http请求
  • 客户端通过http协议获取服务器上的网页、文档等资源 在这里插入图片描述

工作原理

作为系统代理,发送请求或接受响应
在这里插入图片描述

fiddler 只要一打开就变成了全局的代理的真相是:

image.png

从chrome中找到代理服务器的位置,查看配置

image.png

看到打开fiddler之后我们的本地网络配置已经被修改了

image.png

我们访问网站,发现有反应了,不过没有想要的结果的原因是:我们访问的请求是https的,目前还没有配置(我们看到有很多的tunnel to的部分,是建立通道的过程)

动画24.gif

配置完成我们可以抓到数据了

image.png

HTTP协议

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

下面为http请求构成的两部分:

image.png

请求报文

客户端发给服务器,HTTP请求报文主要由请求行,请求头部、空一行、请求正文4部分组成。

在这里插入图片描述

image.png

我们在观看数据的时候可以上下都是用Raw(原始格式) image.png

请求行

请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。

请求方法字段

image.png

统一资源定位符(URL)

  • Uniform Resource Locator:统一资源定位符
    • 用于描述网上的资源
  • 格式: schema://host[:port#]/path/…/ [?query-string ]
    • scheme:协议,如http, https, ftp等
    • host:域名或者IP地址
    • port: 端口
    • path:资源路径
    • query-string:发送的参数

资源定位符 test.lemonban.com/ningmengban…

  • 协议 http://
  • 域名 test.lemonban. com 对应主机IP,为了查找主机 cmd命令行可以用ping域名的方式命令查找IP

在这里插入图片描述

文件的路径和文件名称 ningmengban/images/logo.png

http版本

目前普遍使用的为1.1版本,即http/1.1

请求头部

请求头可以是任意信息,根据服务器需要进行组合

image.png

请求体

真正发送给服务器的一串文本.

响应报文

服务器返回给客户端,HTTP响应报文主要由状态行,消息头部、空一行、响应体4部分组成。
在这里插入图片描述

状态行

  • 请求行由HTTP协议版本字段、状态码字段及其描述3个字段组成,它们用空格分隔。
  • 状态码:用以表示网页服务器HTTP响应状态的3位数字代码

image.png

常用状态码:blog.csdn.net/qq_35689573…

响应头

image.png