Wireshark安装与入门使用完整指南

一、Wireshark初识介绍

Wireshark是广泛使用的开源网络协议分析器(俗称"抓包工具"),能够捕获和交互式浏览计算机网络中实时传输的数据包,并以极其详细的方式对这些流量进行深入分析。

核心功能:

  • 实时捕获网络数据包
  • 详细的协议解析(支持数千种协议)
  • 灵活的数据包过滤
  • 详尽的统计和分析工具
  • 跨平台支持(Windows、macOS、Linux)

应用场景:

  • 网络故障排除
  • 协议学习与研究
  • 安全分析
  • 软件开发调试
  • 网络性能优化

二、下载与安装

1. 官方下载

官网地址https://www.wireshark.org/

最新版本(2026年4月):

  • Windows:4.4.9版本(约83.21MB)
  • macOS:4.4.9版本
  • Linux:4.4.9版本

2. 系统要求

  • Windows:Windows 7及以上版本
  • macOS:10.12及以上版本
  • Linux:常见发行版(Ubuntu、CentOS等)

3. Windows安装步骤

步骤1:下载安装包
  • 访问官网,选择对应系统版本
  • 64位系统下载:Wireshark-win64-x.x.x.exe
  • 32位系统下载:Wireshark-win32-x.x.x.exe
步骤2:安装过程
  1. 双击安装包,以管理员身份运行
  2. 欢迎界面 → 点击【Next】
  3. 许可协议 → 勾选"I Agree" → 点击【Next】
  4. 选择组件(推荐全选):
    • ✓ Wireshark主程序
    • ✓ TShark(命令行版本)
    • ✓ 插件和扩展
    • ✓ 工具集
    • 点击【Next】
  5. 附加任务
    • ✓ 安装USBPcap(USB抓包支持)
    • ✓ 关联文件类型
    • 点击【Next】
  6. 选择安装位置 → 点击【Next】
  7. 等待安装完成
步骤3:安装Npcap

安装过程中会弹出Npcap安装向导(网络数据包捕获库):

  1. 点击【I Agree】
  2. 关键设置
    • ✓ 支持原始802.11流量(可选)
    • ✓ 在所有接口上使用混杂模式
    • 点击【Install】
  3. 等待Npcap安装完成
步骤4:完成安装
  • 点击【Finish】完成安装
  • 建议重启电脑以确保驱动正常加载

三、入门使用

1. 启动与界面介绍

首次启动

  • 打开Wireshark,进入网卡选择界面
  • 界面显示所有可用网络接口

主界面布局

┌─────────────────────────────────────────┐
│  菜单栏  工具栏  过滤器栏               │
├─────────────────────────────────────────┤
│  数据包列表(时间、源、目的、协议等)   │
├─────────────────────────────────────────┤
│  数据包详情(协议层次结构)             │
├─────────────────────────────────────────┤
│  数据包字节(十六进制/ASCII)           │
└─────────────────────────────────────────┘

2. 基本抓包流程

步骤1:选择网卡
  • WLAN:无线网络接口
  • 以太网:有线网络接口
  • Loopback:本地回环接口(用于抓取本机通信)
  • 双击要抓包的网卡名称
步骤2:开始抓包
  • 点击蓝色鲨鱼鳍图标(或按Ctrl+E)
  • 数据包开始实时显示在列表中
  • 颜色标识
    • 绿色:TCP协议
    • 蓝色:UDP协议
    • 黑色:DNS协议
    • 红色:错误或异常包
步骤3:停止抓包
  • 点击红色方块图标(或按Ctrl+E)
  • 抓包停止,数据包保留在列表中
步骤4:保存数据包
  • 文件 → 保存(或按Ctrl+S)
  • 选择.pcapng格式(推荐)
  • 设置文件名和保存位置

四、过滤器使用(核心功能)

1. 两种过滤器类型

