额,这篇忘了是来自哪位作者的了。

whistle:1.14.6

这里以抓取浏览器数据包为例,分析抓取的数据。

Method:Connect,对应Host:Tunnel to意思是因为网络环境受限,客户端无法直接访问某些网络,所以只能通过代理服务器访问网络(客户端使用http connect请求代理服务器,代理服务器使用connect方法与目标服务器建立http tunnel),然后将内容转发给客户端,从宏观上看,客户端与服务器端就像建立了一条隧道一样。

GET:网址带参数。

POST:回车操作,提交。

比较常用的是

clear:清除所有数据包

record:记录抓包结果

Filter:对抓取的数据包进行过滤。

Overview:关于HTTP请求性能和其他数据分析,比如DNS解析消耗时间、请求时间、响应时间。

Composer:可以构建响应的请求,也就是修改请求,查看页面返回什么。

Inspectors:分为上下两个部分,上半部分是请求头部分,下半部分是响应头部分。

请求头的内容如下:
Host:请求连接的主机名;
User-Agent:告诉服务器,我本地浏览器支持哪些内核浏览器
Accept:可接受的文件类型;
Accept-Language:可接受的返回数据的语言种类;
Accept-Encoding:可接受的纯文本之外的内容编码的类型;
Content-Type:内容数据的类型(Mini Type);
Content-Length:传输的内容长度;
Connection:指定该次请求回应结束后,如何处理连接;
Proxy-Connection:
Cache-Control:指定请求和响应遵循的缓存机制;
Pragma:防止页面被缓存,Pargma只有一个用法, 例如: Pragma: no-cache
Location:用于重定向接收者到一个新URL地址;  

响应头的内容如下:
Accept-Ranges:
Cache-Control:指定请求和响应遵循的缓存机制;
Content-Type:内容数据的类型(Mini Type);
Date:表示发送HTTP消息的日期,即当前的GMT时间
Expires:内容数据被缓存的过期时间;
Last-Modified:服务器上保存内容的最后修订时间;
Server:指明HTTP服务器的软件信息;
Content-Length:传输的内容长度;
Content-Encoding:文档的编码方法,一般是压缩方式
Transfer-Encoding:用来改变报文格式
Age:表示HTTP接受请求操作响应的缓存时间;
(Status-Line):包括HTTP请求的状态码和HTTP版本信息; 
Connection:指定该次请求回应结束后,如何处理连接;
Content-Language:内容数据的语言种类;

请求方法有多种, 各个方法的解释如下:
GET请求获取Request-URI所标识的资源
POST在Request-URI所标识的资源后附加新的数据
HEAD请求获取由Request-URI所标识的资源的响应消息报头
PUT请求服务器存储一个资源, 并用Request-URI作为其标识
DELETE请求服务器删除Request-URI所标识的资源
TRACE请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT保留将来使用
OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求
应用举例:
GET方法在浏览器的地址栏中输入网址的方式访问网页时, 浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP/1.1 (CRLF)
POST方法要求被请求服务器接受附在请求后面的数据, 常用于提交表单。

响应头中的HTTP状态码对应信息:

状态代码与状态描述:
1XX:指示信息——表示请求已经接受,继续处理;
2XX:成功——表示请求已经被成功接收、理解、接受;
3XX:重定向——要完成请求必须进行更进一步的操作;
4XX:客户端错误——请求有语法错误或请求无法实现;
5XX:服务器端错误——服务器未能实现合法的请求。
常用状态码以及状态描述:
200:客户端请求成功
400:Bad Request 客户端请求有语法错误,不能被服务器所理解
401:Unauthorized 请求未经授权,这个状态吗必须和WWW-Authenticate报头域一起使用
403:Forbidden 服务器收到请求,但是拒绝提供服务
404:Not Found 请求资源不存在,如输入了错误的URL
500:Internal Server Error 服务器发生不可预期的错误
502:Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能回复正常

