了解Fiddler抓包工具

1 Fiddler简介

Fiddler是位于客户端和服务器端的HTTP代理,是目前最常用的http抓包工具之一。

1.1 Fiddler的功能

Fiddler是一种web调试的绝佳工具,其功能主要有以下几点:

1、监控浏览器所有的HTTP/HTTPS流量;

2、查看、分析请求内容细节;

3、伪造客户端请求和服务器响应;

4、测试网站的性能;

5、解密HTTPS的web会话;

6、全局、局部断点功能;

7、第三方插件。

1.2 Fiddler的作用

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

2 Fiddler原理

使用Chrome浏览器时,Chrome会去读一个代理,默认读的是系统代理。打开Fiddler时,会自动设置一个系统代理,具体设置如下:

 

 

 

打开Fiddler后,它会为Chrome设置代理服务器,查看方式:设置——系统——打开代理设置:

 

 

当关闭Fiddler后恢复。

3 HTTP协议(熟悉HTTP协议是学好Fiddler的前提条件)

3.1 概述

Hyper Text Transfer Protocol(超文本传输协议),用于从万维网服务器传输超文本到本地浏览器的传送协议。

HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容、默认端口是80。它是基于请求与相应模式的、无状态的、应用层的协议。

一个完整的HTTP请求包括两部分:

1、请求报文(客户端发向服务器的文本);

2、响应报文(服务器接收到客户端的请求,解析请求,做出响应)。

3.2 HTTP请求报文

HTTP请求报文分为四个部分:请求行、请求头、空行、请求正文(请求体),Get请求无请求体。

1、请求行:包括三部分:请求的方式(Post或Get等)、统一资源定位符(url)、HTTP的协议以及版本号的说明(目前最主流的为1.1版本)。

2、请求头:发起请求时的一些附加信息。比如主机是什么?想要接受的信息(html文本,json等)是什么?从哪个页面发起的请求?客户端发送内容的格式、编码是什么?接收的语言(语言环境)是什么?以及Cookie和系统、浏览器的一些版本说明等等:

 

Fiddler可以在请求头中添加自定义信息:

 

 

3、请求体:给服务器的传参。

3.3 HTTP响应报文

HTTP响应报文分为四个部分:响应行、响应头、空行、响应正文(响应体)。

1、响应行:包括三部分:传输时的协议及其版本、状态码(用于表示服务器HTTP响应状态的三位数)、原因描述

 

2、响应头:服务器给客户端的一些附加信息:

 

3、响应体:任意格式,做接口测试时,可以用来判断此时请求是否被正常处理。

posted on 2020-05-28 16:33  女那文武  阅读(213)  评论(0编辑  收藏  举报