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()