SSDP 与 1900 端口
1900 是 SSDP 使用的端口(UDP),它是 UPnP 设备发现机制的一部分:设备向组播地址通告自身存在,控制点发查询寻找可用设备,随后通过设备提供的描述文档了解其能力与接口。办公网里的投影、打印与智能设备大量依赖它,家用网关的自动端口映射也基于同一套机制。由于无需认证就能获取设备清单与描述信息,它长期被用作反射放大的攻击源。
基本信息
| 服务 | SSDP(UPnP 设备发现) |
|---|---|
| 协议 | UDP,组播地址 239.255.255.250 |
| 用途 | 局域网设备自动发现与能力描述 |
| 相关机制 | 网关侧的自动端口映射 |
| 常见实现 | Windows 的发现服务、智能设备与网络设备固件 |
| 安全等级 | 仅限内网 |
典型使用场景
- 投屏与打印设备发现:终端自动找到同一网段内的可用设备
- 智能家居与办公设备接入:设备上线后自动被控制端识别
- 网关自动映射:内网应用按需在网关建立端口映射
- 媒体服务器发现:播放器自动列出网内可用的媒体库
- 资产盘点:通过响应内容识别网内设备类型与型号
发出查询观察响应
发出查询观察响应
printf 'M-SEARCH * HTTP/1.1\r\nHOST: 239.255.255.250:1900\r\nMAN: "ssdp:discover"\r\nMX: 2\r\nST: ssdp:all\r\n\r\n' | nc -u -w 3 239.255.255.250 1900 # 观察哪些设备会响应
sudo tcpdump -ni eth0 'udp port 1900' -c 20 -vv # 观察通告与查询报文
# 响应中的描述文档地址可直接取回,查看设备型号与接口Windows 侧关闭发现相关服务
Windows 侧关闭发现相关服务
Get-Service SSDPSRV,fdPHost,FDResPub | Select-Object Name,Status,StartType # 先看当前状态
# 确认没有投屏与设备发现需求后再执行
Stop-Service SSDPSRV -Force
Set-Service SSDPSRV -StartupType Disabled风险与影响面
| 问题 | 说明 | 影响 |
|---|---|---|
| 设备信息泄露 | 描述文档含厂商、型号与接口信息 | 为后续针对性攻击提供情报 |
| 反射放大 | 响应报文大于请求报文 | 被用于攻击第三方并污染你的出口 |
| 自动端口映射 | 网关按内网请求开放公网端口 | 内网服务被意外暴露到公网 |
办公网应在边界关闭自动端口映射功能,并对 1900 这类组播发现流量做网段隔离;把发现协议暴露到公网会同时带来信息泄露与放大攻击风险。
关闭发现服务的代价要评估:投屏、无线打印与部分协同设备依赖它,禁用后用户会反馈设备搜不到;通常的做法是按楼宇或部门分批关闭并保留必要的办公网段。
排障提示:如果终端能看到设备但无法控制,问题多在描述文档或后续控制通道,而不是发现阶段;先用抓包确认发现与响应是否正常,再排查应用层。