sqlserv 是什么
sqlserv 是 IANA 登记的 SQL Services 服务,TCP 与 UDP 同名,登记人为 Larry Barnes,属于各大数据库厂商尚未确立私有默认端口之前的那批注册。它没有对应任何主流数据库产品。今天数据库的网络端口早已高度标准化:MySQL 用 3306,PostgreSQL 用 5432,SQL Server 用 1433,Oracle 用 1521,这些号段各有明确归属,118 号在现代部署中不再出现。
基本信息
| 服务名 | sqlserv(SQL Services) |
|---|---|
| 端口号 | 118(TCP/UDP 同名登记) |
| IANA 登记说明 | SQL Services |
| 登记人 | Larry Barnes |
| 现状 | 无主流实现 |
| 现代对应端口 | MySQL 3306、PostgreSQL 5432、SQL Server 1433、Oracle 1521 |
| 同段易混条目 | sqlsrv(156)、sql-net(150) |
| 处置口径 | 按未知服务核实进程与业务归属 |
现网出现时怎么处置
- 先排除数据库残留:确认主机上是否装过数据库,卸载不彻底时常留下监听进程与数据目录
- 查连接来源:数据库端口被探测意味着数据可达性风险,重点关注来源 IP 与尝试频率
- 核对账号与权限:若确认为数据库服务,检查监听地址是否绑定到 0.0.0.0、是否存在弱口令账号
- 看备份与同步任务:备份软件与复制链路会长期占用数据库端口,接入监控避免误判
- 变更前先做连通性验证:调整数据库端口或访问控制要提前验证业务与工具链是否同步修改
定位占用进程
定位占用进程
ss -lntup 'sport = :118' # 列出 118 的 TCP/UDP 监听进程
sudo lsof -i :118 # 进程与文件句柄
sudo netstat -tunap | grep ':118' # 兼容老系统的写法
ss -tnp | grep ':118' # 已建立的连接与对端
netstat -ano | findstr :118 # Windows:端口与 PID
tasklist /FI "PID eq 1234" # Windows:PID 反查进程数据库端口对照
| 数据库 | 默认端口 | 备注 |
|---|---|---|
| MySQL/MariaDB | 3306 | 常被改为非默认端口以减少扫描 |
| PostgreSQL | 5432 | 默认仅本机或内网监听 |
| Microsoft SQL Server | 1433 | 另有 UDP 1434 用于实例探查 |
| Oracle | 1521 | 监听器端口,实例另行注册 |
数据库端口暴露面一旦扩大,口令爆破与数据导出会直接发生在链路层之上,防火墙与数据库账号权限需要同时收紧。把数据库监听从 0.0.0.0 收到内网地址,是最直接的一步。