httpwatch抓包工具详解

  • 格式:docx
  • 大小:644.30 KB
  • 文档页数:10

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

抓包工具- HttpWatch(功能详细介绍)

HttpWatch是功能强大的网页数据分析工具,集成在IE工具栏,主要功能有网页摘要、cookies管理、缓存管理、消息头发送/接收,字符查询、POST数据、目录管理功能和报告输出。HttpWatch是一款能够收集并显示深层信息的软件,它不用代理服务器或一些复杂的网络监控工具,能够在显示网页的同时显示网页请求和回应的日志信息,甚至可以显示浏览器缓存和IE之间的交换信息,集成在IE工具栏。

一、HTTP基础知识之HTTP消息格式

当用户使用浏览器访问某个URL地址、提交表单数据时,浏览器会生成请求消息发送给服务器,服务器收到请求后,将生成的响应消息返回给浏览器。浏览器发出的请求信息和服务器返回的响应信息统称为HTTP消息。HTTP消息有着严格的格式。

一个完整的请求消息包括:一个请求行、若干消息头及实体内容,其中一些消息头和实体内容是可选的,消息头和实体内容之间使用空行隔开,下面是HTTP请求消息内容:

(Request-Line) GET /get.do?prod=wmail_lbp&ver=1&uid=nt@&domain=&mobUser=0&callback=them eHandler.callback&rnd=0.13562542999267713 HTTP/1.1

Accept application/javascript, */*;q=0.8

Accept-Encoding gzip, deflate

Accept-Language zh-CN

Connection Keep-Alive

Cookie starttime=; logType=

Host

Referer /

User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)

一个完整的响应消息包括:一个状态行、若干消息头及实体内容。与请求消息一样,响应消息中的一些消息头和实体内容也是可选的,消息头和实体内容之间也要用空行隔开。下面是HTTP响应消息内容:

(Status-Line) HTTP/1.1 200 OK

Connection keep-alive

Content-Length 25037

Content-Type application/json;charset=utf-8

Date Mon, 05 Jun 2017 13:13:25 GMT

Server nginx

Vary Accept-Encoding

X-Cache from

HTTP请求和HTTP响应消息头都是用于描述HTTP消息本身的信息,通常也把这种描述信息称为元信息,消息头相当于服务器和浏览器之间的暗号指令,主要实现HTTP客户机与服务器之间的条件请求和应答。

通常情况下消息头分为4类:信息头、请求头、响应头和实体头:

1)通用信息头:即能用于请求信息,也可以用于响应消息,但与被传输的实体内容没有关系,如date、pragma。

2)请求头:用于在请求消息中向服务器传递附加消息,主要包括客户机可以接受的数据类型、压缩方法、语言,以及客户计算机上保留的cookie信息和发出该请求的超链接源地址等。

3)响应头:用于在响应消息中向客户端传递附加信息,包括服务程序的名称、要求客户端进行认证的方式、请求的资源已移动到的新地址等。

4)实体头:用做实体内容的元信息,描述了实体内容的属性,包括实体信息的类型、长度、压缩方法、最后一次修改的时间和数据的有效期等。

请求消息的请求行中包括3部分:请求方式、资源路径以及所使用的HTTP协议版本,各部分之间使用空格分隔,语法格式如下:

请求方式资源路径 HTTP版本号

其中表示回车和换行两个字符的组合。

响应消息的状态行中包括3部分的内容:HTTP协议的版本号、一个表示成功或失败的整数代码(状态码)和对状态码进行描述的文本信息,各部分内容之间使用空格分隔,语法格式如下:

HTTP版本号状态码原因叙述

二、HttpWatch工具之Request Grid

安装好后在IE-工具下启动HTTPWatch,输入地址后点击record按钮即开始进行录制,点击stop按钮即停止录制,如图1所示,录制了163邮箱的登录操作

图1(request grid图)

Started:相对开始时间,是指接下来访问的URL相对于第一个URL被打开的时间,比如/copyright/year.js 是在html /页面的0.006s才执行的。

Time Chart:耗时比例图,即整个请求应答过程各部分所花时间比例图。

Time:请求所消耗的时间。

Sent:提交该请求所发送的字节数。

Received:提交请求后服务器返回的字节数。

Method:提交请求的方法。

Result:请求处理的结果。

Type:服务器返回内容的类型。

URL:请求的URL地址。

在测试过程中主要关注Time、Received、Result三项的值,Time是请求的耗时,需要注意耗时大的请求,因为在整个业务响应时间过程中,耗时长的请求是最有可能需要调优的;Received是返回的字节数,在测试过程中需要关注返回字节数较大的需要,因为返回的字节数较大,会影响整个请求的耗时,它也是调优需要重点关注的内容;Result是指请求响应的状态,需要关注其响应状态为非200的值,请求响应状态只有200是正确的,其他的都是异常的,如果请求出现异常情况,说明事务很有可能操作失败,这样直接影响了事务的成功率。

三、HttpWatch工具之Request View

Request View内容详细记录了每个请求的信息,主要包括下面列举的内容:

一、Overview,如图2所示

图2(Overview内容)

Display URL:表示请求的URL;

Started At:表示该请求开始的时间;

Submit Form:表示表单被提交到URL,只有POST操作时才会有该项;

Connecte:表示TCP连接操作;

HTTP Request:表示一个请求被发出去;

HTTP Response:表示一个应答被收回;

Read Cache:表示该次请求是从cache中读取应答消息;

二、Time Chart,如图3所示

图3(Time Chart图)

显示了一次请求应答过程中每个时间片段所花费的时间。一次完整的请求应答过程需要经历的时间片段如下:Blocked->DNS Lookup->Connect ->Send ->Wait ->Receive。

各时间片段含义如下:

Blocked(阻塞):阻塞的时间主要包括预处理时间(如缓存查找)和网络排队等待时间,导致阻塞最主要原因是下载页面中的图片;

DNS Lookup(域名解释):域名解释时间主要是将主机名(如)转化为相应的IP地址(216.239.59.99)的时间,在访问URL地址时,地址本身不能被直接访问,需要将它对应为相应的IP地址才能访问;

Connect(连接):连接时间是指与web服务器(或代理服务器)建立起TCP连接需要的时间,一个安全的HTTPS连接应该包含SSL