其他分享
首页 > 其他分享> > 初探HTTP协议和Fiddler抓包原理

初探HTTP协议和Fiddler抓包原理

作者:互联网

Web浏览器和Web服务器之间是通过HTTP协议相互通信的。HTTP协议用途非常广泛,是任何IT从业人员都需要掌握 ,作为测试人员,掌握HTTP协议显得尤为重要。

1、什么是HTTP协议

协议是指双方进行通信所必须共同遵守的约定。超文本传输协议(HyperText Transfer Protocol, HTTP)是互联网上应用最广泛的一种网络协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。

2 、HTTP协议工作原理 

我们平常上网的时候,在浏览器的地址栏输入url地址,然后就可以想看到相关的内容,这是什么原理呢?

当我们输入url后,浏览器就给web服务器发送了一个http请求,服务器接收到http请求后进行处理,生成相应的返回结果,然后发送给浏览器,浏览器解析http相应中的html,然后我们就在浏览器上看到了相关页面。

这里可以引申出一个非常常见的面试题:当我们在浏览器url地址栏输入一个地址后,会发生一些什么事情?

-- 当然,这个肯定不止发送一个请求然后拿到响应结果这么简单,就好比考试时候的应用题,你回答这么一句简单的话,肯定拿不到满分,具体如何去回答,等后续深入学习之后,相信屏幕前的你就会知道答案了。

在通过上面一张图了解了http协议的工作原理后,那么如何去查看http请求和响应的数据包(报文)的具体内容呢?这里可以借助一个工具,叫Fiddler。

3 、Fiddler的介绍

Fiddler是一款非常强大web调试工具,能记录客户端和服务器之间的http和https请求的信息,并且可以设置断点,修改输入输出数据等,是一个非常好用的抓包工具。使用C#语言开发,能使用.NET进行扩展。

Fiddler分为以下几个版本:

官网下载地址:https://www.telerik.com/fiddler  (官网下载慢的,可复制下载链接贴到迅雷里面下载,亲测有效)

Fiddler的基本界面

Fiddler主界面包括以下几个区域:

(1)主菜单栏:菜单中几乎可以启动所有的Fiddler功能。

(2)工具栏:提供了很多常见的命令和快捷操作等。

(3)Web Sessions列表(会话列表):显示捕捉到的每个Session的简短信息。平常都需要在这里选择一个或者多个Session后再进行操作。

(4)功能面板:这里有很多选项卡,提供了很多功能。我们常用的是Inspectors选项卡。

(5)QuickExec:命令行工具,可以输入简单的命令,例如输入cls可以清空Web Sessions。

(6)状态栏:上面显示了Fiddler的一些配置信息,以及左下角是否开启抓包的状态显示。

Inspectors选项卡

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

Web Sessions列表

Fiddler窗口的左边是Web Sessions列表,是Fiddler中最重要的部分,显示了每个Session的摘要信息。Fiddler中的大部分操作都需要在Web Sessions列表中选择一个或者多个Session,再进行其他操作。Web Sessions列表中的表头可以排序。选中某个Sessions可以进行相关内容复制、备注、请求重发等操作。

一个Session包含了一个HTTP请求和一个HTTP响应,Web Sessions列表栏中包含的信息如下:

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

一般把捕获http数据包的过程称之为抓包。

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

方法二、单击Fiddler左下角的“Capturing”按钮来开始抓包或者停止抓包。

4 、Fiddler抓包的原理 

Fiddler的本质是一个代理服务器,默认的工作端口是8888。

Web代理服务器是网络的中间实体,代理位于Web客户端和Web服务器之间,扮演着中间人的角色:

Web代理具有以下功能。

5 、Fiddler的工作原理 

Fiddler是以代理web服务器的形式工作的,当我们开启fiddler后,会偷偷的把Internet选项中的代理修改为127.0.0.1,端口:8888(可自行在fiddler的Tools-Options菜单下进行更改),关掉Fiddler后,会自动取消代理。

6、注意事项:


标签:Web,Fiddler,浏览器,Sessions,HTTP,抓包
来源: https://blog.51cto.com/u_7739395/2736925