You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用tcpdump过滤QUIC Client Hello数据包的方法

捕获QUIC协议中TLS Client Hello的tcpdump过滤规则

要捕获QUIC协议中的TLS Client Hello消息,需要结合QUIC基于UDP的特性及其包头结构构建过滤规则,以下是两种可行实现方式:

基于字节偏移的通用规则(兼容所有tcpdump版本)

QUIC存在长、短两种包头格式,需分别匹配:

udp and (
    # 匹配QUIC长包头的Client Hello
    (udp[0] & 0xc0) = 0xc0 and udp[5] = 0x16 and udp[10] = 0x01
    or
    # 匹配QUIC短包头的Client Hello
    (udp[0] & 0xc0) = 0x40 and udp[1] = 0x16 and udp[6] = 0x01
)

规则说明:

  • udp:先过滤所有UDP数据包(QUIC基于UDP传输)
  • 长包头匹配逻辑:
    • (udp[0] & 0xc0) = 0xc0:QUIC长包头前两位固定为11,通过位运算确认包头类型
    • udp[5] = 0x16:长包头共5字节,后续第一个字节是TLS记录层类型,0x16代表握手记录
    • udp[10] = 0x01:TLS握手记录头部占5字节(类型1字节+版本2字节+长度2字节),后续第一个字节为握手消息类型,0x01对应Client Hello
  • 短包头匹配逻辑:
    • (udp[0] & 0xc0) = 0x40:QUIC短包头前两位固定为01,通过位运算确认包头类型
    • udp[1] = 0x16:短包头仅1字节,后续第一个字节是TLS记录层类型
    • udp[6] = 0x01:定位到TLS握手消息类型的位置,确认是Client Hello

简化规则(仅兼容支持QUIC解析的新版tcpdump)

如果你的tcpdump版本支持QUIC和TLS协议解析,可直接使用更直观的规则:

udp and quic and tls.handshake.type == 1

内容的提问来源于stack exchange,提问作者Geeson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 10:43:18