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

抓包软件:Fiddler4

请求名字:www.suning.com

详细内容:

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

              图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查看详细内容。分为请求(即客户端发出的数据)和响应(服务器返回的数据)两部分。

                       图2数据包具体内容

                      图3 发送请求数据区域

                            图4 响应区域

三、Request Header

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

                      图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

 

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中即可。

 

六、栏图标说明

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

 

                   图6 图标说明

 

Fiddler抓取数据包分析案例的更多相关文章

  1. Fiddler抓取数据并分析(完整的配置教程)

    一.Fiddler现在的移动应用程序几乎都会和网络打交道,所以在分析一个 app 的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助.对于HTTP包来说,已经有很多种分析的方法 ...

  2. iPhone 手机用 Fiddler 抓取数据包 问题

    近日公司服务升级,将所有的接口请求由HTTP升级为了HTTPS,升级后在手机中安装了Fiddler的证书,Android端抓取HTTPS请求一切正常,可是在ios端抓取HTTPS请求时一直提示“此服务 ...

  3. 利用Fiddler抓取websocket包

    一.利用fiddler抓取websockt包 打开Fiddler,点开菜单栏的Rules,选择Customize Rules... 这时会打开CustomRules.js文件,在class Handl ...

  4. 使用wireshark抓取TCP包分析1

    使用wireshark抓取TCP包分析1 前言 介绍 目的 准备工作 传输 创建连接 握手 生成密钥 发送数据 断开连接 结论 前言 介绍 本篇文章是使用wireshrak对某个https请求的tcp ...

  5. Android移动网络如何抓取数据包

    1)下载tcpdump工具 tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析.它 ...

  6. tcpdump 基于mac地址抓取数据包

    1.刚刚接触tcpdump时,常用tcpdump -i eth1 host 192.168.1.1 这个命令基于ip地址抓取数据包信息. tcpdump -i eth1(接口名称) host 192. ...

  7. Android抓包工具Fiddler抓取数据

    1.手机端设置 2.Fiddler设置监听 Tools/Fiddler options 是否允许监听到https(Fiddler默认只抓取http格式的),首次点击会弹出是否信任fiddler证书和安 ...

  8. 使用Chrome或Fiddler抓取WebSocket包

    首先,HTTP是建立在TCP协议基础上的,而WebSocket通常也是建立在TCP上,所以说为什么有些网页游戏抓不到包而有些又可以,这仅是因为你使用的抓包工具是针对了HTTP的通信协议. 我先从抽象的 ...

  9. 使用Wireshark 抓取数据包

    Wireshark 是一个网络封包分析软件.网络封包分析软件的功能是获取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. 一  ...

随机推荐

  1. Flutter调研(1)-Flutter基础知识

    工作需要,因客户端有部分页面要使用flutter编写,需要QA了解一下flutter相关知识,因此,做了flutter调研,包含安装,基础知识与demo编写,第二部分是安装与环境配置. —— Flut ...

  2. PAT-进制转换-B1022 D进制的A+B (20分)

    题目描述: 输入两个非负10进制整数A和B(≤230-1),输出A+B的D(1<D≤10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 样例: 输入:123 456 8 输出: ...

  3. js中的0就是false,非0就是true。

    在处理js代码判断真假时经常会这么写. var vale = fun();//从某个地方获取的值. if(!value){ 进入这里表示value为false或不存在 }但fun()可能得到的是数字0 ...

  4. BEM命名及其在sass中的实践

    Why use it 近几年web应用的发展可以用疯狂来形容,依靠浏览器的支持以及前端技术和框架的发展,很多应用已经把大量的逻辑从服务器端迁移到了浏览器端,使用前后端分离技术,浏览器端与用户进行交互来 ...

  5. iOS应用构建与部署小结

    注:本文首发于我的个人博客:https://evilpan.com/2019/04/06/ios-basics/ 上篇文章介绍了Objective-C的基本概念,本文就来接着看如何创建我们的第一个简单 ...

  6. vue 带参数的跳转-完成一个功能之后 之后需要深思,否则还会忘记

    我要写详细点,否则下次很容易忘记 写了一个页面,这个页面里面添加了 很多a 标签,跳转都是同一个页面,内容不一样,方法 首先 路由 设定好 routes:[ { path:'/aaa', name:' ...

  7. [每日一题系列] LeetCode 1013. 将数组分成和相等的三个部分

    题目: 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false. 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + . ...

  8. 【colab pytorch】使用tensorboard可视化

    import datetime import torch import torch.nn as nn import torch.nn.functional as F import torch.opti ...

  9. element多层导航菜单

    很久没写博客了原因就是懒, 刚下班今天写了个基于element导航菜单实现多层菜单(可以无限多层) 组件核心思想就是组件递归(这个有时候面试会问到) 然后就判断children有没有内容,没内容就是选 ...

  10. R自带数据集

    向量 euro    #欧元汇率,长度为11,每个元素都有命名landmasses    #48个陆地的面积,每个都有命名precip   #长度为70的命名向量rivers   #北美141条河流长 ...