
这个 mDNS(Multicast DNS)数据包是一个 查询响应,展示了某设备对 AirPlay 和 RAOP 服务的扫描和应答。我们逐项解释这个报文结构中每个字段的含义和作用。
📌 顶层结构
yaml
yaml
复制编辑
Multicast Domain Name System (query)
Transaction ID: 0x0000
Flags: 0x0000 Standard query
Questions: 3
Answer RRs: 29
Authority RRs: 0
Additional RRs: 0
字段说明:
- Transaction ID :
0x0000
多用于匹配 query 和 response。在 mDNS 中,这个值一般是 0,因为它使用 224.0.0.251 多播地址,不依赖 Transaction ID 来区分会话。 - Flags :
0x0000
表示这是一个标准查询(Standard Query)。 - Questions: 3
表示询问了三个服务类型(见下面的 Queries)。 - Answer RRs: 29
应答部分共有 29 个 Resource Record(资源记录),即找到了 29 个符合条件的服务实例。 - Authority RRs: 0 , Additional RRs: 0
本次 mDNS 响应没有包含授权记录和附加信息记录。
🔍 Queries(查询部分)
kotlin
kotlin
复制编辑
_queries:
_airplay-bds._tcp.local: type PTR, class IN, "QU" question
_airplay._tcp.local: type PTR, class IN, "QU" question
_raop._tcp.local: type PTR, class IN, "QU" question
含义:
- 类型 type PTR:表示这是一个"指针记录"(Pointer Record),用于查询某一服务类型下有哪些具体实例。
- class IN:表示 Internet 网络类别。
- "QU" :表示是"询问"(QU = unicast query flag in mDNS)。
即:发送端(如 iPhone)通过 mDNS 查询以下服务有哪些实例:
_airplay-bds._tcp.local
-- 一种带宽发现的 AirPlay 服务类型(较少见)_airplay._tcp.local
-- 标准 AirPlay 服务_raop._tcp.local
-- 音频播放相关服务(Remote Audio Output Protocol)
📦 Answers(应答部分)
总共有 29 条 PTR 类型的记录,可拆成 2 大类:
- _airplay._tcp.local 的服务实例(普通 AirPlay)
- _raop._tcp.local 的服务实例(AirPlay 音频)
1. _airplay._tcp.local
PTR 回答
这些是服务名 -> 实例名 的映射。每一条说明一个设备正在广播 AirPlay 功能。
例:
bash
pgsql
复制编辑
_airplay._tcp.local: type PTR, class IN, UGREEN-6E81E9._airplay._tcp.local
含义:
-
_airplay._tcp.local
是服务类型(你在查询它) -
UGREEN-6E81E9._airplay._tcp.local
是某台设备的服务实例名- UGREEN-6E81E9 是设备名(UGREEN 品牌的投屏盒等)
- 后缀
_airplay._tcp.local
表示这个设备支持 AirPlay 协议
其他类似项:
tranScreen-35091
客厅电视b5D_D3
智能投屏8810
50智慧屏6E
2. _raop._tcp.local
PTR 回答
RAOP 是 AirPlay 的音频部分,PTR 的左边是类型,右边是设备 + 标识。
例:
bash
pgsql
复制编辑
_raop._tcp.local: type PTR, class IN, E076D0C7D222@UGREEN-6E81E9._raop._tcp.local
含义:
E076D0C7D222
是设备的 MAC 地址(或变种)@UGREEN-6E81E9
表示这是对应UGREEN-6E81E9
设备的 RAOP 服务实例
这些字段的组合规则如下:
xml
php-template
复制编辑
<MAC地址>@<设备名称>._raop._tcp.local
表示该设备正在广播支持 AirPlay 音频服务。
其他类似项:
5a14e5d64847@WU-8845
3C4E56C6BD38@客厅电视b5D_D3
cd59c7d6f0e0@智能投屏8810
861f0b851c44@50智慧屏6E
✅ 总结
字段 | 说明 |
---|---|
_airplay._tcp.local |
表示 AirPlay 视频服务 |
_raop._tcp.local |
表示 AirPlay 音频服务 |
PTR 记录 | 查询的服务类型到实际服务实例的映射 |
实例名 | 一般形如 设备名._airplay._tcp.local |
RAOP 实例名 | 通常是 <MAC>@设备名._raop._tcp.local |
多个相同设备名 | 如 (2) 表示局域网中出现了重复的设备名 |