13 是什么
13 号端口对应 daytime 服务(RFC 867):客户端连接后,服务端返回一行包含日期时间的文本,早期用来做简单的可达性与时间参考。它与 7 号回显、9 号丢弃同属一批早期网络诊断服务,如今几乎都默认关闭。
两个常见误解
一是把它当校时手段,实际上它不校正本机时钟,只返回一行文本;二是把它当成无害的测试服务保留在线,而它同样属于信息泄露面,并且没有任何访问控制,不需要认证即可读取。
基本信息
| 服务 | daytime(RFC 867) |
|---|---|
| 协议 | TCP 与 UDP 13 |
| 用途 | 返回一行日期时间文本 |
| 现状 | 多数现代主机默认关闭 |
| 安全等级 | 生产环境不应开放 |
典型使用场景
- 理解早期网络服务的功能边界
- 诊断场景中确认目标主机的可达性
- 安全核查时确认是否开启历史服务
- 梳理老系统资料时核对端口注册信息
- 教学场景对比现代时间同步方案与早期做法
读取对端时间(若开放)
读取对端时间(若开放)
nc -w2 time.nist.gov 13 # 读取一行时间文本
ss -lntp | grep ':13 ' # 本机监听确认现代时间同步替代
现代时间同步替代
timedatectl status | head -5 # 查看时间与同步状态
chronyc sources -v # 查看时间源(使用 chrony 时)
# 生产环境统一使用时间同步服务,而不是依赖该端口同期登记的小端口
| 服务 | 端口 | 用途 |
|---|---|---|
| daytime | 13 | 返回时间文本 |
| echo | 7 | 原样返回,验证回环 |
| discard | 9 | 丢弃输入,单向测试 |
任何生产系统都不应依赖该服务校时:它既不提供精度保证,也没有认证能力。现代环境应统一使用成熟的时间同步服务,并把时钟偏差纳入监控。
从合规角度看
无认证的可读服务本身就是一个问题:它不需要任何凭据即可返回主机信息,属于可以被随意探测的对象。基线检查通常会把这类服务直接列为应关闭项,而不是仅作建议,处置时也应给出明确的关闭时间点。
关闭前先确认没有自动化脚本依赖它:老系统里偶有健康检查脚本调用该服务判断可达性,直接关闭会导致脚本报错,替换为带认证的探测方式更稳妥。