使用DNS模块解析混淆的IP地址Node.js

使用DNS模块解析混淆的IP地址Node.js,node.js,npm,dns,bonjour,mdns,Node.js,Npm,Dns,Bonjour,Mdns,我知道在Mac OSX上我可以运行以下命令:dns sd-q a5b3ef18-2e66-4e24-91d2-893b93bbc1c1.local,它返回一个IP地址。我可以在Node.js中执行此操作吗?似乎dns模块主要用于website->IP,而不是IP->IP(已解析)转换。感谢您的帮助。谢谢 注:输入的地址将为MDN,由Bonjour转换。我找到了,但在这种情况下不起作用。此外,我还发现了哪个具有该功能,但我似乎不知道如何在我的案例中使用它 谢谢 我找到了一个节点模块,它完全满足您的

我知道在Mac OSX上我可以运行以下命令:
dns sd-q a5b3ef18-2e66-4e24-91d2-893b93bbc1c1.local
,它返回一个IP地址。我可以在Node.js中执行此操作吗?似乎
dns
模块主要用于
website->IP
,而不是
IP->IP(已解析)
转换。感谢您的帮助。谢谢

注:输入的地址将为MDN,由Bonjour转换。我找到了,但在这种情况下不起作用。此外,我还发现了哪个具有该功能,但我似乎不知道如何在我的案例中使用它


谢谢

我找到了一个节点模块,它完全满足您的需要。 能够将mDNS IP查询为标准IP格式。他们自述中的代码片段满足您的需要:

var mdns=require('multicast-dns')()
mdns.on('response',函数(response){
log('获得响应包:',响应)
})
mdns.on('query',函数(query){
log('got a query packet:',query)
})
//允许查询“brunhilde.local”的A记录
mdns.query({
问题:[{
名称:“brunhilde.local”,
键入:“A”
}]
})
显然,您需要用有效的mDNS ip替换
brunhilde.local
。我将代码简化为:

函数查询(mdns\U ip){
返回新承诺((解决、拒绝)=>{
mdns.on('response',函数(response){
如果(response.rcode==='NOERROR'){
解析(response.answers[0]。数据)
mdns.destroy()
}否则{
拒绝(response.rcode)
mdns.destroy()
}
})
mdns.query({
问题:[{
姓名:mdns_ip,
键入:“A”
}]
})
})
}