Fiddler抓取数据包分析案例

案例:利用Fiddler抓取苏宁易购网站数据包分析

抓包软件:Fiddler4

请求名字:www.suning.com

详细内容:

一、了解数据包区域的字段含义

Fiddler抓取数据包分析案例

              图1数据包区域

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

Result:HTTP状态码(200)

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

HOST:请求地址的主机名或域名(www.suning.com)

URL:请求资源的位置

Body:请求大小(50764byte)

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

Content-Type:请求响应的类型(htm,编码utf-8)

Process:发送此请求的进程ID

Comments:备注

Custom:自定义值

二、查看数据包的具体内容

双击击具体的一条数据包可以在右侧菜单点击Insepector查看详细内容。分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

Fiddler抓取数据包分析案例

                       图2数据包具体内容

Fiddler抓取数据包分析案例

                      图3 发送请求数据区域

Fiddler抓取数据包分析案例

                            图4 响应区域

三、Request Header

下面是对Request Header区域各个item做介绍

Fiddler抓取数据包分析案例

                      图5 Request Header

请求方式:GET

协议:HTTP/1.1

1.Client头域

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8(浏览器端可以接受的媒体、文件类型)

Accept-Encoding: gzip, deflate, br(指定压缩方法,是否支持压缩,支持什么压缩方法(gzip、deflate,br))

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2(浏览器申明自己的接收语言)

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0(告知服务器客户端使用的操作系统与浏览器的名称和版本)

2、Cookie头域

有的请求不发送Cookies,有的请求有Cookies。

目的:将cookie值发送给服务器

3、Security 头域

Upgrade-Insecure-Requests: 1

4、Transport 头域

Connection: keep-alive TCP连接不会关闭

Host: www.suning.com (Host:发送请求时,该报头域是必需的。主要用于指定被请求资源的Internet主机和端口号,通常从HTTP URL 中提取出来)

四、Response Header

 Fiddler抓取数据包分析案例

1. Cache头域

Date:生成消息的具体时间和日期

Expires:浏览器在指定过期时间内使用本地缓存

2. Entity头域

  Last-Modified:用于指示资源的最后修改日期和时间

  Content-Type:Web服务器告知浏览器自己响应对象的类型和字符集

  Content-Length:指明实体正文长度,以字节方式存储的十进制数字表示。在数据下行中,要预先在服务器中缓存所有数据,然后所有数据一并发给客户端

3. Miscellaneous头域

  Server:指明HTTP服务器的软件信息

X-Ser: BC5_dx-hunan-yueyang-1-cache-1

4、Security 头域

strict-transport-security: max-age=300

5. Transport头域

  connection:Keep—alive            TCP连接不会关闭

五、HTTP认证过程

1. 客户端发送HTTP Request给服务器;

2. Request中未包含Authorization header,服务器会返回一个401错误给客户端,且在Response中的header“www-Authenticate”中添加信息;

3. 客户端将用户名和密码以base64加密后,放在Authorization中发送给服务器,认证成功;

4. 服务器将Authorization header中的用户名和密码去除,进行验证。如果验证通过,将根据请求发送资源给客户端;

HTTP OAuth认证:OAuth对于http来说,就是放在Authorization header中的不是用户名密码,而是一个token(令牌)。

客户端的使用:客户端若要跟“使用基本认证的网站”进行交互,将用户名密码加载Authorization header中即可。

 

六、栏图标说明

通过上面的截图,可以看到每个请求的前面都有一个小图标,不同的图标代表了不同的含义,整理如下:

 Fiddler抓取数据包分析案例

                   图6 图标说明

 

上一篇:(原)android系统下绑定Server的时候报MainActivity has leaked ServiceConnection的错误


下一篇:POJ 2481-Cows(BIT)