1:HTTP协议介绍
Web浏览器和Web服务器之间是通过HTTP协议相互通信的。
2:什么是HTTP协议
什么是协议:协议是指计算机通信网络中两台计算机之间进行相互通信的所必须共同遵守的规定或规则。
超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。目前我们使用的是HTTP/1.1版本。
3:HTTP的工作原理
通过客户端浏览器(比如ie firefox ,chrome)向服务器端(Web server)发送request,服务器端给出响应response.浏览器解析response中的HTML,这样我们就看到了网页。
4:Fiddler介绍
功能:做安全性测试,对接口进行j性能测试,模移动端的弱网络测试等等。
Fiddler基本界面如下:
(1)主菜单栏:主菜单栏几乎可以启动所有的功能。
(2)工具栏:提供了很多常见的命令。
(3)web sessions列表(会话列表),显示捕捉到的每个sessions的简短信息,平常都需要在这里选择一个或者多个sessions后进行操作。
(4)功能面板:这里有很多选项卡,提供了很多功能。我们常用的是inspectors。
(5)Quic Exec,命令行工具,可以输入简单的命令,比如输入cls,可以清空web sessions。
inspectors选项卡:
inspectors选项卡可以查看HTTP的请求和HTTP响应的报文结构,其中Raw选项卡可以查看完整的信息,Headers选项卡只查看消息中的Head.
web sessions列表:
fiddler窗口左边是web sessions,它是fiddler最重要的部分。一个sessions包含了一个 HTTP请求和 HTTP响应。
Web Sessin列表中包含如下的信息:
(1)#fiddler生成的id,可以排序
(2)Result: 响应的代码
(3)protocol:使用的协议http或者https
(4) host: 服务器的主机名或者端口号,比如访问网易的主机名:www.163.com
(5) URL:路径
(6)Body:HTTP响应中包含的字节数
(7)Caching:跟缓存相关的字段值
(8)Content -Type:响应中Content -Type的值
(9)Process:对应本地的Windos进程
案例1:用Fiddler捕获HTTP协议的数据包
步骤1:启动Fiddler,打开任何一个浏览器,比如输入:http://www.163.com
步骤2:回到fiddler界面,在Sessins列表中,选择一个Sessins,然后选择inspector选项卡。
案例2:Fiddler设置开始抓包和停止抓包
方法1:在Fiddler中单击file > Cature Tracffic(快捷键是F12)来开始抓包或者停止抓包
方法2:单击左下角的Capturing按钮来开始抓包或者停止抓包
5:HTTP协议报文的结构
实验1:Fiddler捕获博客首页,查看HTTP请求和HTTP响应报文
步骤1:启动Fiddler,打开浏览器,输入网址:http://blog.csdn.net/jcy58
步骤2:回到Fiddler界面中,找到blog.csdn.net/jcy58,然后选择inspector选t项卡
步骤3:在HTTP请求中选择Raw选项卡
HTTP请求的报文分为3部分:
第一部分:起始行(request line);第二部分叫首部(request head),第三部分叫body主体
第一行中的Method表示方法,比如post或者get,现在使用的http协议版本是http1.1
第二行部分是首部(Head)
第三部分是主体body,由于是get方法,所以http请求中没有body.
HTTP响应的的报文分为3部分:
第一部分是起始行
第二部分是首部Head
第三部分是body
特别要注意:Head首部和body主体之间有一个空行。
6:Fiddler抓包原理:
Fiddler为什么能抓包?Fiddler本质上就是一个Web代理服务器,它工作的默认端口是8888。
7:什么是代理服务器
Web代理服务器(proxy server) 代理服务器是网络的中间实体,代理位于Web客户端和Web服务器之间,扮演中间人的角色。
代理服务器的功能:
7.1共享网络,比如在公有公有IP不足的情况下,通过代理服务器上网。
7.2提高访问速度,可以直接读取代理服务器的缓冲功能
7.3隐藏身份,使用代理服务器的反向代理功能,起到隐藏身份的目的。
fiddler是以代理Web服务器的形式存在的,它使用的代理地址127.0.0.1,端口8888。
8:启动fiddler,如何查看internet选项的代理设置
先启动fiddler——>internet属性——>连接——>局域网设置——>高级,就可以看到代理服务器地址被设置成127.0.0.1:8888。
9:fiddler如何捕获firefox的请求
如果fiddler不能捕获firefox的请求,是因为firefoxde的代理服务器没有配置成fiddler.
1:打开firefox——>工具——>选项——>高级——>网络——>设置,选择使用系统代理设置。
10:fiddler能够捕获哪些设备的HTTP数据包
10.1 fiddler能够捕获各种浏览器的包,比如ie,firefox,chrome 发出的数据包
10.2 fiddler能捕获各种移动设备,比如安装手机、苹果手机,发出的数据包
10.3 fiddler能够捕获任何程序的发出的HTTP和HTTPS发出的请求,比如qq聊天信息内容不是采用HTTP和HTTPS,抓不到消息内容。