Wireshark 介绍
Wireshark 是一款开源的 网络协议分析工具(Packet Sniffer),用于捕获和分析网络数据包。它支持多种协议解析,适用于网络调试、安全分析、网络教学等场景。
官网:https://www.wireshark.org/
特点:
✔ 跨平台(Windows/macOS/Linux)
✔ 支持 2000+ 种协议解析
✔ 图形化界面 + 命令行工具(tshark)
✔ 可实时抓包或分析离线抓包文件(.pcap)
📌 Wireshark 基本使用
- 安装 Wireshark
Windows:官网下载安装包,安装时勾选 WinPcap/Npcap(抓包驱动)。
Linux(Debian/Ubuntu):
bash
sudo apt install wireshark
sudo usermod -aG wireshark $USER # 让当前用户有权限抓包
macOS:通过 brew 安装:
bash
brew install wireshark
2. 选择网卡 & 开始抓包
启动 Wireshark,选择要监听的网络接口(如 eth0、Wi-Fi)。
https://www.wireshark.org/docs/wsug_html/_images/wsug_graphics/capture_interfaces.png
点击 “Start” 开始抓包。
停止抓包:点击红色方块按钮。
- 过滤数据包
Wireshark 支持强大的过滤语法,快速定位关键流量:
只显示 HTTP 流量:
text
http
过滤特定 IP:
text
ip.src == 192.168.1.1 || ip.dst == 192.168.1.1
过滤 TCP 端口(如 443):
text
tcp.port == 443
组合条件:
text
http and ip.src == 192.168.1.100
4. 分析数据包
点击数据包:查看协议层级(如 Ethernet → IP → TCP → HTTP)。
Follow TCP Stream(右键数据包 → Follow → TCP Stream):查看完整会话(如 HTTP 请求/响应)。
统计工具:
Statistics → Protocol Hierarchy:流量协议分布。
Statistics → Conversations:查看通信对端(IP/端口)。
- 保存 & 导出数据
保存抓包文件:
File → Save As…(格式:.pcap 或 .pcapng)。
导出特定数据:
右键数据包 → Export Packet Bytes(可提取文件、图片等)。
🔧 高级功能
命令行抓包(tshark)
bash
tshark -i eth0 -f “tcp port 80” -w output.pcap # 抓取 HTTP 流量
tshark -r input.pcap -Y “http” # 读取 pcap 文件并过滤解密 HTTPS 流量
需配置浏览器或服务器导出的 SSL/TLS 密钥:
Edit → Preferences → Protocols → TLS → (Pre)-Master-Secret log filename自定义协议解析
使用 Lua 脚本扩展协议解析:
Tools → Lua Console
示例脚本目录:/usr/share/wireshark/plugins/
⚠️ 注意事项
合法使用:未经授权抓取他人网络流量可能违法!
性能影响:高速网络下抓包可能导致丢包,可调整缓冲大小。
隐私保护:避免捕获敏感信息(如密码),抓包后及时清理。
📚 学习资源
官方文档:Wireshark User’s Guide
书籍推荐:
《Wireshark网络分析实战》
《Wireshark抓包艺术》
💡 总结
基础流程:选择网卡 → 抓包 → 过滤 → 分析。
高级技巧:命令行抓包、HTTPS 解密、自定义协议。
适用场景:网络故障排查、安全分析、协议学习。