codecamp

(七):Statistics统计工具功能详解与应用

Wireshark一个强大的功能在于它的统计工具。使用Wireshark的时候,我们有各种类型的工具可供选择,从简单的如显示终端节点和会话到复杂的如Flow和IO图表。本文将介绍基本网络统计工具。包括:捕捉文件摘要(Summary),捕捉包的层次结构(Protocol Hirarchy), 会话(Conversations), 终端节点(Endpoints), HTTP。

更多信息

Summary:

从statistics菜单,选择Summary

如下图的截屏所示,你会看到:

File:

捕捉文件的一般信息,如文件名和路径,长度,等等

Time:

第一个包和最后一个包的时间戳,以及抓包过程持续时间

Capture:

显示文件捕捉于哪一个接口,以及评论窗口

在窗口的较低部分是Display窗口,展示抓包文件统计信息的摘要,包括:

捕捉报文的总数与百分比

显示报文的数量(加上过滤条件之后)

标记报文的数量

何时使用:

这一菜单简单收集所有抓包数据,在定义了过滤条件的时候,将呈现过滤后的数据。当想要知道每秒的平均报文数或是字节数时,可以使用此工具。

Protocol Hierarchy:

这一部分阐述如何确知网络运行数据。从statistics菜单,选择Protocol Hierarchy

这个窗口现实的是捕捉文件包含的所有协议的树状分支。如下图所示:

Protocol Hierarchy窗口有如下字段:

Protocol:

协议名称

% Packets:

含有该协议的包数目在捕捉文件所有包所占的比例

Packets:

含有该协议的包的数目

Bytes:

含有该协议的字节数

Mbit/s:

抓包时间内的协议带宽

End Packets:

该协议中的包的数目(作为文件中的最高协议层)

End Bytes:

该协议中的字节数(作为文件中的最高协议层)

End Mbit/s:

抓包时间内的协议带宽(作为文件中的最高协议层)

小贴士:

包通常会包含许多协议,有很多协议会在每个包中被统计。End Packets,End Bytes,End Mbit/s列是该层在抓包中作为最后一层协议的统计数据(也就是说,协议处于报文的顶层,并且没有更高层信息了)。例如,没有载荷的TCP报文(例如,SYN报文),这一类没有负载任何上层信息的报文。这就是为什么在Ethernet层,IPv4层和UDP层报文计数为0,因为没有接收到以这些协议作为最后一层的帧。

何时使用:

值得注意的两点是:

百分比永远指的是相同协议层级。例如,

使用要点:

1. Percentage永远参照的是相同协议层。例如,上例中81.03%是IPv4报文,8.85%是IPv6报文,10.12%是ARP报文。第二层之上的各协议所占百分比总和是100%。

2. 另一方面,TCP占总数据的75.70%,在TCP协议之内,只有12.74%的报文是HTTP,除此之外没有其他统计。这是由于Wireshark只统计有HTTP头的报文。它不统计如确认报文或数据报文这样没有HTTP头的报文。

3. 为了使Wireshark同时统计数据报文,例如,TCP报文内部的HTTP报文,关闭Allow sub-dissector选项,对TCP数据流重新统计。可在Preferences菜单或Packet Details面板中右键TCP来实现。

Conversations:

1. 在Statistics菜单中,选择Coversations

3. 可以选择第2层以太网统计数据,第3层IP统计数据,或第4层TCP或UDP统计数据。

4. 可以选择以下统计工具:

  • On layer 2(Ethernet):查找并过滤广播风暴或
  • On layer 3 or 4(TCP/IP)**:**通过互联网路由器端口并行连接,查看谁在向ISP传输数据

小贴士:

如果你看到互联网上某一IP地址通过端口80(HTTP)向外传输大量数据流,你就需要将该地址复制入浏览器并且查看你的用户与哪一个网站通讯最多。

如果没有得到结果,只需到标准DNS查询站点(Google一下DNS lookup)查看哪一种流量占用了你的网线。

5. 也可以通过选择位于窗口左下方的Limit to display filter复选框将会话统计信息进行显示过滤。这样,仅呈现所有通过显示过滤条件的统计数据。

6.要查看IP地址对应名称,可以选择Name resolution复选框。要查看IP名称解析,进入View | Name Resolution | Enable for Network layer进行激活。

7. 对于TCP或UDP,可以在Packet list中对指定报文进行标记,之后从菜单中选择Follow TCP StreamFollow UDP Stream。从而定义一个显示过滤条件,仅显示指定数据流。

使用要点:

网络会话是两个指定终端之间的数据流。例如,IP会话是两个IP地址之间的所有数据流,TCP会话包含了所有TCP连接。

通过Conversations列表,能看出很多网络问题。

以太网会话统计

在Ethernet conversations statistics中,查找以下问题:

  • 大量的广播风暴:可以看见较轻微的广播风暴;而对于每秒数千甚至数万个报文的严重广播风暴,Wireshark会停止显示数据并且屏幕冻结。只有断开Wireshark连接时才能看见。
  • 如果你看到来自某一MAC地址的大量数据,查看会话第一部分的vendor ID,会给你一些导致问题的线索。即使MAC地址的第一部分标识了vendor,但它并不一定就标识了PC本身。这是由于MAC地址属于PC上安装的以太网芯片厂商,而并不一定属于PC制造商。如果无法识别数据流来源地址,可以ping嫌疑地址并通过ARP获取它的MAC地址,在交换机中查找该地址,如果有操作系统的话直接用find命令来定位。

IP会话统计

在IP conversations statistics中,查找以下问题:

  • 查看收发大量数据流的IP地址。如果是你知道的服务器(你记得服务器的地址或地址范围),那问题就解决了;但也有可能只是某台设备正在扫描网络,或仅是一台产生过多数据的PC。
  • 查看扫描模式(scan pattern)。这可能是一次正常的扫描,如SNMP软件发送ping报文以查找网络,但通常扫描都不是好事情。
  • 一次典型的扫描模式如下图所示:

HTTP:

1. 从statistics菜单,选择HTTP,将会出现以下窗口:

在HTTP子菜单中,可以看到以下信息:

Packet Counter:

每一个网站的报文数量。帮助识别有多少响应和请求。

Requests:

各网站的请求分布。

Load Distribution:

各网站的负载分布。

按照以下操作步骤查看Packet Counter统计信息:

1. 进入Statistics | HTTP | Packet Counter。

2. 显示以下过滤窗口:

按照以下操作步骤查看Load Distribution统计信息:

1. 进入Statistics | HTTP | Load Distribution。

2.出现以下窗口:

(六):狙击网络高延时点
(八):应用Wireshark过滤条件抓取特定数据流
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }