查看: 426|回复: 5

[抓包工具] 入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

[复制链接]

267

主题

819

帖子

1441

积分

管理员

人亦已歌

Rank: 12Rank: 12Rank: 12

积分
1441

活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

发表于 2019-11-18 18:52:48 | 显示全部楼层 |阅读模式
一、工具概述
httpwatch是功能强大的网页数据分析工具,集成在IE或火狐工具栏,主要功能有网页摘要、cookies管理、缓存管理、消息头发送/接收,字符查询、POST数据、目录管理功能和报告输出。HttpWatch是一款能够收集并显示深层信息的软件,它不用代理服务器或一些复杂的网络监控工具,能够在显示网页的同时显示网页请求和回应的日志信息,甚至可以显示浏览器缓存和IE之间的交换信息,集成在IE工具栏。(HttpWatch工具需要下载安装,论坛都有相关主题帖,这里就不多数了)

二、HttpWatch工具之Request Grid(请求网格)
安装好后在IE或火狐40-工具下启动HTTPWatch,输入地址后点击record按钮即开始进行录制,点击stop按钮即停止录制,如图1所示,录制了163邮箱的登录操作 入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图1(request grid图)

  1. Started:相对开始时间,是指接下来访问的URL相对于第一个URL被打开的时间,比如http://mimg.127.net/copyright/year.js是在html http://mail.163.com/页面的0.006s才执行的。
  2. Time Chart:耗时比例图,即整个请求应答过程各部分所花时间比例图。
  3. Time:请求所消耗的时间。
  4. Sent:提交该请求所发送的字节数。
  5. Received:提交请求后服务器返回的字节数。
  6. Method:提交请求的方法。
  7. Result:请求处理的结果。
  8. Type:服务器返回内容的类型
  9. URL:请求的URL地址。
复制代码
在测试过程中主要关注Time、Received、Result三项的值,Time是请求的耗时,需要注意耗时大的请求,因为在整个业务响应时间过程中,耗时长的请求是最有可能需要调优的;Received是返回的字节数,在测试过程中需要关注返回字节数较大的需要,因为返回的字节数较大,会影响整个请求的耗时,它也是调优需要重点关注的内容;Result是指请求响应的状态,需要关注其响应状态为非200的值,请求响应状态只有200是正确的,其他的都是异常的,如果请求出现异常情况,说明事务很有可能操作失败,这样直接影响了事务的成功率。

三、HttpWatch工具之Request View(请求视图)

Request View内容详细记录了每个请求的信息,主要包括下面列举的内容:
1、Overview,如图2所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图2(Overview内容)

  1. Display URL:表示请求的URL;
  2. Started At:表示该请求开始的时间;
  3. Submit Form:表示表单被提交到URL,只有POST操作时才会有该项;
  4. Connecte:表示TCP连接操作;
  5. HTTP Request:表示一个请求被发出去;
  6. HTTP Response:表示一个应答被收回;
  7. Read Cache:表示该次请求是从cache中读取应答消息;
复制代码

2、Time Chart,如图3所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图3(Time Chart图)

显示了一次请求应答过程中每个时间片段所花费的时间。一次完整的请求应答过程需要经历的时间片段如下:Blocked->DNS Lookup->Connect ->Send ->WAIt ->Receive。
各时间片段含义如下:
  1. Blocked(阻塞):阻塞的时间主要包括预处理时间(如缓存查找)和网络排队等待时间,导致阻塞最主要原因是下载页面中的图片;
  2. DNS Lookup(域名解释):域名解释时间主要是将主机名(如www.google.com)转化为相应的IP地址(216.239.59.99)的时间,在访问URL地址时,地址本身不能被直接访问,需要将它对应为相应的IP地址才能访问;
  3. Connect(连接):连接时间是指与web服务器(或代理服务器)建立起TCP连接需要的时间,一个安全的HTTPS连接应该包含SSL握手的过程,让系统处于一种保持连接的状态,可以节约重复创建TCP连接的时间
  4. Send(发送):发送时间是指从客户端发送HTTP请求到服务器所花费的时间,并且发送数据大小会影响发送的时间,如上传文件花费的时间就比较长;
  5. Wait(等待):等待时间是指服务器响应请求的时间,这个值包括网络延迟和服务器处理请求所花费的时间;
  6. Receive(接收):接收时间是指服务器返回数据到客户端所花费的时间,这个时间受所返回消息内容大小、网络带宽和HTTP压缩比的影响;
  7. Cache Read(读cache):读缓存时间是指从浏览器缓存中读取内容的时间;
