scapy.contrib.eddystone

scapy.contrib.eddystone - Google Eddystone Bluetooth LE proximity beacons.

The Eddystone specification can be found at: https://github.com/google/eddystone/blob/master/protocol-specification.md

These beacons are used as building blocks for other systems:

class scapy.contrib.eddystone.EddystoneURLField(name, default, fmt='H', remain=0)

Bases: scapy.fields.StrField

any2i(pkt, x)
i2m(pkt, x)
m2i(pkt, x)
class scapy.contrib.eddystone.Eddystone_EID

Bases: scapy.packet.Packet

An Eddystone type for transmitting encrypted, ephemeral identifiers.

This implementation does not support decrypting this data.

https://github.com/google/eddystone/tree/master/eddystone-eid

aliastypes
fields_desc
Eddystone_EID fields

tx_power

SignedByteField

0

eid

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_Frame

Bases: scapy.packet.Packet, scapy.layers.bluetooth.LowEnergyBeaconHelper

The base Eddystone frame on which all Eddystone messages are built.

https://github.com/google/eddystone/blob/master/protocol-specification.md

aliastypes
build_eir()

Builds a list of EIR messages to wrap this frame.

fields_desc
Eddystone_Frame fields

type

BitField (4 bits)

None

reserved

BitField (4 bits)

0

payload_guess

Possible sublayers: Eddystone_EID, Eddystone_TLM, Eddystone_UID, Eddystone_URL

class scapy.contrib.eddystone.Eddystone_TLM

Bases: scapy.packet.Packet

An Eddystone type for transmitting beacon telemetry information.

https://github.com/google/eddystone/tree/master/eddystone-tlm

aliastypes
fields_desc
Eddystone_TLM fields

version

ByteEnumField

None

payload_guess

Possible sublayers: Eddystone_TLM_Encrypted, Eddystone_TLM_Unencrypted

class scapy.contrib.eddystone.Eddystone_TLM_Encrypted

Bases: scapy.packet.Packet

A subtype of Eddystone-TLM for transmitting telemetry in encrypted form.

This implementation does not support decrypting this data.

https://github.com/google/eddystone/blob/master/eddystone-tlm/tlm-encrypted.md

aliastypes
fields_desc
Eddystone_TLM_Encrypted fields

etlm

StrFixedLenField

None

salt

StrFixedLenField

None

mic

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_TLM_Unencrypted

Bases: scapy.packet.Packet

A subtype of Eddystone-TLM for transmitting telemetry in unencrypted form.

https://github.com/google/eddystone/blob/master/eddystone-tlm/tlm-plain.md

aliastypes
fields_desc
Eddystone_TLM_Unencrypted fields

batt_mv

ShortField

0

temperature

FixedPointField (16 bits)

-32768

adv_cnt

IntField

None

sec_cnt

IntField

None

class scapy.contrib.eddystone.Eddystone_UID

Bases: scapy.packet.Packet

An Eddystone type for transmitting a unique identifier.

https://github.com/google/eddystone/tree/master/eddystone-uid

aliastypes
fields_desc
Eddystone_UID fields

tx_power

SignedByteField

0

namespace

StrFixedLenField

None

instance

StrFixedLenField

None

reserved

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_URL

Bases: scapy.packet.Packet

An Eddystone type for transmitting a URL (to a web page).

https://github.com/google/eddystone/tree/master/eddystone-url

aliastypes
fields_desc
Eddystone_URL fields

tx_power

SignedByteField

0

url_scheme

ByteEnumField

0

url

EddystoneURLField

None

static from_url(url)

Creates an Eddystone_Frame with a Eddystone_URL for a given URL.

to_url()