wireshark常用命令

Author Avatar
Song
发表:2025-02-26 15:06:00
修改:2025-02-26 15:08:34

Wireshark,这款广受欢迎的开源网络协议分析工具,堪称网络管理员、网络安全专家和网络爱好者的“显微镜”!它可以帮助我们捕获网络中的数据包,并提供详细的解码和分析能力。本文将为您全面剖析 Wireshark 的强大功能,从基础到高级,让你快速掌握这个神器!💡

Wireshark 是一款功能强大的网络协议分析器,最早由 Gerald Combs 于 1998 年开发,经过多年发展,已成为网络诊断和分析的首选工具。它支持实时捕获数据包并提供详尽的解码信息,适用于多种操作系统,包括 Windows、macOS 和 Linux。

为什么选择 Wireshark?

  1. 全面的协议支持:Wireshark 能够解析数百种协议(HTTP、DNS、SSL/TLS 等)。

  2. 实时数据捕获:支持实时数据包捕获和离线分析。

  3. 图形化界面:界面直观,易于使用。

  4. 强大的过滤功能:提供多种过滤器,帮助用户快速找到目标数据。

  5. 跨平台支持:可运行在多种操作系统上。

Wireshark 捕获模式

在 Wireshark 中,数据包捕获是最核心的功能之一。根据需求,可以选择以下捕获模式:

图片Wireshark 捕获模式分类

Wireshark 启动后会列出可用的网络接口。选择一个接口并点击“Start”,Wireshark 即开始捕获该接口上的数据包。

图片

💡小提示:

  • 如果不确定选择哪个接口,可以先观察接口旁边的流量图。

  • 无线网络捕获需要支持“监控模式”的网卡。

在捕获数据包之前,可以设置一些参数来优化捕获过程:

  • 文件输出:将捕获的数据保存到文件。

  • 捕获过滤器:在捕获阶段过滤不需要的数据包。

  • 环形缓冲区:限制捕获文件的大小,避免占用过多存储空间。

图片

Wireshark 过滤器解析大全

Wireshark 提供了强大的过滤功能,包括捕获过滤器和显示过滤器。合理使用过滤器可以极大地提高分析效率。

1. 捕获过滤器(Capture Filter)

捕获过滤器在数据包捕获时生效,用于减少捕获的数据量。

图片Wireshark 捕获过滤器语法

示例

  • 捕获所有 TCP 数据包:tcp

  • 捕获来自 192.168.1.1 的数据包:src 192.168.1.1

  • 捕获发往特定端口的数据包:port 80


2. 显示过滤器(Display Filter)

显示过滤器用于分析阶段,仅影响数据包的显示,不会改变捕获的数据。

图片Wireshark 显示过滤器语法

图片Wireshark 显示过滤器常用操作符

示例

  • 过滤 IP 地址为 10.10.50.1 的数据包:ip.addr == 10.10.50.1

  • 过滤特定端口的数据包:tcp.port == 25

  • 过滤多个条件:ip.addr == 10.0.0.1 and tcp.port == 80


3. 捕获与显示过滤器的对比

属性

捕获过滤器

显示过滤器

作用阶段

捕获阶段

显示阶段

过滤范围

减少捕获的数据量

不影响捕获的数据量

语法复杂度

相对简单

相对复杂

典型使用场景

捕获特定协议或地址的数据

分析捕获数据中特定字段的值

图片捕获与显示过滤器的对比表格图

Wireshark 快捷键与常用功能

为了提高操作效率,Wireshark 提供了丰富的快捷键和功能模块。

1. 常用快捷键

图片Wireshark 常用快捷键

2. 数据包信息列

默认情况下,Wireshark 会显示以下列信息:

  • No.:数据包编号

  • Time:时间戳

  • Source:源地址

  • Destination:目的地址

  • Protocol:协议类型

  • Length:数据包长度

3. 数据包内容查看

点击任意数据包,可以在下方的“Packet Details”窗口查看详细内容,包括:

  • 帧信息:以太网帧的基本信息。

  • 协议信息:如 IP、TCP 的详细字段。

  • 原始数据:数据包的十六进制和 ASCII 表示。

图片

Wireshark 高级功能

Wireshark 不仅仅是一个简单的网络协议分析工具,它还拥有许多高级功能,能够帮助用户在复杂的网络环境中快速定位问题。

Wireshark 高级显示过滤器

Wireshark 的显示过滤器支持复杂的逻辑条件,可以帮助用户快速定位感兴趣的流量。

以下是一些高级用法:

组合条件

  • 按 IP 和端口过滤:

 ip.addr == 192.168.3.1 and tcp.port == 80

图片

  • 排除特定流量

 not (ip.addr == 10.0.0.1 and tcp.port == 22)

时间过滤

  • 过滤特定时间段的流量:

 frame.time >= "2024-12-30 17:00:00" and frame.time <= "2024-12-30 17:10:00"

图片

协议层字段

  • 过滤 HTTP 请求方法:

 http.request.method == "GET"

图片

  • 过滤 DNS 查询类型:

 dns.qry.type == 1

图片

位操作符

Wireshark 的位操作符非常适合用于过滤特定标志位。

例如:

  • 过滤 TCP SYN 数据包:

 tcp.flags.syn == 1 and tcp.flags.ack == 0

图片

  • 过滤 ICMP Echo 请求:

 icmp.type == 8

图片

网络性能分析

Wireshark 可以帮助分析网络性能瓶颈。

延迟分析

使用 Wireshark 可以测量两个数据包之间的时间差:

  • 通过 TCP 时间戳:查看 tcp.analysis.ack_rtt 字段。

  • 通过 ICMP 延迟:计算 frame.time_delta 的值。

丢包检测

  • 标记丢失的 TCP 数据包:

 tcp.analysis.lost_segment

图片

  • 检查重传数据包:

 tcp.analysis.retransmission

图片

带宽分析

通过统计功能(Statistics 菜单),可以生成网络带宽利用率的图表:

  • I/O 图表:用于分析网络流量变化趋势。

  • 流量统计:统计每个协议的流量占比。

安全性分析与威胁检测

Wireshark 是网络安全分析的利器,尤其在以下几个方面:

恶意流量检测

  • 检测端口扫描:

 tcp.flags.syn == 1 and tcp.flags.ack == 0

图片

观察源 IP 是否同时访问多个端口。

  • 检测 DNS 隧道:

 dns.qry.name contains "example.com"

检测可疑通信

  • 未知协议:观察使用非标准端口的通信流量。

  • 长时间连接:过滤出持续时间异常长的 TCP 会话。

密码嗅探

  • HTTP 明文密码捕获:过滤 HTTP POST 数据包,查看其中的表单字段:

 http.request.method == "POST"

图片

加密协议分析

Wireshark 支持部分加密协议的解密功能,例如:

  • SSL/TLS 解密:需要获取服务器的私钥并配置 Wireshark 的解密选项。

  • WPA2 解密:需要输入无线网络的 PSK。

流量可视化与报告

Wireshark 提供了一些内置的可视化工具,帮助用户更直观地理解网络流量。

I/O 图表

  • 功能:展示网络流量随时间的变化趋势。

  • 用法:点击菜单 Statistics -> I/O Graph,可以自定义显示的字段和统计方法。

图片

协议层分布

  • 功能:统计捕获流量中不同协议的分布情况。

  • 用法:点击菜单 Statistics -> Protocol Hierarchy

流量对话

  • 功能:分析源和目的地址之间的通信。

  • 用法:点击菜单 Statistics -> Conversations

本文完!🎉🎉🎉

评论