-
为了您或任何尝试进行逆向工程和实施Airdrop的人的利益,这是我发现的内容以及开始工作所要做的事情:
涉及两个步骤,它们可以独立或并行完成。
- 对物理WLAN自组织网络的创建和命名方式进行反向工程
为此,请从此处http://istumbler.net/获取iStumbler,并尝试查看在空投运行时是否显示了一个额外的临时网络。我已经进行了短暂的尝试,似乎有一个未加密的即席802.11b网络,其名称以“
H”开头。(但是我可能是错的,请自己尝试。)尝试查找空投用来命名或识别网络的模式。尝试从多台Mac上找到它。- 对协议进行逆向工程
客户加入WiFi网络后,Airdrop将使用Bonjour检测其他客户。
首先,如http://osxdaily.com/2011/09/16/enable-airdrop-ethernet-and-unsupported-
macs/所述,请在您的终端中运行此命令,以使工作在 没有 隐藏的临时网络的情况下进行:默认写com.apple.NetworkBrowser BrowseAllInterfaces 1
然后重新启动Finder。
启动Airdrop时,您会发现您的mac广告了“
_airdrop._tcp”服务。它还会发布您的Mac正在监听的主机和端口的各种IP地址(每次在Finder中打开Airdrop都会创建一个新的IP地址)。它还发布了计算机的名称以及两个键“
ehash”和“ phash”以及一个键“
flags”(值均为1)。您必须查看这两个哈希是如何生成的以及是否需要。可能是。尝试使用可用的Bonjour库之一在第二台计算机上发布您自己的数据,并查看它们是否显示在Airdrop中(在Finder中)。我发现每个客户端公开的TCP服务正在使用SSL连接。服务器证书似乎已链接到您的Apple
ID。您可以在钥匙串中找到证书。服务器也请求客户端证书。这可能与另一台计算机上的Apple ID证书相同。您将不得不对此进行试验。我不知道该SSL连接内使用了什么协议,并且目前无法访问第二台Mac。您必须与MITM建立连接才能找到(尝试使用Charles和Wireshark)。在任何情况下,它将用于传输用户图标以及协商传输,还可能用于移动实际数据。
我认为,即使最终只限于具有Apple ID的用户,公开实施此操作也将带来巨大好处-毕竟他们是免费的。
祝好运!