whistle抓包-数据包分析的更多相关文章

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

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

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

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

  3. 用wiershark抓dns数据包

    wireshark是非常好的抓包工具,捕获工具也很强大.比如说我只要抓dns数据包,其他数据包全部丢弃. 步骤如下: 选择菜单->捕获-捕获接口-输入-所选择接口的捕获过滤器:port 53 1 ...

  4. burpsuite 抓HTTPS数据包

    抓HTTPS数据包 导出保存为cer证书文件,导入到受信任的根证书颁发机构 设置代理服务器与burp中proxy listeners保持一致 设置目标url 抓包 可用repeater发请求

  5. Burp Suite抓https数据包

    本地环境JDK1.8Burp Suite 1.7.26 Firefox 59.0.2 一.burp介绍请自行谷歌,这里不过多介绍 二.配置HTTPS抓包方法[以Firefox为例]通常情况下burp默 ...

  6. Fiddler抓取数据包分析案例

    案例:利用Fiddler抓取苏宁易购网站数据包分析 抓包软件:Fiddler4 请求名字:www.suning.com 详细内容: 一.了解数据包区域的字段含义 图1数据包区域 #:顺序号,按照抓包的 ...

  7. 利用libpcap抓取数据包

    转载自:http://blog.csdn.net/tennysonsky/article/details/44811899 概述 libpcap是一个网络数据包捕获函数库,tcpdump就是以libp ...

  8. 使用Wireshark 抓取数据包

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

  9. WinPcap抓取数据包

    #WinPcap和Libpcap的最强大的特性之一,是拥有过滤数据包的引擎. 它提供了有效的方法去获取网络中的某些数据包,这也是WinPcap捕获机制中的一个组成部分. 用来过滤数据包的函数是#

随机推荐

  1. taro小程序地址选择组件

    效果图: address_picker.tsx: import Taro, { Component } from '@tarojs/taro' import { View, PickerView, P ...

  2. Element form表单方法resetFields无效

    之前遇到resetFields无效时都是自己手动用this.ruleForm = Object.assign({}, this.ruleForm, this.$options.data().ruleF ...

  3. spring-data-redis 动态切换数据源

    最近遇到了一个麻烦的需求,我们需要一个微服务应用同时访问两个不同的 Redis 集群.一般我们不会这么使用 Redis,但是这两个 Redis 本来是不同业务集群,现在需要一个微服务同时访问. 其实我 ...

  4. python常用工具库介绍

    Numpy:科学计算 HOME:  http://www.numpy.org/ NumPy is the fundamental package for scientific computing wi ...

  5. FPGA nios软核编写液晶屏LCD12864驱动程序源码以及注意事项,本人亲自踩坑,重要!!!

    LCD12864引脚如下: FPGA开发板得提供,3.3v电压,5v电压,普通io都是3.3v电压 DB:数据脚,得用双向io,因为程序里面需要读取液晶的应答(普通io3.3v可以) E:?输出引脚即 ...

  6. Java变量命名规范

    java命名规范 所有方法.变量.类名:见名知意 类成员变量:首字母小写.驼峰原则: 例如:lastName 第一个单词首字母小写,其余首字母大写 局部变量:首字母小写.驼峰原则 类名: 首字母小写. ...

  7. js 中连续的 3 个点 three dots (...) in javascript

    这个叫扩展运算符 https://dev.to/sagar/three-dots---in-javascript-26ci 5 种用法 1 function myFunc(...[x, y, z]) ...

  8. Python中 sys.argv[]

    sys.argv[]是一个从程序外部获取参数的桥梁,从外部取得的参数可以是多个,所以获得的是一个列表(list),用[]提取其中的元素.其第一个元素是程序本身,随后才依次是外部给予的参数. 实例 im ...

  9. 优化技术专题-线程间的高性能消息框架-深入浅出Disruptor的使用和原理

    前提概要 简单回顾 jdk 里的队列: 阻塞队列: ArrayBlockingQueue主要通过:数组(Object[])+ 计数器(count)+ ReetrantLock的Condition (n ...

  10. ysoserial payloads/JRMPClient

    ysoserial payloads/JRMPClient 环境:JDK8u102 payloads/JRMPClient可以配合exploit/JRMPListener模块来使用 1.在自己服务器上 ...