复制代码

3、Headers,如图4所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图4(Headers的内容)

Headers Sent的内容如下:
  1. (Request-Line):包括HTTP提交请求方法、HTTP版本和URL子路径;
  2. Accept:可接受的文件类型;
  3. Accept-Encoding:可接受的纯文本之外的内容编码的类型;
  4. Accept-Language:可接受的返回数据的语言种类;
  5. Connection:指定该次请求回应结束后,如何处理连接;
  6. Cache-Control:指定请求和响应遵循的缓存机制;
  7. Location:用于重定向接收者到一个新URL地址;
  8. Host:请求连接的主机名;
复制代码
Headers Received的内容如下:
  1. (Status-Line):包括HTTP请求的状态码和HTTP版本信息; 
  2. Connection:指定该次请求回应结束后,如何处理连接;
  3. Cache-Control:指定请求和响应遵循的缓存机制;
  4. Content-Language:内容数据的语言种类;
  5. Content-Length:传输的内容长度;
  6. Content-Type:内容数据的类型(Mini Type);
  7. Last-Modified:服务器上保存内容的最后修订时间;
  8. Expires:内容数据被缓存的过期时间;
复制代码
4、Cookies,如图5所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图5(Cookies的内容)

  1. Cookie Name:cookie的名称;
  2. Direction:表明该cookie是由客户端发送到服务器的还是从服务器接收的;
  3. Value:cookie的内容;
  4. Path:该cookie所在站点的路径;
  5. Domain:显示该cookie所属的域名或主机名;
  6. Expires:指该cookie失效时间,当浏览器关闭时该cookie值将被删除;
复制代码
5、Cache,如图6所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图6(Cache的内容)

  1. URL in cache?:该项内容是否写入浏览器缓存 ;
  2. Expires:cache失效日期和时间;
  3. Last Modification:当cache内容被存储或更新时,那么更改日期将会修改为最近的日期;
  4. Last Cache Update:cache内容被更新的最近时间;
  5. Last Access:最近一次读cache的时间;
  6. ETag:用来匹配服务器上的实体,使用的方式为模糊匹配;
  7. Hit Count:读cache内容的次数;
复制代码
6、Query String,如图7所示
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图7(Query String的内容)

  1. Query String是通过URL来传递参数的一种方式,格式通常为:...?name1=value1&name2=value2&...
  2. Query String内容中可以显示当前URL中所有的参数名及对应的值,图7所对应的URL如下:
  3. http://ir3.mail.163.com/get.do?prod=wmail_lbp&ver=1&uid=****@163.com&domain=163.com&mobUser=0&callback=themeHandler.callback&rnd=0.639472691290614
复制代码
7、POST Data,如图8所示,显示以POST方式请求的数据信息,其中Mime Type:application/json,是指POST方式提交数据的编码方式。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图8(POST Data的内容)

8、Content,如图9所示,显示接收到的HTTP响应信息,包括MIME的类型,总的字节数和这些内容是否从服务中下载或从缓存中读取,如果对HTTP进行了压缩,还应该显示压缩的方式、压缩后的文件大小及压缩比。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图9(Content的内容)

9、Stream,如图10所示,主要是显示客户端发送的内容和服务器返回的内容。左边显示的是客户端发送的内容,显示了数据流大小和发送到哪个服务器,如图所示,发送的字节数为2173个字节,服务器的IP地址为220.181.12.208,端口号为80。右边显示的是服务器返回的内容,包括返回的字节数和返回到客户端的IP地址。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图10(Stream的内容)

