首页/网络/常用端口速查/590 tns-cml 注册项
500-599 系统端口99 条

590 tns-cml 注册项

tns-cml(TNS CML):IANA 注册名,无 RFC 说明与公开实现。

常用端口速查网络更新于 2026-10-13

tns-cml 是什么

tns-cml 是 IANA 早期登记的服务名,登记说明写作 TNS CML,注册人为 Jerome Albin,登记表里没有附带 RFC 或任何协议实现说明。也就是说 590 号端口只是被一个名字占住了位置,具体跑什么协议、报文长什么样,注册表并不回答。590 属于系统端口区间(0-1023),按 RFC 6335 的口径,这一段只由 IETF Review 或 IESG Approval 分配。需要特别注意:名字里的 TNS 与 Oracle 数据库的 TNS 监听(默认 1521)没有任何从属关系,看到 TNS 三个字母就按 Oracle 排查是常见的误判路径。

基本信息

服务名tns-cml
IANA 登记说明TNS CML
协议TCP 与 UDP(分别登记)
登记IANA 早期登记,无 RFC 引用
端口区间系统端口 500-599
登记人Jerome Albin

典型使用场景

  • 资产测绘命中 590:核实是真实监听还是扫描结果里的假阳性
  • 日志里出现 590 的连接失败记录:判断是探测噪音还是业务重试
  • 排查 Oracle 相关问题时:明确 590 不是 Oracle 监听端口,避免排查方向跑偏
  • 整理防火墙白名单:对无实现的登记名默认不放行
  • 做端口对照表复核:确认 590 的登记说明是 TNS CML,而不是被误抄成别的服务

定位占用进程

定位占用进程
ss -lntup 'sport = :590'                    # 列出监听 590 的进程(TCP 与 UDP)
sudo lsof -i :590                           # 反查持有该端口的进程与用户
grep -w 590 /etc/services                   # 本地是否登记了这个名字
sudo netstat -plan | grep ':590 '           # 老系统上没有 ss 时用这个
# 端口占用来自容器时:docker ps --format '{{.Names}} {{.Ports}}' | grep 590

排查判断要点

现象含义处置
590 在 LISTEN 且父进程是本机服务有真实业务或自研程序占用确认归属后纳入资产台账,限制来源 IP
590 只有出站 SYN 无应答对端在扫描或目标不可达按扫描噪音处理,不必逐条告警
590 上出现大量短连接典型的探测或爆破特征结合源 IP 聚合统计,必要时封禁段
如果排查对象是 VNC 远程桌面,请盯 5900 而不是 590;VNC 的显示号 N 对应端口 5900+N,这和 IANA 登记在 590 上的 tns-cml 是两码事。
登记信息只能证明「名字被占用过」,不能证明该端口正在被使用,也不能作为放行或封禁的唯一依据;判断必须落到本机进程或流量特征上。

易错点

  • 凭名字推断协议:tns-cml 里的 TNS 与 Oracle TNS(1521)无关,按错误方向排查会把时间全花在数据库上
  • 把 590 与 VNC 的 5900 混为一谈,导致远程桌面排障看错端口
  • 只靠端口对照表放行策略:登记名无实现时,放行等于给不明程序留门
  • 在容器环境里用宿主机的 ss 查不到监听:端口实际绑在容器网络命名空间内,需要进容器或用 docker ps 核对端口映射

数据来源与参考

  • IANA Service Name and Transport Protocol Port Number Registry

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