sntp-heartbeat 与 580 端口
580 的登记名是 sntp-heartbeat,IANA 说明为 SNTP HEARTBEAT,登记人 Louis Mamakos。SNTP(简单网络时间协议)是 NTP 的简化用法,通常同样运行在 UDP 123 上;heartbeat 指的是把时间戳随心跳消息一起发送的变体,用于在长连接或周期性通信中同时完成存活检测与校时。该登记没有公开实现。
基本信息
| 服务名 | sntp-heartbeat(SNTP Heartbeat) |
|---|---|
| 传输层 | TCP 与 UDP 各占一条登记记录 |
| 号码区间 | 0-1023 系统端口 |
| 登记联系人 | Louis Mamakos |
| 技术背景 | SNTP 心跳变体 |
| 实际时间端口 | SNTP/NTP 常用 UDP 123 |
| 公开实现 | 无资料 |
什么情况下会遇到
- 物联网或专用设备把校时与心跳合并到一条消息,抓包出现类似组合特征
- 时间同步排查时发现设备并未走 123 端口,需要判断协议变体
- 安全评估要求说明设备与平台之间的心跳机制
- 设备离线告警与时间漂移同时出现,怀疑心跳与校时耦合导致
- 网络策略梳理时确认是否需要在非标准端口放行时间类流量
排查判定对照
| 观察到的情况 | 倾向判断 | 处理动作 |
|---|---|---|
| 设备按固定间隔发送带时间戳的消息 | 心跳与校时耦合 | 确认对端归属,评估是否需要独立校时 |
| 时间漂移但心跳正常 | 校时未生效 | 核查设备实际时间源与偏差 |
| 心跳到公网地址 | 需重点核实 | 确认平台归属与数据内容 |
| 端口开放但无流量 | 残留服务 | 确认后停用 |
| 流量走 UDP 123 而非 580 | 标准端口部署 | 按标准端口做策略,忽略登记名 |
四步定位
四步定位
sudo ss -lntup | grep -E ':(580|123)\b' # 登记端口与标准端口一起看
sudo tcpdump -ni any port 580 -c 10 # 抽样看消息结构
sudo tcpdump -ni any port 123 -c 10 # 标准时间流量对照
chronyc tracking 2>/dev/null # 本机时间源状态
sudo grep -rnw 580 /etc /opt 2>/dev/null # 配置引用
sudo ss -tnp 'sport = :580 or dport = :580' # 会话方向心跳与校时耦合是嵌入式设备的常见设计:一条消息既表示存活又携带时间。好处是流量小,代价是一旦心跳链路正常但时间逻辑有缺陷,时间漂移不会有独立告警。
排查时间问题时不要只看服务是否在跑,要同时看偏差:chronyc tracking 与 timedatectl status 能给出当前偏移与源状态,二者结合才能判断校时是否真正生效。
如果设备实际使用标准时间端口,策略就应当按标准端口设计,登记名仅作为检索线索。混用登记名做策略,往往会导致规则与实际流量不匹配。