You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何扫描局域网中的所有.local地址?

如何扫描局域网中的所有.local地址?

嘿,这个问题问得挺实用的!.local地址是依赖mDNS(多播DNS)协议来广播和解析的,也就是我们常说的Bonjour(苹果)或者Avahi(开源)那套机制,所以扫描这类设备得针对性地用支持mDNS的工具,下面给你几个靠谱的方法:

  • Linux/macOS 用Avahi命令行工具
    大多数Linux发行版和macOS都预装了Avahi相关工具,直接在终端里敲:

    avahi-browse -a
    

    这个命令会列出局域网里所有通过mDNS广播的服务,包括对应的.local主机名、IP地址、设备类型等信息。如果只想过滤出主机名和地址,可以加个管道过滤:

    avahi-browse -a -t | grep -E 'hostname|address'
    
  • macOS 用自带的dns-sd工具
    macOS自带了Bonjour的命令行工具dns-sd,你可以用它来扫描整个.local域的服务:

    dns-sd -B _services._dns-sd._udp local.
    

    要是只想查所有.local对应的IPv4地址,用这个命令:

    dns-sd -G v4 local.
    

    注意这个命令会持续收集信息,等个十几秒再看结果会更全。

  • Windows系统的方案
    Windows本身默认可能没开启mDNS支持,你可以先装Bonjour服务(比如装iTunes的时候会顺带装上,或者单独下载Bonjour组件)。之后:

    • 用PowerShell命令尝试解析:
      Resolve-DnsName -Name *.local -Type A
      
    • 也可以用专门的mDNS扫描工具(比如Bonjour Browser这类轻量工具),或者像Advanced IP Scanner这类局域网扫描工具,很多也支持检测mDNS设备并显示.local地址。
  • 用nmap扫描(跨平台)
    如果你已经装了nmap,也可以用它的mDNS探测脚本:

    nmap -sn --script mdns-discover 192.168.1.0/24
    

    记得把192.168.1.0/24换成你自己的局域网网段,这个命令会扫描网段内的设备,同时探测mDNS服务并提取.local主机名。

小提示:有些设备可能只有在有服务请求的时候才会广播mDNS信息,所以扫描的时候可以多等一会儿,或者手动访问一下可能的设备,确保能抓到所有结果。

备注:内容来源于stack exchange,提问作者taltamir

火山引擎 最新活动