tshark

tshark 命令行抓包分析

补充说明

tshark 是 Wireshark 的命令行版本,支持实时抓包、读取 pcap、显示过滤、字段提取和统计。适合在没有图形界面的服务器上分析网络问题。

常用能力:按接口/主机/端口抓包、BPF 捕获过滤、Wireshark 显示过滤、跟踪 TCP 流、TLS 握手分析和 IO 统计。

常用示例

列出接口:

tshark -D

抓取指定接口:

tshark -i eth0 -f 'tcp port 443' -c 100

读取 pcap 并过滤:

tshark -r capture.pcap -Y 'http.request.method == "GET"'

只看关键字段:

tshark -r capture.pcap -T fields \
  -e frame.time -e ip.src -e ip.dst \
  -e tcp.srcport -e tcp.dstport -e http.host

跟踪 TCP 流:

tshark -r capture.pcap -q -z follow,tcp,ascii,0

统计会话:

tshark -r capture.pcap -q -z conv,tcp
tshark -r capture.pcap -q -z io,stat,1

分析 DNS:

tshark -r capture.pcap -Y dns -T fields -e dns.qry.name -e dns.a

易错点与排错