sql-net 是什么
sql-net 是 IANA 登记的 SQL-NET 服务,TCP 与 UDP 同名,登记人为 Martin Picard。它与 66(sql*net,Oracle SQL*NET 的注册名)、118(sqlserv)、156(sqlsrv)一起,构成数据库网络服务尚未标准化的年代留下的一批注册。这些名称相近的条目反映的是各家厂商各自为政的时期。今天数据库端口高度固定,150 号没有对应实现。
基本信息
| 服务名 | sql-net(SQL-NET) |
|---|---|
| 端口号 | 150(TCP/UDP 同名登记) |
| IANA 登记说明 | SQL-NET |
| 登记人 | Martin Picard |
| 同批条目 | sql*net(66)、sqlserv(118)、sqlsrv(156) |
| 现状 | 无主流实现 |
| 现代对应 | 各数据库的固定默认端口 |
| 处置口径 | 按未知服务核实进程与业务归属 |
现网出现时怎么处置
- 不要按名字归类:sql 前缀的注册名有四个,必须按具体端口号定位条目
- 先确认是否有数据库:主机装了哪种数据库,直接决定该端口是否有可能被其客户端使用
- 查客户端配置:老客户端连接串里可能保留历史端口,实际服务端未必监听在同一号上
- 看连接能否建立:端口开放但没有服务响应,说明是残留监听或防火墙误报
- 记录并闭环:确认结果写入台账,避免下次扫描又从头排查
定位占用进程
定位占用进程
ss -lntup 'sport = :150' # 列出 150 的 TCP/UDP 监听进程
sudo lsof -i :150 # 进程、用户与文件
ss -tnp '( sport = :150 or dport = :150 )' # 双向连接
nc -zv 127.0.0.1 150 # 本机连通性探测(快速确认是否有服务响应)
netstat -ano | findstr :150 # Windows:端口与 PID
tasklist /FI "PID eq 1234" # Windows:PID 反查进程SQL 类注册名对照
| 端口 | 服务名 | 备注 |
|---|---|---|
| 66 | sql*net | Oracle SQL*NET 的注册名 |
| 118 | sqlserv | SQL Services 历史注册 |
| 150 | sql-net | 本条目,无实现 |
| 156 | sqlsrv | SQL Service 历史注册 |
名称里带 sql 的注册条目容易互相混淆,也容易被误当成 Microsoft SQL Server。后者的默认端口是 1433,另有 UDP 1434 用于实例探查,与这一批历史注册没有关系。
扫描工具会依据本地字典给历史注册号自动贴标签,看起来像识别出了业务,实际只是名称匹配。把未经主机侧确认的扫描结果直接写进资产台账,会让后续变更与处置都建立在错误前提上。