Wireshark详解
Wireshark使用详解
- 1.Wireshark 简介
- 2.下载与安装
- 1. 下载地址
- 2. 安装步骤(以 Windows 为例)
- 3. 界面与核心功能
- 1. 主界面布局
- 2. 常用菜单功能
- 4. 过滤功能详解
- 1. 过滤类型
- 2. 常用过滤命令
- 5. 过滤命令与网络结构对应
- 6. 使用注意事项
- 7. 案例分析 TCP 三次握手
- 1. 实验目标
- 2. 操作步骤
- 3. 预期结果
- 8. 扩展学习
1.Wireshark 简介
Wireshark 是一款开源的网络协议分析工具,支持实时抓包、协议解析、流量统计等功能,广泛用于网络故障排查、安全分析、协议学习等领域。
2.下载与安装
1. 下载地址
- 官网下载:访问 Wireshark 官网,选择对应操作系统的安装包:
- Windows:
.exe
安装程序(推荐稳定版 Stable Release)。 - macOS:
.dmg
镜像文件。 - Linux:通过包管理器安装(如
apt install wireshark
)。
- Windows:
2. 安装步骤(以 Windows 为例)
- 双击安装包,按向导完成安装。
- 勾选 Install WinPcap/Npcap(必须安装,用于捕获网络接口数据)。
- 安装完成后,以管理员权限启动 Wireshark(否则无法抓包)。
3. 界面与核心功能
1. 主界面布局
区域 | 功能说明 |
---|---|
菜单栏 | 包含文件操作、捕获控制、分析工具等核心功能。 |
工具栏 | 快速访问开始/停止捕获、过滤表达式输入等。 |
接口列表 | 显示所有可用的网络接口及其实时流量统计。 |
捕获数据面板 | 显示捕获的数据包列表,包含时间、源/目的地址、协议、长度等基本信息。 |
协议详情面板 | 展开单个数据包,逐层解析协议头部和载荷内容(如 Ethernet → IP → TCP → HTTP)。 |
字节流面板 | 以十六进制和 ASCII 格式显示原始字节流。 |
2. 常用菜单功能
- File:打开/保存捕获文件(
.pcapng
格式)、导出特定数据包。 - Edit:查找数据包、标记关键帧。
- View:调整显示布局、着色规则(按协议或过滤条件高亮)。
- Capture:选择接口、设置捕获过滤器。
- Analyze:跟踪 TCP 流、启用协议解析统计。
4. 过滤功能详解
1. 过滤类型
类型 | 作用阶段 | 语法示例 | 应用场景 |
---|---|---|---|
捕获过滤器 | 抓包前 | tcp port 80 | 减少捕获数据量,聚焦目标流量。 |
显示过滤器 | 抓包后分析 | http.request.method == "GET" | 快速定位特定协议或行为。 |
2. 常用过滤命令
协议过滤
tcp # 仅显示 TCP 协议数据包
udp # 仅显示 UDP 协议数据包
http # 过滤 HTTP 请求/响应
dns # 过滤 DNS 查询与响应
IP 与端口过滤
ip.src == 192.168.1.100 # 源 IP 地址
ip.dst == 10.0.0.1 # 目的 IP 地址
tcp.port == 443 # TCP 端口 443(HTTPS)
udp.port range 1000-2000 # UDP 端口范围
逻辑运算符
&& # 逻辑与(如 `tcp && ip.addr == 192.168.1.1`)
|| # 逻辑或(如 `http || dns`)
! # 逻辑非(如 `!arp`)
高级过滤
tcp.flags.syn == 1 # 过滤 TCP SYN 标志包
http.request.method == "POST" # HTTP POST 请求
frame contains "password" # 数据包内容包含关键字
5. 过滤命令与网络结构对应
过滤条件 | 对应网络层 | 应用案例 |
---|---|---|
eth.addr | 数据链路层 | 分析 MAC 地址通信问题。 |
ip.addr / ip.ttl | 网络层(IP) | 定位 IP 地址冲突或 TTL 超时。 |
tcp.port / udp.port | 传输层(TCP/UDP) | 排查端口占用或防火墙拦截。 |
http / dns | 应用层 | 分析 Web 请求或域名解析异常。 |
6. 使用注意事项
- 权限问题:需以管理员/root 权限运行,否则无法捕获数据。
- 性能影响:在高流量场景下,实时抓包可能导致 CPU/内存占用过高。
- 隐私保护:避免捕获敏感信息(如密码),抓包后及时清理文件。
- 过滤优化:优先使用捕获过滤器减少数据量,再结合显示过滤器分析。
- 文件保存:定期保存
.pcapng
文件,防止意外关闭导致数据丢失。
7. 案例分析 TCP 三次握手
1. 实验目标
验证 TCP 连接的建立过程(SYN → SYN-ACK → ACK)。
2. 操作步骤
-
启动捕获:
- 选择接口(如以太网或 Wi-Fi),点击工具栏 鲨鱼鳍图标 开始抓包。
- 设置显示过滤器:
tcp && ip.addr == [目标服务器IP]
(如访问百度:tcp && ip.addr == 180.101.49.12
)。
-
触发通信:
- 在浏览器访问目标网站(如
www.baidu.com
),生成 TCP 连接请求。
- 在浏览器访问目标网站(如
-
分析数据包:
- 停止捕获,在数据包列表中查找 三次握手 过程:
- SYN(Flags: SYN):客户端发起连接请求。
- SYN-ACK(Flags: SYN, ACK):服务器响应确认。
- ACK(Flags: ACK):客户端确认建立连接。
- 右键点击任一握手包,选择 Follow → TCP Stream,查看完整会话。
- 停止捕获,在数据包列表中查找 三次握手 过程:
-
关键字段解读:
- Sequence Number:初始序列号(ISN),每次握手递增。
- Acknowledgment Number:确认对方序列号 + 1。
- Flags:SYN、ACK 标志位的变化。
3. 预期结果
成功捕获三个连续数据包,标志位依次为 SYN → SYN-ACK → ACK,序列号符合逻辑递增,证明 TCP 连接正常建立。
8. 扩展学习
- 高级协议解析:通过 Analyze → Decode As 自定义协议解析规则。
- 统计工具:使用 Statistics → Protocol Hierarchy 查看流量占比。
- 自动化脚本:结合
tshark
(命令行版 Wireshark)批量分析数据。