局域网中的设备发现协议:SSDP 和 mDNS 完整教程

局域网中的设备发现协议:SSDP 和 mDNS 完整教程

在本教程中,我们将介绍两种常见的局域网设备发现协议:SSDPmDNS 。这两种协议分别使用 239.255.255.250224.0.0.251 作为多播地址,广泛用于家庭和小型办公室网络中的设备自动发现与连接。

1. 什么是 SSDP?

SSDP(Simple Service Discovery Protocol) 是 UPnP(Universal Plug and Play)协议的一部分,主要用于设备发现。当设备(如智能电视、音箱、打印机等)接入网络时,它会通过 SSDP 向局域网广播自己的存在信息,这样其他设备就能发现它们并进行连接。

1.1 SSDP 的多播地址和端口
  • 多播地址 : 239.255.255.250
  • 端口: UDP 1900
1.2 SSDP 的工作原理
  1. 设备广播 :设备通过向 239.255.255.250:1900 发送 SSDP 广播包,告诉局域网中的其他设备它能提供的服务。
  2. 设备发现:其他设备接收到这些广播后,可以选择与它建立连接并使用其服务。
1.3 SSDP 的应用场景
  • 智能家居:智能音箱通过 SSDP 在网络中广播,手机应用程序可以自动发现音箱,进行设置和连接。
  • 媒体共享(DLNA):智能电视通过 SSDP 发现网络中的媒体服务器,并从中播放视频和音乐。
  • 网络打印:无线打印机使用 SSDP 广播,让电脑和手机能够自动连接。

2. 什么是 mDNS?

mDNS(Multicast DNS) 允许局域网内的设备通过名称解析互相发现,而不需要中央 DNS 服务器。mDNS 是 Bonjour(Apple 的自动化设备发现服务)和 Chromecast 等设备的基础技术。

2.1 mDNS 的多播地址和端口
  • 多播地址 : 224.0.0.251
  • 端口: UDP 5353
2.2 mDNS 的工作原理
  1. 多播查询 :设备发送 DNS 查询请求到 224.0.0.251:5353,请求解析局域网内的某个设备名称(如 printer.local)。
  2. 设备响应:拥有该名称的设备会响应查询,并提供自己的 IP 地址。
2.3 mDNS 的应用场景
  • 智能家居:家庭智能设备通过 mDNS 广播自己的名字和服务信息,手机和电脑能够快速发现并与它们通信。
  • 文件和媒体共享:在 macOS 或 Linux 系统中,设备通过 mDNS 发现局域网中的共享文件夹、媒体服务器等服务。
  • 开发设备连接 :树莓派等开发板通过 mDNS 注册名字,用户可以通过简单的名称(如 raspberrypi.local)进行访问。

3. 封禁 SSDP 和 mDNS:提升网络安全

虽然 SSDP 和 mDNS 提供了很大的便利,但它们也可能成为潜在的安全隐患。设备间的自动发现虽然方便,但也可能会被恶意设备利用,探测网络中的其他设备。

3.1 在路由器上封禁 SSDP 和 mDNS

最有效的方法是在路由器防火墙上封禁:

  • 封禁 SSDP :在路由器防火墙中阻止 239.255.255.250 地址和 UDP 1900 端口的流量。
  • 封禁 mDNS :阻止 224.0.0.251 地址和 UDP 5353 端口的流量。

这样可以确保所有通过路由器的设备都无法进行 SSDP 和 mDNS 的设备发现。

3.2 在操作系统上封禁 SSDP 和 mDNS

在无法控制路由器的情况下,可以在设备操作系统上设置防火墙规则:

  • Windows 防火墙:在"高级安全 Windows 防火墙"中创建入站和出站规则,阻止 UDP 1900 和 5353 端口。

  • Linux iptables

    bash 复制代码
    sudo iptables -A INPUT -p udp --dport 1900 -j DROP
    sudo iptables -A INPUT -p udp --dport 5353 -j DROP
    sudo iptables -A OUTPUT -p udp --dport 1900 -j DROP
    sudo iptables -A OUTPUT -p udp --dport 5353 -j DROP

4. 总结

  • SSDP(239.255.255.250:1900mDNS(224.0.0.251:5353 是局域网设备发现的常用协议,能够让设备在没有中央服务器的情况下自动发现彼此。
  • SSDP 主要用于 UPnP 设备(如智能音箱、电视和打印机),而 mDNS 通过名字解析(如 device.local)让设备互相访问。
  • 虽然便捷,但这两种协议的广播功能也可能带来安全隐患。在有需要时,可以通过在路由器或设备操作系统上封禁相关的多播地址和端口来提升网络安全。

这就是关于 SSDP 和 mDNS 以及如何管理这些协议的完整教程,希望能帮助你更好地理解并控制家庭网络中的设备连接。

相关推荐
hgdlip1 小时前
主IP地址与从IP地址:深入解析与应用探讨
网络·网络协议·tcp/ip
lwprain2 小时前
安装支持ssl的harbor 2.1.4 docker 19.03.8 docker-compose 1.24.0
网络协议·ssl·harbor
软件技术员2 小时前
Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书
服务器·网络协议·ssl
C++忠实粉丝5 小时前
计算机网络socket编程(3)_UDP网络编程实现简单聊天室
linux·网络·c++·网络协议·计算机网络·udp
C++忠实粉丝7 小时前
计算机网络socket编程(4)_TCP socket API 详解
网络·数据结构·c++·网络协议·tcp/ip·计算机网络·算法
Estar.Lee7 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
蝶开三月7 小时前
php:使用socket函数创建WebSocket服务
网络·websocket·网络协议·php·socket
G丶AEOM7 小时前
SSL/TLS,SSL,TLS分别是什么
网络·网络协议·网络安全
Koi慢热8 小时前
路由基础(全)
linux·网络·网络协议·安全
刽子手发艺11 小时前
WebSocket详解、WebSocket入门案例
网络·websocket·网络协议