gpt4 book ai didi

ios - 使用 mDNS 发现 iOS 设备名称

转载 作者:IT王子 更新时间:2023-10-29 08:16:23 26 4
gpt4 key购买 nike

我注意到一些更好的网络发现应用程序,例如适用于 iOS 的 Fing 和适用于 Mac 的 iNet,即使它们没有宣传 Bonjour 服务(例如 iTunes Wi-Fi Sync),也能够发现 iOS 设备和 Mac 设备的设备名称。这是怎么做到的?我知道如何进行反向 mDNS 查询 https://serverfault.com/questions/143184/how-do-i-get-the-machine-name-from-an-ip-via-multicast-dns .但是,虽然反向 mDNS 查找(至少由 dig 命令 dig -x the.ip @224.0.0.251 -p 5353 完成)将适用于不广播任何 Bonjour 服务的 Mac,除非 Wi-Fi Sync 正在运行或 iOS 设备上的某些其他 Bonjour 服务正在运行,否则它不会工作。我不确定如何以其他方式获取名称,但这些应用程序可靠地获取了它。我在 iNet 发现时使用了 Wireshark,我只看到 ICMP 和 NetBios 查询都返回 0 个答案。

另请注意,通过执行广播 ping 然后解析 ARP 表,我已经获得了设备的 IP 地址。我想通过获取设备名称并查找字符串“iPhone”或“iPad”来发现以这种方式发现的哪些设备是 iOS 设备。

另请注意,iNet 应用程序网站提供了以下有关他们如何进行反向 IP 查找的信息。我认为这意味着他们对每个 IP 进行反向 DNS 查找和反向 mDNS 查找。

反向 IP 查找(主机名)以单播和多播查询的形式针对找到的每个 IP 执行。 - http://www.bananaglue.de/inet/index_e.php

最佳答案

您是否尝试过 dns-sd 命令行工具?

如果您键入 dns-sd -B _services._dns-sd._udp 以获取所有可用服务,您会看到有一个 _whats-my-name 服务可用。

$ dns-sd -B _services._dns-sd._udp
Browsing for _services._dns-sd._udp
DATE: ---Tue 16 Dec 2014---
14:38:30.746 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:38:30.747 Add 3 5 . _tcp.local. _nfs
14:38:30.747 Add 3 5 . _tcp.local. _afpovertcp
14:38:30.747 Add 3 5 . _tcp.local. _smb
14:38:30.747 Add 2 0 . _tcp.local. _whats-my-name
14:38:31.330 Add 3 10 . _tcp.local. _nfs
14:38:31.330 Add 3 10 . _tcp.local. _afpovertcp
14:38:31.330 Add 2 10 . _tcp.local. _smb

之后我们可以查询输出以下内容的服务:

$ dns-sd -B _whats-my-name._tcp
Browsing for _whats-my-name._tcp
DATE: ---Tue 16 Dec 2014---
14:40:20.738 ...STARTING...
Timestamp A/R Flags if Domain Service Type Instance Name
14:40:20.742 Add 2 0 local. _whats-my-name._tcp. Blub MacBook Pro

Instance Name 是这里有趣的部分。我假设 _whats-my-name 服务在每台运行 bonjour 的计算机上都可用。如果您不能在任何情况下都访问 dns-sd,也许您可​​以找到已发送的查询并使用基本的 bash 工具重建它。此外,您不应在脚本中使用 dns-sd。相反,您应该为您的编程语言使用协议(protocol)的特定实现。

注意:请注意,设备名称可能无法可靠地检测到您正在与哪个设备通信

希望对您有所帮助。

关于ios - 使用 mDNS 发现 iOS 设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com