Wireshark 是开源网络协议分析器,可实时抓取网络数据包并深度解析数百种协议,是网络工程师与运维人员定位网络问题的最强工具。
核心优点
- 协议解析全面:HTTP、TCP、DNS、TLS 等数百种协议自动解码。
- 图形化交互:逐包查看、着色规则、流追踪让排障直观高效。
- 强大过滤语法:BPF 过滤器 + 显示过滤器组合精准定位报文。
- 命令行版 tshark:可在服务器上无界面抓包分析。
- 导出能力:支持导出对象(如 HTTP 传输的文件)与多种格式。
快速上手
# 服务器上用 tshark 抓包(无图形界面)
tshark -i eth0 -f "tcp port 80" -c 1000 -w /tmp/http.pcap
# 查看 HTTP 请求行与 Host
tshark -r /tmp/http.pcap -Y "http.request" -T fields -e http.request.method -e http.host
# 追踪 TCP 流
tshark -r /tmp/http.pcap -q -z follow,tcp,ascii,0
常用显示过滤器
ip.addr == 192.168.1.10 # 只看某 IP
tcp.port == 443 # 只看某端口
http.response.code >= 500 # 只看 5xx 响应
dns.qry.name contains "54iter" # 按域名过滤 DNS 查询
适用场景
应用响应慢定位(重传、延迟)、接口联调抓包、安全事件取证、网络协议学习。