一站式学习Wireshark(七):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。
2. 会看到以下窗口:
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 Stream或Follow 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报文以查找网络,但通常扫描都不是好事情。
- 一次典型的扫描模式如下图所示:
本例中的扫描模式,一个IP地址,192.168.110.58,发送ICMP报文至192.170.3.44, 192.170.3.45, 192.170.3.46, 192.170.3.47,等等(上图仅显示扫描的很小一部分)。这种情况下我们有一个蠕虫病毒感染了网络上的所有PC,在它感染PC的时候,它就开始产生ICMP请求并将它们发送至网络。这些窄带连接(例如:WAN连接)可以很容易地被封锁。
TCP/UDP会话统计
- 查看带有太多TCP连接的设备。每一个PC合理的连接数是10到20个,上百个则是不正常的。
- 尝试查找无法辨识的端口号。它可能是正常的,但也可能是有问题的。下图显示了一次典型的TCP扫描:
Endpoints:
1. 从statistics菜单,选择Endpoints:
2. 出现以下窗口:
3. 此窗口中,能够看到第2,3,4层的endpoints,也就是以太网,IP, TCP或UDP。
使用要点:
这一工具列出了Wireshark发现的所有endpoints上的统计信息。可以是以下任意一种情况:
- 少量以太网endpoints(MAC地址)与大量IP终端节点(IP地址):可能的情况例如,一个路由器从很多远端设备收发报文,我们会看见路由器的MAC地址及很多IP地址经由此处。
- 少量IP终端节点与大量TCP终端节点:可能的情况是每一台主机有很多个TCP连接。可能是有很多连接的服务器的一个正常操作,也可能是一种网络攻击(如SYN攻击)。
以下是一个网络中心的抓包示例,一个内部网络有四个HP服务器和一个Cisco路由器,MAC地址的第一部分已经解析了厂商名称:
当我们查看IPv4:191下的endpoints,我们看到有很多来自192.168.10.0, 192.168.30.0,以及其他网络地址。
HTTP:
1. 从statistics菜单,选择HTTP,将会出现以下窗口:
在HTTP子菜单中,可以看到以下信息:
Packet Counter:
每一个网站的报文数量。帮助识别有多少响应和请求。
Requests:
各网站的请求分布。
Load Distribution:
各网站的负载分布。
按照以下操作步骤查看Packet Counter统计信息:
1. 进入Statistics | HTTP | Packet Counter。
2. 显示以下过滤窗口:
3. 此窗口中,可设置过滤条件以查看符合过滤条件的统计信息。如果想要查看整个抓包文件的统计信息,留白不填。这就会显示IP层之上的统计信息,也就是所有HTTP报文。
4. 点击Create Stat按钮,会看到以下窗口:
如果要查看某一特定节点的HTTP统计信息,可以通过display filter的方式配置过滤条件。
按照以下操作步骤查看HTTP Requests统计信息:
1. 进入Statistics | HTTP | Requests,出现以下窗口:
2. 选择所需过滤条件。对于所有数据,留白。
3. 点击Create Stat按钮,会出现以下窗口:
4. 要获得指定HTTP主机的统计信息,设置过滤条件http.host contains <host_name> 或 http.host==<host_name>。
5. 例如,通过设置过滤条件http.host contains ndi-com.com,可以获得站点 www.ndi-com.com的统计信息,如下图所示:
6. 结果如下图所示:
按照以下操作步骤查看Load Distribution统计信息:
1. 进入Statistics | HTTP | Load Distribution。
2. 出现以下窗口:
3. 选择所需过滤条件。对于所有数据,留白。
4. 点击Create Stat按钮,会出现以下窗口:
使用要点:
当我们打开一个网页,通常会向若干个URL发送请求。本例中,我们打开的其中一个网页是www.cnn.com,并将我们导向edition.cnn.com。我们发送了若干个请求:到root URL,到breaking_news URL,以及主页上两个其他位置。
一站式学习Wireshark(七):Statistics统计工具功能详解与应用的更多相关文章
- owasp zap 安全审计工具 功能详解
一.persist session 该功能主要保存扫描分析的结果,方便下次继续分析 二.扫描策略 1.修改策略 A.入口 B.具体设置页面 C.设置完成后,发起主动扫描,在弹出的窗口可以选择策略 D. ...
- [ kvm ] 学习笔记 4:KVM 高级功能详解
1. 半虚拟化驱动 1.1 virtio 概述 KVM 是必须使用硬件虚拟化辅助技术(如 Intel VT-x .AMD-V)的 Hypervisor,在CPU 运行效率方面有硬件支持,其效率是比较高 ...
- [ kvm ] 学习笔记 3:KVM 基础功能详解
1. 构建 KVM 环境 KVM 从诞生开始就需要硬件虚拟化的支持,KVM 必需的硬件虚拟化扩展分别是:Intel 的虚拟化技术(Intel VT)和 AMD 的 AMD-V 技术.首先处理器(CPU ...
- PyQt(Python+Qt)学习随笔:QLineEdit行编辑器功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.概述 QLineEdit部件是一个单行文本编辑器,支持撤消和重做. ...
- 一站式学习Wireshark(转载)
一站式学习Wireshark(一):Wireshark基本用法 2014/06/10 · IT技术 · 4 评论 · WireShark 分享到: 115 与<YII框架>不得不说的故事— ...
- 第15.42节、PyQt输入部件:QFontComboBox、QLineEdit、QTextEdit、QPlainText功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 输入部件量比较多,且功能很丰富,但除了用于编写编辑器.浏览器 ...
- 第三十五章、PyQt输入部件:QFontComboBox、QLineEdit、QTextEdit、QPlainText功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 输入部件量比较多,且功能很丰富,但除了用于编写编辑器.浏览器 ...
- Fiddler抓取https请求 & Fiddler抓包工具常用功能详解
Fiddler抓取https请求 & Fiddler抓包工具常用功能详解 先来看一个小故事: 小T在测试APP时,打开某个页面展示异常,于是就跑到客户端开发小A那里说:“你这个页面做的有问 ...
- [转帖]Linux学习笔记之rpm包管理功能全解
Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...
随机推荐
- HDUOJ 1099——Lottery
Lottery Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- linux命令中的 < 和 |、>符号作用就解释
输出重定向比如输入一条命令,默认行为是将结果输出到屏幕.但有时候我们需要将输出的结果保存到文件,就可以用重定向.ps > ps.txt < 表示的是输入重定向的意思,就是把<后面跟的 ...
- Eclipse,以及tomcat使用时可能会遇到的几个问题
http://blog.sina.com.cn/s/blog_56b0cb2d01000a7r.html Eclipse,以及tomcat有几个问题.说明如下 1, 工程不编译的问题 . 有时候,项目 ...
- python - multi-mechanize 安装笔记
1. multi-mechanize 是什么Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负载(组合事务).测试输出报告保存为HT ...
- http请求No peer certificate的解决方法
不少同学在做HTTP请求新浪授权或新浪数据的时候会出现 javax.net.ssl.SSLPeerUnverifiedException: No peer certificate的异常.现给出解决方法 ...
- mysql 行转列(存储过程)
直接sql(自己抽离代码,无法和order by rand() 复用): select shit from( select 要累加的字段, @tt:=CONCAT(@tt,',',a.要累加的字段) ...
- 基于PHP规范的自动加载方式(composer配置)
针对PHP这种编程语言,到目前FIG指定了五个规范,分别如下: PSR0:自动加载: PSR1:基本代码规范: PSR2:代码样式规范: PSR3:日志接口规范: PSR4:自动加载规范: 看上去PS ...
- 数据库分享一: MySQL的Innodb缓存相关优化
无论是对于哪一种数据库来说,缓存技术都是提高数据库性能的关键技术,物理磁盘的访问速度永 远都会与内存的访问速度永远都不是一个数量级的.通过缓存技术无论是在读还是写方面都可以大大提 高数据库整体性能. ...
- activiti自己定义流程之Spring整合activiti-modeler实例(一):环境搭建
项目中须要整合activiti-modeler自己定义流程,找了非常多资料后,最终成功的跳转到activiti-modeler流程设计界面.下面是记录: 一.整合基础:eclipse4.4.1.tom ...
- 用js实现预览待上传的本地图片
js实现预览待上传的本地图片,代码如下: <form name="form5" id="form5" method="post" ac ...