As part of our research, we developed several tools including implementations of AWDL and AirDrop that we publish as open source software.

Console output of our AWDL implementation OWL
Console output of our AWDL implementation OWL

OWL logo

OWL

OWL is a an open implementation of the Apple Wireless Direct Link (AWDL) protocol written in C. It currently runs on Linux and macOS and requires a Wi-Fi card with support for monitor mode and frame injection.

Code

AirDrop logo

OpenDrop

OpenDrop is a command-line tool written in Python that allows sharing files between devices directly over Wi-Fi. Its unique feature is that it is protocol-compatible with Apple AirDrop which allows to share files with Apple devices running iOS and macOS. To support communication with Apple devices, OpenDrop needs to run over an AWDL-compatible link and, thus, supports macOS and any platform that supports OWL.

Code

Wireshark dissecting an AWDL frame
Wireshark dissecting an AWDL frame

Wireshark logo

Protocol Dissectors

Wireshark dissector for Apple Wireless Direct Link (AWDL) and Apple’s CoreCapture logging framework. Note: The AWDL dissector is included in the official Wireshark builds since version 3.0.0.

Code

proxAWDL

Tunnels a regular TCP connection through an AWDL link by exploiting the NetService API. On macOS, you may instead also use the special XNU socket option SO_RECV_ANYIF (0x1104) to allow a socket to send and receive via AWDL.

Code