网络发现。Fing 是如何工作的?(一个网络工具)

网络工程 转储
2021-07-25 22:47:26

您可能知道也可能不知道“Fing”应用程序。它是一堆网络工具,至少在 Android 和 iOS 上可用,也可能在其他设备上可用,但不确定。

此工具的主要目标是浏览连接在同一 WiFi 网络上的所有内容,并显示一些信息,例如 MAC 地址、IP 地址、设备名称、品牌/型号/制造商(如果可用)。即使在免费版本中它也非常强大,我真的很想知道它是如何工作的。

令我感兴趣的一件事是,即使设备处于睡眠状态,它也能够检测到设备,而我真的不知道如何检测。

我观察到/尝试过的:

  • 我在 IP XX.XX.XX.200(子网 255.255.255.0)上有一个休眠的 iPhone
  • 我用我的笔记本电脑 (Mac OSx Yosemite) ping 这个 iPhone,根本没有反应,手机似乎在睡觉
  • 我在 Android 设备上下载并安装了“Fing”应用程序(在从未与 iPhone 通信的新设备上重新安装)
  • 启动应用程序,然后...它会在 XX.XX.XX.200 上找到我的手机,找到它的品牌和型号以及 MAC 地址

(在整个测试过程中,我在 Mac 上的 ping 请求完全没有响应)这真的让我很感兴趣。

这怎么行?

所以我继续我的调查,我有了嗅探这个应用程序的想法。我已经在 Mac 上设置了 TCPDump 侦听器,然后再次启动该应用程序。所以我嗅探了从应用程序到我的笔记本电脑的所有内容。这是我得到的:

在此处输入图片说明

这只是部分截图,因为嗅探到的数据包更多。它在终端中继续,但其余部分看起来相同。

我想知道两件事。如果我们随机观察一行,例如这一行:

11:47:23.914998 IP 10.11.204.34.mdns > 224.0.0.251.mdns:0 PTR(QM)?22.204.11.10.in-addr.arpa。(43)

我知道 IP 为 10.11.204.34 的应用程序向 224.0.0.251 发送多播消息。但是这个消息是什么?什么是22.204.11.10.in-addr.arpa。(43) ? 以及为什么有这么多数据包进出 XX.204.11.10.in-addr.arpa。?

这是一个很长的问题,我提前感谢您阅读所有内容。感谢您到达这条线。

2个回答

你问题的最后一部分:

什么是 11:47:23.914998 IP 10.11.204.34.mdns > 224.0.0.251.mdns: 0 PTR (QM)?22.204.11.10.in-addr.arpa。(43)

它是一个多播的DNS查找,末尾的ip是一个反向查找IP->Name ip是按照反向顺序指定的。

因此,设备 10.11.204.34 正在尝试为 10.11.204.22 查找 dns 名称。

多播_DNS

它可能正在为这些地址寻找 .local 多播 DNS 名称。

见 rfc 6762:https ://www.rfc-editor.org/rfc/rfc6762

引用:“对以“254.169.in-addr.arpa”结尾的名称的任何 DNS 查询都必须发送到 mDNS IPv4 本地链路多播地址 224.0.0.251”