过滤器类型 作用时机 位置 语法
抓包过滤器 抓包前 捕获选项 BPF语法
显示过滤器 抓包后 顶部过滤栏 Wireshark语法

2. 抓包过滤器(Capture Filter)

设置方法

  • 捕获 → 选项
  • 在"Capture Filter"输入框中设置

常用语法示例

# 按协议过滤
tcp          # 只抓TCP包
udp          # 只抓UDP包
icmp         # 只抓ICMP包

# 按端口过滤
port 80      # HTTP流量
port 443     # HTTPS流量
port 53      # DNS流量

# 按IP地址过滤
host 192.168.1.1      # 源或目的为该IP
src host 192.168.1.1  # 源IP为该地址
dst host 192.168.1.1  # 目的IP为该地址

# 组合过滤
port 80 or port 443   # HTTP或HTTPS
host 192.168.1.1 and port 80  # 该IP的HTTP流量

3. 显示过滤器(Display Filter)

使用方法

  • 在顶部过滤栏直接输入
  • 按回车应用过滤

常用语法示例

# 按协议过滤
tcp          # 显示TCP包
udp          # 显示UDP包
http         # 显示HTTP包
dns          # 显示DNS包

# 按IP地址过滤
ip.addr == 192.168.1.1        # 源或目的包含该IP
ip.src == 192.168.1.1         # 源IP为该地址
ip.dst == 192.168.1.1         # 目的IP为该地址

# 按端口过滤
tcp.port == 80                # TCP端口80
udp.port == 53                # UDP端口53

# 按内容过滤
http.request.method == "GET"  # HTTP GET请求
http.response.code == 200     # HTTP 200响应
dns.qry.name contains "baidu" # DNS查询包含"baidu"

# 组合过滤
http && ip.addr == 192.168.1.1  # 该IP的HTTP流量
(tcp.port == 80 || tcp.port == 443) && ip.addr == 192.168.1.1

4. 过滤器技巧

  • 自动补全:输入时按Ctrl+Space
  • 历史记录:点击过滤栏下拉箭头查看历史
  • 保存过滤器:右键过滤器 → "保存过滤器"
  • 清除过滤:点击过滤栏右侧的"×"按钮

五、数据分析实战

1. 分析HTTP请求

1. 设置过滤器:http
2. 找到HTTP请求包(Method: GET/POST)
3. 展开详情:
   - Frame:帧信息
   - Ethernet:以太网层
   - IP:网络层
   - TCP:传输层
   - HTTP:应用层
4. 查看请求头、响应头、状态码

2. 分析TCP三次握手

1. 设置过滤器:tcp.flags.syn == 1 || tcp.flags.ack == 1
2. 观察三个包:
   - SYN(客户端→服务器)
   - SYN-ACK(服务器→客户端)
   - ACK(客户端→服务器)
3. 查看序列号、确认号

3. 分析DNS查询

1. 设置过滤器:dns
2. 找到DNS查询包(Query)
3. 查看查询域名、查询类型
4. 找到DNS响应包(Response)
5. 查看响应IP地址

六、实用技巧与注意事项

1. 性能优化

  • 限制抓包大小:捕获选项 → "Stop capture after..." 设置包数量
  • 设置缓冲区:捕获选项 → "Buffer size" 调整为合适大小
  • 使用抓包过滤器:减少不必要的数据包捕获

2. 常见问题解决

  • 无法抓包:检查Npcap是否安装成功,重启Wireshark
  • 权限不足:以管理员身份运行
  • 网卡不显示:检查网卡驱动,重启网络服务

七、学习资源推荐

  1. 官方文档https://www.wireshark.org/docs/
  2. 实践练习
    • 访问网站时抓包分析HTTP/HTTPS
    • 分析本地网络通信
    • 配合eNSP实践学习常见协议(TCP、UDP、DNS、HTTP)

通过以上指南,您可以快速掌握Wireshark的基本安装和使用方法。建议从简单的HTTP抓包开始练习,逐步深入学习更复杂的网络协议分析!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