{"title":"Linux Goes Apple Picking: Cross-Platform Ad hoc Communication with Apple Wireless Direct Link","authors":"Milan Stute, David Kreitschmann, M. Hollick","doi":"10.1145/3241539.3267716","DOIUrl":null,"url":null,"abstract":"Apple Wireless Direct Link (AWDL) is a proprietary and undocumented wireless ad hoc protocol that Apple introduced around 2014 and which is the base for applications such as AirDrop and AirPlay. We have reverse engineered the protocol and explain its frame format and operation in our MobiCom '18 paper \"One Billion Apples' Secret Sauce: Recipe of the Apple Wireless Direct Link Ad hoc Protocol.\" AWDL builds on the IEEE 802.11 standard and implements election, synchronization, and channel hopping mechanisms on top of it. Furthermore, AWDL features an IPv6-based data path which enables direct communication. To validate our own work, we implement a working prototype of AWDL on Linux-based systems. Our implementation is written in C, runs in userspace, and makes use of Linux's Netlink API for interactions with the system's networking stack and the pcap library for frame injection and reception. In our demonstrator, we show how our Linux system synchronizes to an existing AWDL cluster or takes over the master role itself. Furthermore, it can receive data frames from and send them to a MacBook or iPhone via AWDL. We demonstrate the data exchange via ICMPv6 echo request and replies as well as sending and receiving data over a TCP connection.","PeriodicalId":378965,"journal":{"name":"Proceedings of the 24th Annual International Conference on Mobile Computing and Networking","volume":"25 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-10-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 24th Annual International Conference on Mobile Computing and Networking","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3241539.3267716","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
Apple Wireless Direct Link (AWDL) is a proprietary and undocumented wireless ad hoc protocol that Apple introduced around 2014 and which is the base for applications such as AirDrop and AirPlay. We have reverse engineered the protocol and explain its frame format and operation in our MobiCom '18 paper "One Billion Apples' Secret Sauce: Recipe of the Apple Wireless Direct Link Ad hoc Protocol." AWDL builds on the IEEE 802.11 standard and implements election, synchronization, and channel hopping mechanisms on top of it. Furthermore, AWDL features an IPv6-based data path which enables direct communication. To validate our own work, we implement a working prototype of AWDL on Linux-based systems. Our implementation is written in C, runs in userspace, and makes use of Linux's Netlink API for interactions with the system's networking stack and the pcap library for frame injection and reception. In our demonstrator, we show how our Linux system synchronizes to an existing AWDL cluster or takes over the master role itself. Furthermore, it can receive data frames from and send them to a MacBook or iPhone via AWDL. We demonstrate the data exchange via ICMPv6 echo request and replies as well as sending and receiving data over a TCP connection.
Apple Wireless Direct Link (AWDL)是苹果公司在2014年左右推出的一种专有且未记录的无线自组织协议,是AirDrop和AirPlay等应用程序的基础。我们对该协议进行了逆向工程,并在我们的MobiCom '18论文“十亿个苹果的秘密酱汁:苹果无线直连自组织协议的配方”中解释了它的帧格式和操作。AWDL建立在IEEE 802.11标准之上,并在其上实现了选举、同步和信道跳变机制。此外,AWDL具有基于ipv6的数据路径,可以实现直接通信。为了验证我们自己的工作,我们在基于linux的系统上实现了AWDL的工作原型。我们的实现是用C语言编写的,在用户空间中运行,并使用Linux的Netlink API与系统的网络堆栈进行交互,并使用pcap库进行帧注入和接收。在我们的演示中,我们展示了Linux系统如何与现有的AWDL集群同步或接管主角色本身。此外,它可以接收数据帧,并通过AWDL将它们发送到MacBook或iPhone。我们演示了通过ICMPv6 echo请求和应答以及通过TCP连接发送和接收数据的数据交换。