简述
Wireshark 是一个非常强大的网络分析工具,广泛用于网络故障排查、安全分析、协议分析等任务。在使用 Wireshark 进行网络抓包和协议分析时,掌握一些基本的操作技巧对于提高效率和准确性至关重要。本文将介绍 Wireshark 中如何进行协议相关的操作,涵盖:1)过滤/导出指定协议的数据包;2)启用/禁用协议;3)导出协议类型;4)查看协议统计。
1. 过滤/导出指定协议的数据包
Wireshark 提供了强大的过滤功能,可以帮助你聚焦于特定的协议或者网络流量。过滤器可以按协议、IP 地址、端口等多种条件来筛选网络数据包。要过滤指定协议的数据包,您可以使用以下方法:
-
基础协议过滤 :在 Wireshark 的顶部过滤框中输入协议名称,如
http
、tcp
、udp
等。例如,如果您只想查看 HTTP 协议的数据包,可以在过滤框中输入:http
,按下 Enter 键后,Wireshark 会自动过滤出所有 HTTP 数据包。 -
组合过滤:可以组合多个条件进行过滤。例如,如果您想查看 HTTP 协议的同时,过滤掉其他协议,可以使用:
http && ip.addr == 192.168.1.1
这个过滤器会显示所有 HTTP 协议且 IP 地址为
192.168.1.1
的数据包。 -
更多高级过滤:Wireshark 支持使用更多复杂的过滤表达式,如过滤特定的端口号、协议类型、数据包大小等。
-
导出指定协议的数据包: 我需要导出DNS报文,在过滤器中输入dns,回车后,过滤出只有DNS的报文,然后通过菜单 文件 > 导出特定分组功能,选择导出所有分组即可。
2. 启用/禁用协议
Wireshark 支持对某些协议的启用或禁用,以优化性能或避免显示不相关的协议。协议的启用和禁用可以在 Wireshark 的设置中进行调整:
启用或禁用协议:
打开 Wireshark,点击菜单栏中的 分析 ,选择 已启用的协议。
在协议列表中,您可以看到所有可用的协议。每个协议旁边都有一个复选框,勾选表示启用,取消勾选表示禁用。
禁用特定协议的解码:
有时候,Wireshark 会尝试解码不感兴趣的协议,您可以禁用这些协议的解码,避免干扰。比如,在捕获大量数据包时,如果不关心某些低层协议,可以禁用这些协议的解码。
下拉框选项(搜索条件)说明:
- Everywhere:表示搜索协议和描述(匹配所有内容)。
- Only Protocols:只搜索协议列。
- Only Description:只搜索描述列。
- Only enabled protocols:只搜索生效的协议。
- Only disabled protocols:只搜索禁用的协议。
搜索范围设置:
- any protocol:搜索全部协议。
- non-heuristic protocols:只搜索一级协议。
- heuristic protocols:只搜索二级协议。
3. 如何导出协议类型
Wireshark 默认没有此功能,只能查看和启用/禁用协议。可以将全部协议都禁用掉,然后进入用户目录下查找禁用的配置文件即可,禁用协议的配置在:
C:\Users\用户名\AppData\Roaming\Wireshark\disabled_protos
4. 查看协议统计
Wireshark 提供了强大的统计分析工具,帮助用户查看和分析不同协议的分布情况。以下是常见的协议统计功能:
协议分级统计:
- 在 Wireshark 中,点击菜单栏的 统计。
- 选择 协议分级,Wireshark 会展示一个列表,显示捕获的数据包中各种协议的层次分布。
- 该树形列表提供了各协议的数量、分组百分比、字节、字节百分比等信息,帮助您了解网络中使用的主要协议。
在指定协议上右键点击 查找, 可以查看列表中相关协议的数据包;还可以右键点击 复制为CSV,将UI上的数据复制到文件中保存,即可导出协议统计信息。