一、Wireshark简介
1997年底,GeraldCombs试图开发用于追踪网络流量的软件工具——Ethereal。1998年7月,该开源工具的第一个版本V0.2.0发布。2006年6月,因为商标的问题,Ethereal更名为Wireshark。2008年,Wireshark发布了V1.0,该版本实现了最低功能,被视为完整版本。2015年,Wireshark V2.0发布,形成了新的用户界面。2019年,Wireshark V3.0发布,添加了卫地图功能。截至2024年9月,最新版本为Wireshark V4.4。
Wireshark是一款免费开源的网络协议分析工具。作为网络安全工程师、网络管理员和研究人员必备的工具之一,它可以从微观层面对网络中传输的数据进行实时监控和分析:
①分析局域网内的数据包,了解网络中的数据流向,找出网络拥塞点和瓶颈,提高网络的可靠性和性能;
②监控网络攻击行为,如网络钓鱼、拒绝服务攻击等。通过对攻击流量的分析和识别,可以及时发现和阻止网络攻击,保障网络安全;
③支持多种协议的解析,如TCP、UDP、HTTP、SMTP等,可以对网络中的各种数据包进行深人分析,具有强大的分析功能;
④提供了多种过滤器和统计工具,可以帮助用户快速定位问题和优化网络性能;
⑤提供了友好的用户界面,将捕获到的各种网络协议的二进制数据流解码成待分析数据,并将其转换为容易读懂和理解的文字和图表等形式。
总之,Wireshark是一款功能强大、应用广泛、易于使用的网络协议分析工具。在网络安全、网络性能优化、网络故障排查等方面发挥着重要的作用。
二、Wireshark主要窗口及功能
可以通过Wireshark官方网站下载安装程序,本书选择在64位Windows的平台,安装版本为Wireshark 4.6.4。根据需求选择不同的组件进行安装,在“选择组件”上,可供选择的组件包括Wireshark网络协议分析软件、TShark命令行网络协议分析软件、插件和扩展、工具以及用户指南。指定安装位置时,通常采用默认设置安装。Wireshark安装好后即可运行,运行界面如图1-2所示。
2.1.菜单栏
菜单栏实现了Wireshark软件的全部功能,各菜单具体功能如下所示。
(1)文件:打开、保存和导出捕获的文件。
(2)编辑:复制、查找或标记分组。
(3)视图:设置Wireshark视图。
(4)跳转:跳转到捕获的分组。
(5)捕获:设置捕获过滤器并开始捕获。
(6)分析:设置分析选项。
(7)统计:查看统计信息。
(8)电话:显示与电话有关的流量的统计信息。
(9)无线:显示蓝牙和IEEE 802.11无线统计信息。
(10)工具:提供各种工具。
(11)帮助:提供用户帮助信息。
2.2.主工具栏
主工具栏提供了从菜单栏中快速访问常用项的功能。用户无法自定义该栏目,但可以通过菜单隐藏。主工具栏工具功能如表1-2所示。
2.3.过滤器工具栏
过滤器工具栏提供了快速编辑和应用显示过滤器的接口、包含的图标,以及捕捉无线网卡流量对应的分组列表、分组详细信息、十六进制数据和状态栏,如图1-3所示。
图1-3过滤器工具栏
- :书签,用于管理或选择已保存的过滤器。
- :显示过滤器输人文本框,用于输人或编辑显示的过滤器字符串。在输人过滤字符串时,Wireshark要进行语法检查,如果输人的字符串无效,背景将变为红色;如果输入的字符串有效,背景将变为绿色。若更改了某些内容,要单击Apply按钮,将更改应用于显示。注意,显示过滤器输入之后要按“Enter”键才会生效。在大文件里应用过滤显示器会有延迟。
- :应用,将当前值应用到编辑区域作为新的显示过滤器。
- :从以前使用的过滤器中选择。
-
:添加一个显示过滤器按钮。
三、Wireshark常见过滤规则
Wireshark过滤器包括捕捉过滤器和显示过滤器。其中,捕捉过滤器是Wireshark的第一层过滤器,确定捕获哪些分组,舍弃哪些分组;显示过滤器是Wireshark的第二层过滤器,在捕捉过滤器的基础上只显示符合规则的分组信息。在显示过滤器中,通过过滤规则可以快速定位和过滤关注的数据包,精确地控制显示哪些分组,用于检查是否存在协议或字段的值,可以比较两个字段,并与逻辑运算符(如and和or)以及圆括号组合成复杂的表达式。Wireshark常见过滤规则包括条件匹配规则、IP地址、协议等。
3.1.条件匹配规则
常见的比较操作符和逻辑操作符的功能说明及示例分别如表 1-3 和表 1-4 所示。
3.2.IP地址过滤
Wireshark常用的IP地址的过滤,包括以下三种情况。
(1)ip.addr:抓取满足源或者目的地址的IP地址包。例如,ip.addr == 192.168.0.1,表示抓取满足源或者目的地址的IP地址是192.168.0.1的包。
(2)ip.src:抓取满足源地址要求的包。例如,ip.src == 192.168.0.1,表示抓取源地址为192.168.0.1的包。
(3)ip.dst:抓取目的地址满足要求的包。例如,ip.dst == 192.168.0.1,表示抓取目的地址为192.168.0.1的包。
3.3.协议过滤
允许通过ARP、IP、ICMP、UDP、TCP、BOOTP、DNS、HTTP、SMTP、FTP等协议进行包的过滤。