AirDrop Message

AirDrop is an Apple technology that allows users to share files with each other via WiFi and Bluetooth without needing to be connected to a WiFi network.

AirDrop Message Structure (btcommon.apple.type == 0x05)

The AirDrop message has several fields that contain important information:

Field Name Info Example Length Type Notes
btcommon.apple.airdrop.prefix Prefix for AirDrop message 0000000000000000 8 Bytes  
btcommon.apple.airdrop.version AirDrop Version 01 1 Bytes Version of AirDrop?
btcommon.apple.airdrop.appleid First 2 bytes SHA256(AppleID) 6e2e 2 Bytes  
btcommon.apple.airdrop.phone First 2 bytes SHA256(Phone Number) f7ad 2 Bytes  
btcommon.apple.airdrop.email First 2 bytes SHA256(Email) 09b2 2 Bytes  
btcommon.apple.airdrop.email2 First 2 bytes SHA256(Email 2) 2080 2 Bytes  
btcommon.apple.airdrop.suffix Suffix of AirDrop message 00 1 Bytes  

The message fields, observed values, and their meanings are as follows:

  • Type: 1 byte, 0x05 – indicates an AirDrop message
  • Length: 1 byte, 0x12 – number of bytes in the message payload
  • Zeros: 8 bytes
  • Version: 1 byte
  • Truncated SHA256 Hash of AppleID: 2 bytes
  • Truncated SHA256 Hash of Phone Number: 2 bytes
  • Truncated SHA256 Hash of Email: 2 bytes
  • Truncated SHA256 Hash of Email2: 2 bytes
  • Zero: 1 byte

“Hey Siri” Message

“Hey Siri” messages are emitted by a device when the voice assistant Siri is used. Of note, a perceptual hash of the voice command is included in the packet.

Hey Siri Message Structure (btcommon.apple.type == 0x08)

The “Hey Siri” message has several fields that contain important information:

Field Name Info Example Length Type Notes
btcommon.apple.siri.perphash Perceptual Hash of Command d6ec 2 Bytes From Cunche Paper
btcommon.apple.siri.snr Signal-to-Noise Ratio 43 1 Bytes Not sure if dBm or dB
btcommon.apple.siri.confidence Confidence Level 00 1 Bytes Not sure what scale is used
btcommon.apple.siri.deviceclass Device Class HomePod (0x0007) 2 UINT16  
btcommon.apple.siri.randbyte Random Byte ca 1 Bytes Not sure the purpose of this

The message fields, observed values, and their meanings are as follows:

  • Type: 1 byte, 0x08 – indicates a “Hey Siri” message
  • Length: 1 byte, 0x07 – number of bytes in the message payload
  • Perceptual Hash: 2 bytes – perceptual hash of the user’s voice command
  • SNR: 1 byte
  • Confidence: 1 byte
  • Device Class: 2 bytes
  • Random Byte: 1 byte

AirPrint Message

AirPrint is an Apple technology designed to enable printing from iOS and macOS devices without needing to install additional software if the printer supports AirPrint.

AirPrint Message Structure (btcommon.apple.type == 0x03)

The AirPrint message has several fields that contain important information:

Field Name Info Example Length Type Notes
btcommon.apple.airprint.addrtype Address Type 74 1 byte Bytes This may mean IPv4 vs IPv6
btcommon.apple.airprint.resourcepathtype Resource Path Type 07 1 byte Bytes Not sure what this is
btcommon.apple.airprint.securitytype Security Type 6f 1 byte Bytes Not sure what this is
btcommon.apple.airprint.qidport QID or TCP Port 55990 2 bytes Decimal  
btcommon.apple.airprint.ipaddr IPv4 or IPv6 Address e52f:eee5:be15:1347:399:3500:1063:6fc5 16 bytes IPv6  
btcommon.apple.airprint.power Measured Power 6d 1 byte Bytes Is this dbm, db? Sometimes it’s optional

The message fields, observed values, and their meanings are as follows:

  • Type: 1 byte, 0x03 – indicates an AirPrint message
  • Length: 1 byte, 0x16 – number of bytes in the message payload
  • Address Type: 1 byte
  • Resource Path Type: 1 byte
  • Security Type: 1 byte
  • QID or TCP Port: 2 bytes
  • IPv4/6 Address: 16 bytes
  • Measured Power: 1 byte

Summary

I have updated my code to be compatible with iOS 13 and above, covering all versions. Additionally, I have developed a dissector for Wireshark to categorize and filter the required data, making the project more user-friendly and easier to implement. This work has required dedicated effort and meticulous attention to detail. I am continually improving it to keep up with future updates to Apple’s systems.