Windows系统中与macOS的dns-sd命令等效的Cmd/PowerShell工具?
Windows下等效于dns-sd的mDNS命令行工具
Windows 10/11原生支持mDNS,但系统本身没有内置和macOS/Linux上dns-sd完全对等的命令行工具,不过可以通过以下几种方式实现类似的服务发现与宣告功能:
1. 苹果Bonjour SDK自带的dns-sd.exe
苹果官方的Bonjour SDK提供了Windows版本的dns-sd.exe,功能和macOS上的原版完全一致,支持服务浏览、宣告、查询等所有操作。安装SDK后,直接在命令行调用即可,语法和macOS端完全相同:
- 浏览本地网络的HTTP服务:
dns-sd -B _http._tcp local. - 宣告一个名为"My Web Server"的HTTP服务(端口8080):
dns-sd -R "My Web Server" _http._tcp local. 8080
2. 第三方PowerShell模块
可以使用第三方PowerShell模块来实现mDNS操作,比如mDNSResponder模块,安装后通过PowerShell cmdlet完成服务管理:
- 安装模块(需管理员权限):
Install-Module -Name mDNSResponder - 浏览指定类型的服务:
Get-mDNSService -ServiceType "_http._tcp"
3. 原生Windows命令的基础查询
Windows自带的Resolve-DnsName(PowerShell命令)和nslookup支持查询mDNS记录,但仅能完成基础的服务查询,无法实现服务宣告:
- 查询本地mDNS主机的A记录:
Resolve-DnsName -Name "mydevice.local" -Type A - 查询HTTP服务的PTR记录:
Resolve-DnsName -Name "_http._tcp.local" -Type PTR
内容的提问来源于stack exchange,提问作者Leo Bernard
相关产品推荐
相关产品推荐

