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.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
¶ 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_EID
Eddystone_EID fields¶ tx_power
0
eid
None
-
-
class
scapy.contrib.eddystone.
Eddystone_Frame
(*args, **kargs)¶ 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
¶ 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_Frame
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
(*args, **kargs)¶ Bases:
scapy.packet.Packet
An 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_TLM
Eddystone_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.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
¶ 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_Encrypted
Eddystone_TLM_Encrypted fields¶ etlm
None
salt
None
mic
None
-
-
class
scapy.contrib.eddystone.
Eddystone_TLM_Unencrypted
(*args, **kargs)¶ 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
¶ 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_Unencrypted
Eddystone_TLM_Unencrypted fields¶ batt_mv
0
temperature
FixedPointField
(16 bits)-32768
adv_cnt
None
sec_cnt
None
-
-
class
scapy.contrib.eddystone.
Eddystone_UID
(*args, **kargs)¶ Bases:
scapy.packet.Packet
An 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_UID
Eddystone_UID fields¶ tx_power
0
namespace
None
instance
None
reserved
None
-
-
class
scapy.contrib.eddystone.
Eddystone_URL
(*args, **kargs)¶ 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
¶ 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_URL
Eddystone_URL fields¶ tx_power
0
url_scheme
0
url
None
-
static
from_url
(url)¶ Creates an Eddystone_Frame with a Eddystone_URL for a given URL.
-
to_url
()¶
-