AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1037455
Accepted
djoproject
djoproject
Asked: 2020-10-13 13:03:12 +0800 CST2020-10-13 13:03:12 +0800 CST 2020-10-13 13:03:12 +0800 CST

如何在 OSX 上通过 IPv6 制作反向 mDNS?

  • 772

我正在寻找一种仅通过 IPv6 在 OSX 上进行反向 mDNS 查询的方法。我对使用 IPv4 的解决方案不感兴趣。

以下适用于dig 9.16.1 的 Linux:

dig +short @ff02::fb -p 5353 -x 2001:db8::1

我已经在 OSX 上安装dig 了带有 homebrew 的 9.16.7,该命令具有完全相同的参数会产生超时。并且在 Wireshark 上没有传出查询的迹象。

以下在 Linux 和 OSX 上运行良好:

dig +short @224.0.0.251 -p 5353 -x 192.168.1.23

该二进制文件avahi-resolve-address在 OSX 上不可用,而且我没有找到使反向 DNS 与dns-sd.

这是使用的操作系统版本:

  • OSX 版本:Catalina 10.15.7
  • Linux:Ubuntu 20.04
ipv6 mdns multicast
  • 1 1 个回答
  • 255 Views

1 个回答

  • Voted
  1. Best Answer
    Gordon Davisson
    2020-10-13T16:04:59+08:002020-10-13T16:04:59+08:00

    我找到了几种方法来做到这一点,但它们都有点难看。首先,您可以使用dns-sd -q并指定ptr记录类型...但是您需要自己将要查找的地址转换为逐字节反向格式。例如,要查找fe80::4e6:97e7:d892:d977您将使用:

    dns-sd -q 7.7.9.d.2.9.8.d.7.e.7.9.6.e.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa ptr
    

    不幸的是,这似乎只适用于链接本地地址,而不适用于公共地址。我不知道为什么。另外,请注意dns-sd在进行查找后不会自动退出,但会继续监视更改。你需要在一段时间后杀死它。

    您也可以使用dig,有点像您的原始命令,但您需要告诉它通过哪个接口发送查询,并且格式相当奇怪。要做的“标准”事情是为接口添加一个区域索引,例如将其发送到ff02::fb您en1使用@ff02::fb%en1的 . 但dig不喜欢这种格式,所以你必须偷偷摸摸。基于 BSD 的 unix,包括 macOS,允许您将数字区域索引放在某些地址的第二个 16 位字中,这在此处确实有效。这是一个(匿名的)示例,我netstat -rn -f inet6用来找出2001:db8:1234:5678::/64在 interface 上en1,该接口的链接号是5,然后使用它进行查找(我添加了 ^^^s 以强调相关部分):

    % netstat -rn -f inet6
    Routing tables
    
    Internet6:
    Destination                             Gateway                         Flags         Netif Expire
    [...]
    2001:db8:1234:5678::/64                 link#5                          UC              en1       
                                            ^^^^^^                                          ^^^
    [...]
    % dig +short @ff02:5::fb -p 5353 -x 2001:db8:1234:5678:109f:8688:b2d1:3f12
                       ^
    Gordons-MacBook.local.
    
    • 2

相关问题

  • IPv6 有哪些好的 IP 地址管理解决方案?[关闭]

  • 连接到 NAT 后启用 Teredo 的服务器

  • IPv4管理员的IPv6介绍[关闭]

  • 什么是支持 IPv6 胶水的又好又便宜的注册商?

  • 使用多少 IP V6 寻址?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve