Получить Google Home IP-адреса, используя multicast-dns в Node? - PullRequest
0 голосов
/ 23 октября 2019

Я использую пакет multicast-dns в Node и пытаюсь получить IP-адреса своих устройств Google Home в своей сети.

Мои знания в области сети весьма ограничены, так что, возможно, чтоЯ пытаюсь достичь не возможно, или есть дополнительные шаги, которые мне нужно предпринять?

Мой код ниже:

const services = [];

mdns.on('response', async function(response) {
    response.answers.forEach(a => {
     console.log(a.name, a.data)
    });
    await new Promise(resolve => setTimeout(resolve, 1000));
    mdns.destroy()
});

mdns.query({
    questions:[{
        name: '_googlecast._tcp.local',
        type: 'SRV'
    }]
})

Это выводит ряд ответов ниже. Похоже, что ответы, в которых данные являются объектом, - это ответы, на которые нужно обратить внимание, однако data.target содержит только то, что, как я считаю, является UDP SSDP, а не IP-адрес устройства?

Как мне действовать? получить IP-адрес этих устройств?

_googlecast._tcp.local Google-Cast-Group-c3165fbd99aa4c46bc2f269b0450bb19-1._googlecast._tcp.local
Google-Home-Mini-7bb2a10fd9562410e090b61cb434a84b._googlecast._tcp.local { priority: 0,
  weight: 0,
  port: 8009,
  target: '7bb2a10f-d956-2410-e090-b61cb434a84b.local' }
Google-Home-Mini-7bb2a10fd9562410e090b61cb434a84b._googlecast._tcp.local { priority: 0,
  weight: 0,
  port: 8009,
  target: '7bb2a10f-d956-2410-e090-b61cb434a84b.local' }
Google-Cast-Group-c3165fbd99aa4c46bc2f269b0450bb19-1._googlecast._tcp.local { priority: 0,
  weight: 0,
  port: 42374,
  target: '7bb2a10f-d956-2410-e090-b61cb434a84b.local' }
Google-Cast-Group-c3165fbd99aa4c46bc2f269b0450bb19-1._googlecast._tcp.local { priority: 0,
  weight: 0,
  port: 42374,
  target: '7bb2a10f-d956-2410-e090-b61cb434a84b.local' }
_googlecast._tcp.local Google-Home-Mini-7bb2a10fd9562410e090b61cb434a84b._googlecast._tcp.local
...