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:
Google’s Physical Web <https://google.github.io/physical-web/>
Waze Beacons <https://www.waze.com/beacons>
-
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(*args, **kargs)¶ Bases:
scapy.packet.PacketAn 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¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TX POWER | EID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Eddystone_EIDEddystone_EID fields¶ tx_power
0eid
None
-
-
class
scapy.contrib.eddystone.Eddystone_Frame(*args, **kargs)¶ Bases:
scapy.packet.Packet,scapy.layers.bluetooth.LowEnergyBeaconHelperThe 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¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE |RESERVE| +-+-+-+-+-+-+-+-+ Fig. Eddystone_FrameEddystone_Frame fields¶ type
BitField(4 bits)Nonereserved
BitField(4 bits)0
-
payload_guess¶ Possible sublayers:
Eddystone_EID,Eddystone_TLM,Eddystone_UID,Eddystone_URL
-
-
class
scapy.contrib.eddystone.Eddystone_TLM(*args, **kargs)¶ Bases:
scapy.packet.PacketAn Eddystone type for transmitting beacon telemetry information.
https://github.com/google/eddystone/tree/master/eddystone-tlm
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | +-+-+-+-+-+-+-+-+ Fig. Eddystone_TLMEddystone_TLM fields¶ version
None
-
payload_guess¶ Possible sublayers:
Eddystone_TLM_Encrypted,Eddystone_TLM_Unencrypted
-
-
class
scapy.contrib.eddystone.Eddystone_TLM_Encrypted(*args, **kargs)¶ Bases:
scapy.packet.PacketA 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¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ETLM | SALT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Eddystone_TLM_EncryptedEddystone_TLM_Encrypted fields¶ etlm
Nonesalt
Nonemic
None
-
-
class
scapy.contrib.eddystone.Eddystone_TLM_Unencrypted(*args, **kargs)¶ Bases:
scapy.packet.PacketA 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¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BATT MV | TEMPERATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADV CNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEC CNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Eddystone_TLM_UnencryptedEddystone_TLM_Unencrypted fields¶ batt_mv
0temperature
FixedPointField(16 bits)-32768adv_cnt
Nonesec_cnt
None
-
-
class
scapy.contrib.eddystone.Eddystone_UID(*args, **kargs)¶ Bases:
scapy.packet.PacketAn Eddystone type for transmitting a unique identifier.
https://github.com/google/eddystone/tree/master/eddystone-uid
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TX POWER | NAMESPACE | INSTANCE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Eddystone_UIDEddystone_UID fields¶ tx_power
0namespace
Noneinstance
Nonereserved
None
-
-
class
scapy.contrib.eddystone.Eddystone_URL(*args, **kargs)¶ Bases:
scapy.packet.PacketAn Eddystone type for transmitting a URL (to a web page).
https://github.com/google/eddystone/tree/master/eddystone-url
-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TX POWER | URL SCHEME | URL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. Eddystone_URLEddystone_URL fields¶ tx_power
0url_scheme
0url
None
-
static
from_url(url)¶ Creates an Eddystone_Frame with a Eddystone_URL for a given URL.
-
to_url()¶
-