WireShark 条件过滤 和 查看传输速率

1 阅读3分钟

[模式: 常规], [AI 模型:GPT-5.5]

Wireshark 查看 tcpdump 抓包时,常用过滤条件如下。

IP 过滤

看某个 IP 相关所有包:

ip.addr == 10.163.204.69

只看源 IP:

ip.src == 10.163.204.69

只看目的 IP:

ip.dst == 10.163.204.173

看两台设备之间通信:

ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173

只看一个方向:

ip.src == 10.163.204.69 && ip.dst == 10.163.204.173

TCP / UDP 过滤

只看 TCP:

tcp

只看 UDP:

udp

指定 TCP 端口:

tcp.port == 10178

只看源端口:

tcp.srcport == 10178

只看目的端口:

tcp.dstport == 54656

指定 UDP 端口:

udp.port == 59576

TCP 流过滤

某条 TCP 流:

tcp.stream == 0

查看方式:

右键某个 TCP 包 → Follow → TCP Stream

Wireshark 会自动生成 tcp.stream == N

HTTP / WebSocket 过滤

HTTP:

http

HTTP 请求:

http.request

HTTP 响应:

http.response

指定 Host:

http.host contains "example.com"

WebSocket:

websocket

WebSocket 文本帧:

websocket.payload

DNS / ARP / ICMP

DNS:

dns

ARP:

arp

ICMP / ping:

icmp

mDNS:

mdns

Bonjour / 本地发现常见:

dns || mdns || arp

TCP 异常排查

重传:

tcp.analysis.retransmission

快速重传:

tcp.analysis.fast_retransmission

重复 ACK:

tcp.analysis.duplicate_ack

乱序:

tcp.analysis.out_of_order

丢包相关综合:

tcp.analysis.retransmission || tcp.analysis.fast_retransmission || tcp.analysis.lost_segment

RST 断开:

tcp.flags.reset == 1

SYN 建连:

tcp.flags.syn == 1

FIN 关闭:

tcp.flags.fin == 1

互传场景常用组合

两端文件传输 TCP:

ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173 && tcp

只看发送方向:

ip.src == 10.163.204.69 && ip.dst == 10.163.204.173 && tcp

只看某条端口流:

ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173 && tcp.port == 10178

看异常:

ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173 &&
(tcp.analysis.retransmission || tcp.analysis.duplicate_ack || tcp.flags.reset == 1)

看 UDP 测速:

udp && ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173

看局域网发现 / ARP:

arp || mdns || dns

内容过滤

包内容包含某字符串:

frame contains "WLANBANDWIDTH"

包含某十六进制:

frame contains 57:4c:41:4e

HTTP 内容包含:

http contains "download"

时间过滤

某时间之后:

frame.time >= "2026-06-01 19:00:00"

某时间范围:

frame.time >= "2026-06-01 19:00:00" &&
frame.time <= "2026-06-01 19:05:00"

常用速率分析过滤

Statistics → I/O Graphs 里填:

tcp.stream == 0

或:

ip.src == 10.163.204.69 && ip.dst == 10.163.204.173 && tcp

Y Axis 选:

Bits / Tick

就能看指定流/方向的速率曲线。

[模式: 常规], [AI 模型:GPT-5.5]

Wireshark 查看 tcpdump 传输速率,最常用看这几处:

方法 1:Conversation 统计总速率

  1. 打开 .pcap/.pcapng
  2. 菜单:StatisticsConversations
  3. 选择 TCP 页签
  4. 找到目标连接,比如:
    10.x.x.x:端口 -> 10.x.x.x:端口
    
  5. 看这些列:
    • Bytes A → B
    • Bytes B → A
    • Duration
    • Bits/s A → B
    • Bits/s B → A

如果没有 Bits/s 列,可以右键列头启用,或用:

速率 Mbps = Bytes × 8 / Duration / 1000 / 1000

方法 2:I/O Graph 看瞬时速率

  1. 菜单:StatisticsI/O Graphs
  2. Display filter 填目标流,例如:
    ip.addr == 10.163.204.69 && ip.addr == 10.163.204.173 && tcp
    
  3. Y Axis 选择:
    Bits
    
    Bytes
  4. Tick interval 选:
    100 ms / 1 sec
    
  5. 图上就是实时吞吐趋势。

如果只想看某个方向:

ip.src == 10.163.204.69 && ip.dst == 10.163.204.173 && tcp

方法 3:Follow TCP Stream + Statistics

  1. 找到目标 TCP 包
  2. 右键:FollowTCP Stream
  3. 回到包列表后,Wireshark 会自动加过滤器:
    tcp.stream == N
    
  4. 再打开:
    Statistics → Conversations
    
    I/O Graphs

这样只看该 TCP 流的速率。

方法 4:命令行 tshark 计算

如果有 tshark

tshark -r file.pcap -q -z conv,tcp

会输出每条 TCP conversation 的帧数、字节数、持续时间和速率。

注意

  • 看文件传输速率,优先看 payload 方向,不是双向总和。
  • Bytes 包含 TCP/IP 相关统计口径,和 App 层文件大小会略有差异。
  • 若有重传,抓包速率可能高于真实有效文件速率。
  • 瞬时速率看 I/O Graphs,整体平均速率看 Conversations