抓包工具Fiddler

Fiddler基础知识

  • Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。
  • 代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客户端。
  • Fiddler可以抓取支持http代理的任意程序的数据包,如果要抓取https会话,要先安装证书。

#:顺序号,按照抓包的顺序从1递增

Result:HTTP状态码      

Protocol:请求使用的协议,如HTTP/HTTPS/FTP等

HOST:请求地址的主机名或域名

URL:请求资源的位置

Body:请求大小

Caching:请求的缓存过期时间或者缓存控制值

Content-Type:请求响应的类型

Process:发送此请求的进程ID

Comments:备注 

Custom:自定义值

每个Fiddler抓取到的数据包都会在该列表中展示,点击具体的一条数据包可以在右侧菜单点击inspector(检查员)查看详细内容。主要分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

(图和解释不符合 请求不同带的参数可能会不同 详细解析看 图解HTTP书 会详细解释 各个参数 以及header头信息)

请求方式:GET

协议: HTTP/1.1

Client 头域:

Accept: text/html, application/xhtml+xml, image/jxr, */*                             ---------浏览器端可以接受的媒体类型

Accept-Encoding: gzip, deflate                                                                  ---------压缩方法

Accept-Language: zh-CN                                                                          ---------语言类型

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393                             ---------客户端使用的操作系统和浏览器的名称和版本

COOKIE头域:将cookie值发送给服务器

Transport 头域:

Connection:当网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接是否关闭。keep-alive表示不会关闭,客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接;close表示关闭,客户端再次访问这个服务器上的网页,需要重新建立连接。

HOST:主机名或域名,若没有指定端口,表示使用默认端口80.

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

协议:HTTP/1.1

状态码:200

Cache头域:
Cache-Control: private                                               ---------此响应消息不能被共享缓存处理,对于其他用户的请求无效

Date: Sat, 05 Aug 2017 04:37:43 GMT                      ---------生成消息的具体时间和日期

Expires: Sat, 05 Aug 2017 04:37:42 GMT                  ---------浏览器会在指定过期时间内使用本地缓存

Cookie/Login 头域:

Set-Cookie: BDSVRTM=264; path=/                           ---------把cookie发送到客户端
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=1425_21097_22157; path=/; domain=.baidu.com

Entity头域

Content-Length: 202740                                              ---------正文长度
Content-Type: text/html;charset=utf-8                         ---------告知客户端服务器本身响应的对象的类型和字符集

Miscellaneous 头域:
Bdpagetype: 2

Bdqid: 0x99791efd00036253

Bduserid: 2577220064
Server: BWS/1.1                                                          ---------指明HTTP服务器的软件信息

X-Ua-Compatible: IE=Edge,chrome=1
Security头域:
Strict-Transport-Security: max-age=172800                ---------基于安全考虑而需要发送的参数,关于这个参数的解释,请参考:http://www.freebuf.com/articles/web/66827.html

Access-Control-Allow-Credentials: true

Access-Control-Allow-Origin: http://www.xxx.com

X-Content-Type-Options: nosniff

X-Frame-Options: SAMEORIGIN

Transport头域:

Connection: Keep-Alive

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

工具各个字段代表的含义

TextView:显示请求或响应的数据。

WebForms:请求部分以表单形式显示所有的请求参数和参数值;响应部分与TextView内容是一样的。

Auth:显示认证信息,如Authorization

Cookies:显示所有cookies

Raw:显示Headers和Body数据

JSON:若请求或响应数据是json格式,以json形式显示请求或响应内容

XML:若请求或响应数据是xml格式,以xml形式显示请求或响应内容

主页采用的是GET请求,在TextView中没有请求body,我们再以无忧行网站登录接口为例,它是一个POST请求,除了请求头外,在TextView中多了请求数据。这也是GET请求和POST请求的一个区别。GET请求是将请求参数放在url中,而POST请求一般是将请求参数放在请求body中。

 

posted @ 2018-12-27 14:26  玲汐  阅读(814)  评论(0编辑  收藏  举报