首页/网络/常用端口速查/427 svrloc 服务定位协议 SLP
400-499 系统端口100 条

427 svrloc 服务定位协议 SLP

Server Location / SLP(RFC 2608):局域网内的服务发现协议,打印机、文件服务、目录代理经它被客户端自动找到。

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

SLP 是什么

SLP(Service Location Protocol,RFC 2608)解决的是同一个问题:局域网里有哪些服务、在哪里。它把参与者分成三类角色——服务代理(SA)负责注册服务,用户代理(UA)代表客户端查询,目录代理(DA)集中保存注册信息。客户端可以组播查询,也可以先问 DA;端口 427 同时承载 TCP 与 UDP,IPv4 组播地址是 224.0.1.22。

基本信息

服务svrloc(Service Location Protocol)
协议TCP/UDP 427;发现用组播 224.0.1.22
规范RFC 2608(SLPv2)、RFC 2165(SLPv1)
实现OpenSLP、部分打印与目录产品
安全等级仅局域网,公网不应暴露

典型使用场景

  • 打印与文件服务发现:客户端自动找到同网段的打印与共享服务
  • 目录代理部署:为跨网段客户端提供集中查询入口
  • 排障:确认服务是否已注册、DA 地址是否下发正确
  • 安全评估:确认 SLP 没有被跨网段放行,避免注册信息外泄
  • 设备盘点:用查询命令列出网段内正在广播的服务清单

查询服务与属性

查询服务与属性
slptool findsrvs service:printer            # 列出已注册的打印服务
slptool findattrs service:printer://printer.example.com
slptool findscopes                            # 查看作用域
sudo tcpdump -ni eth0 'port 427' -c 20        # 观察注册与查询报文

角色与交互方式

角色职责典型报文
SA 服务代理把本机服务注册到目录服务注册与注销
UA 用户代理代客户端发起查询服务与属性查询
DA 目录代理集中保存注册信息应答查询,减少组播
客户端组播或向 DA 查询224.0.1.22 上的请求
早期 SLP 实现缺乏认证:伪造服务代理可以让客户端连接到恶意服务,这在自动发现场景里等同于中间人入口;跨网段部署应限制组播范围,或改用带认证的发现机制。
DA 地址可以通过 DHCP 选项下发,也可以由客户端组播发现;排障时先确认客户端拿到的 DA 地址是否可达,再检查 427 是否被策略拦截,这比反复重启服务更有效。

收敛建议

  • 只在需要自动发现的网段保留 SLP,其余网段过滤组播
  • 跨网段统一走 DA 单播查询,避免组播扩散
  • 对注册服务的来源做限制,减少伪造注册
  • 把服务发现依赖写入运维文档,替换方案先行验证

易错点

  • 把 SLP 当无风险的传统协议从边界放行:注册信息与查询内容可被外部读取
  • 伪造服务注册劫持客户端:自动发现的便利性反过来变成攻击入口
  • 跨网段依赖组播查询而不部署 DA:客户端在不同网段表现差异极大,故障难以复现
  • 替换发现机制前未梳理依赖:关掉 SLP 后打印与共享访问同时失效

数据来源与参考

  • RFC 2608:Service Location Protocol, Version 2
  • IANA 端口注册表

相关工具

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