whistle抓包-数据包分析
额,这篇忘了是来自哪位作者的了。
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抓包-数据包分析的更多相关文章
- Android移动网络如何抓取数据包
1)下载tcpdump工具 tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析.它 ...
- tcpdump 基于mac地址抓取数据包
1.刚刚接触tcpdump时,常用tcpdump -i eth1 host 192.168.1.1 这个命令基于ip地址抓取数据包信息. tcpdump -i eth1(接口名称) host 192. ...
- 用wiershark抓dns数据包
wireshark是非常好的抓包工具,捕获工具也很强大.比如说我只要抓dns数据包,其他数据包全部丢弃. 步骤如下: 选择菜单->捕获-捕获接口-输入-所选择接口的捕获过滤器:port 53 1 ...
- burpsuite 抓HTTPS数据包
抓HTTPS数据包 导出保存为cer证书文件,导入到受信任的根证书颁发机构 设置代理服务器与burp中proxy listeners保持一致 设置目标url 抓包 可用repeater发请求
- Burp Suite抓https数据包
本地环境JDK1.8Burp Suite 1.7.26 Firefox 59.0.2 一.burp介绍请自行谷歌,这里不过多介绍 二.配置HTTPS抓包方法[以Firefox为例]通常情况下burp默 ...
- Fiddler抓取数据包分析案例
案例:利用Fiddler抓取苏宁易购网站数据包分析 抓包软件:Fiddler4 请求名字:www.suning.com 详细内容: 一.了解数据包区域的字段含义 图1数据包区域 #:顺序号,按照抓包的 ...
- 利用libpcap抓取数据包
转载自:http://blog.csdn.net/tennysonsky/article/details/44811899 概述 libpcap是一个网络数据包捕获函数库,tcpdump就是以libp ...
- 使用Wireshark 抓取数据包
Wireshark 是一个网络封包分析软件.网络封包分析软件的功能是获取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. 一 ...
- WinPcap抓取数据包
#WinPcap和Libpcap的最强大的特性之一,是拥有过滤数据包的引擎. 它提供了有效的方法去获取网络中的某些数据包,这也是WinPcap捕获机制中的一个组成部分. 用来过滤数据包的函数是#
随机推荐
- Tomcat配置SSL证书(PFX证书)
公司项目,应该是阿里云服务器 在windows2008 R2搭建的 Tomcat部署SSL证书,本文以PFX证书为例. 配置好之后开始 一.什么是SSL(证书)? SSL证书服务(Alibaba Cl ...
- [转]C# 互操作性入门系列(四):在C# 中调用COM组件
传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...
- C# wpf中关于binding的converter无效的情况
最近碰到bingding设置了convert转换无效的问题.困扰了我好久.这里记录分析一下. 先说下现象 我把TextBox的text属性 绑定到了对应的 convert.代码如下 希望吧pd_no ...
- QT 自定义控件 以及信号和槽的使用
自定义login 控件 Login头文件 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { class L ...
- wpf中INotifyPropertyChanged的用法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Linq;using Sy ...
- js对url进行编码和解码
编码 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. 例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码. 1. ...
- Element form表单方法resetFields无效
之前遇到resetFields无效时都是自己手动用this.ruleForm = Object.assign({}, this.ruleForm, this.$options.data().ruleF ...
- call bind apply的区别
call() 和apply()的第一个参数相同,就是指定的对象.这个对象就是该函数的执行上下文. call()和apply()的区别就在于,两者之间的参数. call()在第一个参数之后的 后续所有参 ...
- ffplay 播放网络摄像头视频
shell脚本如下,无须加port ffplay rtsp://cameral_ip
- x和y为正整数变量,求满足 x+y | xy 的通解。
x和y为正整数变量,求满足 x+y | xy 的通解. 解:由题设可知存在正整数t满足t(x+y)=xy. 设m=(x,y),则存在正整数u和v满足: x=mu, y=mv, (u,v)=1. 于是有 ...