实施空投协议[关闭](Implementing the AirDrop protocol [clos

2019-07-29 12:21发布

我感兴趣的一个设备上实现空投作为客户端,如iPad或Windows电脑。 任何人都可以点我在正确的方向实施空投协议Python或C.任何帮助,在此将不胜感激。 提前致谢。

Answer 1:

对于你或任何人的利益谁将会尝试逆向工程和实施空投,这里是我发现,你将不得不做上手什么:

主要涉及两个步骤,它们可以独立或平行进行。

  1. 反向工程物理WLAN ad-hoc网络的创建和命名方式

要做到这一点,从这里得到iStumbler http://istumbler.net/和尝试看看是否有其他ad-hoc网络时显示空投运行。 我曾短暂地尝试和似乎是未加密的,点对点的802.11b网络,它的名字开始与“H”。 (但我可能是错的,自己试用。)试着找出使用空投到名字的模式,或识别网络。 从多台Mac尝试寻找这一点。

  1. 逆向工程协议

一旦客户机都加入了WiFi网络,空投会使用Bonjour检测到其他客户端。

首先,如在描述http://osxdaily.com/2011/09/16/enable-airdrop-ethernet-and-unsupported-macs/ ,在你的终端上运行该得到的东西没有隐藏的ad-hoc网络的工作:

默认写com.apple.NetworkBrowser BrowseAllInterfaces 1

然后,重新启动搜索。

从这里获得的卓悦浏览器:tildesoft.com

当开始空投,你会发现,你的MAC通告服务“_airdrop._tcp”。 还出版了主机和端口的各种IP不会忽略(新创建每次空投在Finder中打开),您的Mac正在监听。 还出版了计算机的名称,以及具有值1。你必须看看这两个哈希值是如何生成的,如果他们需要两把钥匙“ehash”和“phash”和一键通“标志” 。 也许他们。 尝试发布使用可用的Bonjour库之一的第二台计算机上自己的数据,看看他们是否在空投(在Finder中)出现。

我发现,每个客户端暴露的TCP服务使用SSL连接。 服务器证书似乎被链接到你的Apple ID。 你可以找到在Keychain证书。 客户端证书也由服务器请求。 这可能是从其他计算机一样的苹果ID证书。 你将不得不与这个实验。

我不知道是做什么用的协议,SSL连接内,没有进入到第二Mac:目前调查。 你将不得不MITM连接找出(尝试查尔斯和Wireshark)。 在任何情况下,将用于传送用户图标以及协商传输并且还可能移动的实际数据。

我认为,一个开放的实施,这将是有很大好处,即使它会变成最终被限制到用户使用Apple ID - 它们都是免费的毕竟。

祝好运!



文章来源: Implementing the AirDrop protocol [closed]