您可能知道也可能不知道“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。?
这是一个很长的问题,我提前感谢您阅读所有内容。感谢您到达这条线。