左边为客户端向服务器提交的请求,内容如下:
  1. GET /entry/cgi/ntesdoor?df=loginjustnowmail163&funcid=loginjustnow&iframe=1 HTTP/1.1
  2. GET表示请求方式,‘/’表示URI(uniform resource identifier,是web上访问可用资源的一种通用资源标识符),HTTP/1.1表示使用的协议和协议版本;
  3. Accept:表示接受返回数据的类型, */*表示允许接受所有的数据类型;
  4. Referer: 表示一个URL地址(如http://mail.163.com/),表示从该地址发出的请求;
  5. Accept-Language: 表示接受返回数据的语言,如zh-CN表示接受返回数据语言为中文;
  6. Accept-Encoding: 表示浏览器可接受除纯文本外的内容编码的类型,如gzip压缩, deflate压缩内容;
  7. User-Agent:标识客户端浏览器类型及相关版本信息;
  8. Host:主机标识地址;
  9. Connection: 表示连接状态,如Keep-Alive表示保持TCP的连接状态;
复制代码
右边的内容为服务器向客户端返回的数据内容,如下:
  1. HTTP/1.1 200 OK:表示协议、协议版本、请求的状态;
  2. Date:表示发送HTTP消息的日期;
  3. Expires:表示实体的有效期;
  4. Content-Type:表示服务器返回请求类型,如text/html;
  5. Last-Modified:表示被请求资源上次修改的日期和时间;
  6. Age:表示HTTP接受请求操作响应的缓存时间;
复制代码
10、!Warnings,如图11所示,显示了单个请求出现警告的内容,显示的内容包括警告ID、警告类型和警告的详细描述。


关于警告类型主要3种:performance(性能)、security(安全)和Functional(功能)
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图11(!Warnings的内容)

四、HttpWatch工具之Summary View(摘要视图)
1、network可以显示一个页面或一组页面请求的概要信息,如图12所示:


入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图12(summary-network的内容)

  1. Elapsed Time:表示从第一个请求开始到当前页面所有请求都完成所消耗的时间,单位为s,显然该值越小越好;
  2. Network Round Trips:表示提交请求到请求信息返回共经历的web服务器的次数,同样该值越小越好;
  3. Downloaded Data:下载的字节数,单位为字节,同样该值越小越好;
  4. Uploaded Data:表示发送到服务器端的数据,单位为字节数,同样该值越小越好;
  5. HTTP Compression Savings:表示HTTP数据压缩后,减少的字节数;
  6. DNS Lookups:表示将域名解析为对应的IP地址的次数(如将域名www.google.com解析为72.14.221.103);
  7. TCP Connects:表示建立TCP连接的次数,这项值用于表示服务器保持连接的能力,同样该值越小越好;
  8. Total HTTPS overhead:在所有的提交请求中有多少需要加密的请求;
  9. Average HTTPS overhead per request:平均每个请求的HTTP值,如果这个值过高很可能是因为服务器不正确引起的。
复制代码
2、page events的内容如图13所示,表示页面请求的事件以及每个事件对应所消耗的时间,关于时间块的组成在request view中的time chart部分进行了详细的介绍,这里就不赘述。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图13(page events的内容)

3、timings的内容如图14所示,表示URL请求各阶段所消耗的时间,同上也是不赘述。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图14(timings的内容)

4、status codes的内容如图15所示,主要显示客户端提交请求后,服务器返回的状态码。
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图15(status codes的内容)

5、errors和warning内容主要是显示在请求过程中,出现的错误和警告的信息。

五、HttpWatch工具之其他功能

除上面描述的功能外,还有两个其他功能,即过滤和查找功能,如图16、17所示:
入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)


图16(filter对话框)

入门级HTTP协议专用数据流记录抓包工具-HttpWatch(功能详细介绍)

图17(find对话框)




61

主题

73

帖子

144

积分

版主

Rank: 10Rank: 10Rank: 10

积分
144

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2019-11-19 00:14:32 | 显示全部楼层

帮帮顶顶!!
回复

使用道具 举报

1

主题

25

帖子

14

积分

营销入门

Rank: 2

积分
14
发表于 2019-11-19 00:14:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

26

帖子

14

积分

终身会员

Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25Rank: 25

积分
14

终身会员

发表于 2019-11-19 00:14:57 | 显示全部楼层

好好 学习了 确实不错

0

主题

15

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2019-11-19 00:15:31 | 显示全部楼层

学习了,谢谢分享、、、

0

主题

17

帖子

8

积分

年费会员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
8

年费会员

发表于 2019-11-28 18:03:05 | 显示全部楼层

学习了,不错
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表