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: Optional[scapy.fields.I], fmt: str = 'H', remain: int = 0)[source]
Bases:
scapy.fields.StrField
- class scapy.contrib.eddystone.Eddystone_EID(*args: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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
- 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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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