avahi-daemon 是一种Linux操作系统上运行在客户机上实施查找基于网络的Zeroconf service的服务守护进程。 该服务可以为Zeroconf网络实现DNS服务发现及DNS组播规范。 用户程序通过Linux D-Bus信息传递接收发现到网络服务和资源的通知。 该守护进程配合缓存用户程序的答复,以帮助减少因答复而产生的网络流量。
通过安装 avahi 和 avahi-tools 工具,也可以发现服务,安装命令如下
sudo apt-get install avahi-daemon
安装 avahi-tools 之后,才能使用 avahi-browse 命令。
可以查看局域网内所有的mdns服务,命令如下:
http://localhost:4999/boards/topic/21933
#Check the status
sudo systemctl status avahi-daemon
#Check Avahi Logs
journalctl -u avahi-daemon -f
sudo apt install avahi-utils
查看局域网内所有的mdns服务
avahi-browse -a
output
eth0 IPv4 Aqara-Hub-M1S-EDB6 _hap._tcp local
+ eth0 IPv6 758E48518BB628C0-000000000001B669 _matter._tcp local
+ eth0 IPv4 Aqara-Hub-M1S-EDB6 _aqara-setup._tcp local
+ eth0 IPv4 Aqara-Hub-M1S-EDB6 _aqara._tcp local
+ eth0 IPv6 Aqara-Hub-M1S-EDB6 _aqara-setup._tcp local
+ eth0 IPv6 Aqara-Hub-M1S-EDB6 _aqara._tcp local
+ eth0 IPv6 70-35-60-63.1 ______ _sleep-proxy._udp local
+ eth0 IPv4 70-35-60-63.1 ______ _sleep-proxy._udp local
+ eth0 IPv6 ______ _companion-link._tcp local
+ eth0 IPv4 ______ _companion-link._tcp local
+ eth0 IPv6 ______ AirPlay Remote Video local
+ eth0 IPv4 ______ AirPlay Remote Video local
+ eth0 IPv6 8A730F4C1F14@______ AirTunes Remote Audio local
+ eth0 IPv4 8A730F4C1F14@______ AirTunes Remote Audio local
+ eth0 IPv6 ______ _meshcop._udp local
+ eth0 IPv4 ______ _meshcop._udp local
+ eth0 IPv4 ______ _srpl-tls._tcp local
+ eth0 IPv6 ______ _srpl-tls._tcp local
+ eth0 IPv6 Home _home-assistant._tcp local
+ eth0 IPv4 Home _home-assistant._tcp local
+ eth0 IPv4 esp32no2 _custom_service._tcp local
How to use mDNS to access a device without knowing the IP address
This wiki explains how to access a board connected to a LAN without explicitly knowing its IP adress. There are several techniques to do this:
Assigning a fixed IP address to your device from the DHCP server in your switch.
Having a local name server in your network.
Having your device send mDNS messages.
This wiki focuses on 3. since it's the simplest of the three. Specifically, this wiki shows how to enable mDNS in Linux devices using Avahi.