Comando Linux para obter a descoberta do serviço mDNS e obter seu endereço IP

Comando Linux para obter a descoberta do serviço mDNS e obter seu endereço IP

Estou transmitindo o serviço mDNS do meu módulo WiFi. Preciso descobrir isso no meu PC Linux e obter seu endereço IP.

  1. Usei o comando mdns-scan e estou recebendo o nome do serviço listado.
  2. Usei avahi-browse --all e estou listando o nome do meu serviço.
  3. Mas como obtenho o endereço IP desse serviço? Essa é a minha exigência.
  4. Nos aplicativos Android consigo obter detalhes completos dos serviços. Como faço para obtê-lo no Linux?
  5. Eu tentei if config -a e nmap também.

Responder1

Usei avahi-browse --all e estou listando o nome do meu serviço.

Usaravahi-resolve --namepara mapear o nome do host para seus endereços IP.

Alternativamente, para tornar *.localos nomes de host mDNS resolvíveis em todo o sistema, você pode usarnss-mdns(usando back-end Avahi) ou nss-resolve (usando back-end resolvido pelo systemd). Isso permitirá que qualquer aplicativo use nomes mDNS como se fossem DNS normais.

Nos aplicativos Android consigo obter detalhes completos dos serviços. Como faço para obtê-lo no Linux?

Em aplicativos Android, você usa a API fornecida pelo sistema operacional. Da mesma forma, no Linux, você deve usar a API adequada fornecida pelo sistema operacional – oucliente libavahioulibavahi-glibnãoferramentas CLI aleatórias coladas. Todas as ferramentas listadas são para uso manual por administradores de sistemas, não para scripts.

O DNS-SD armazena as informações adicionais do serviço em registros TXT. Conforme mostrado nos exemplos da API, a função "resolver callback" receberá automaticamente um array de registros TXT como parâmetro sem precisar fazer nada extra.

Responder2

Não tenho certeza se você precisa disso para um script de automação; nesse caso, essa pode não ser a melhor solução, mas um pingcomando simples também fornecerá o endereço IP.

Veja este exemplo:

$ ping lightpizero.local
PING lightpizero.local (192.168.0.104) 56(84) bytes of data.

O endereço neste caso é claramente192.168.0.104

informação relacionada