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:

class scapy.contrib.eddystone.EddystoneURLField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[源代码]

基类:StrField

any2i(pkt, x)[源代码]
i2m(pkt, x)[源代码]
m2i(pkt, x)[源代码]
class scapy.contrib.eddystone.Eddystone_EID(_pkt, /, *, tx_power=0, eid=None)[源代码]

基类: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

SignedByteField

0

eid

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_Frame(_pkt, /, *, type=None, reserved=0)[源代码]

基类:Packet, 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(_pkt, /, *, version=None)[源代码]

基类: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

ByteEnumField

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)[源代码]

基类: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

StrFixedLenField

None

salt

StrFixedLenField

None

mic

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_TLM_Unencrypted(_pkt, /, *, batt_mv=0, temperature=-32768, adv_cnt=None, sec_cnt=None)[源代码]

基类: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

ShortField

0

temperature

FixedPointField (16 bits)

-32768

adv_cnt

IntField

None

sec_cnt

IntField

None

class scapy.contrib.eddystone.Eddystone_UID(_pkt, /, *, tx_power=0, namespace=None, instance=None, reserved=None)[源代码]

基类: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

SignedByteField

0

namespace

StrFixedLenField

None

instance

StrFixedLenField

None

reserved

StrFixedLenField

None

class scapy.contrib.eddystone.Eddystone_URL(_pkt, /, *, tx_power=0, url_scheme=0, url=None)[源代码]

基类: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

SignedByteField

0

url_scheme

ByteEnumField

0

url

EddystoneURLField

None

static from_url(url)[源代码]

Creates an Eddystone_Frame with a Eddystone_URL for a given URL.

to_url()[源代码]