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: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]
Bases:
StrField
- class scapy.contrib.eddystone.Eddystone_EID(_pkt, /, *, tx_power=0, eid=None)[source]
Bases:
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(_pkt, /, *, type=None, reserved=0)[source]
Bases:
Packet
,LowEnergyBeaconHelper
The base Eddystone frame on which all Eddystone messages are built.
https://github.com/google/eddystone/blob/master/protocol-specification.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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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(_pkt, /, *, version=None)[source]
Bases:
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(_pkt, /, *, etlm=None, salt=None, mic=None)[source]
Bases:
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(_pkt, /, *, batt_mv=0, temperature=-32768, adv_cnt=None, sec_cnt=None)[source]
Bases:
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(_pkt, /, *, tx_power=0, namespace=None, instance=None, reserved=None)[source]
Bases:
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(_pkt, /, *, tx_power=0, url_scheme=0, url=None)[source]
Bases:
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