scapy.layers.bluetooth4LE¶
Bluetooth 4LE layer
-
class
scapy.layers.bluetooth4LE.
BDAddrField
(name, default, resolve=False)[source]¶ Bases:
scapy.fields.Field
[Optional
[str
],bytes
]
-
class
scapy.layers.bluetooth4LE.
BTLE
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACCESS ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE
BTLE fields¶ access_addr
2391391958
crc
None
-
-
class
scapy.layers.bluetooth4LE.
BTLEChanMapField
(name, default)[source]¶ Bases:
scapy.fields.Field
[int
,int
]
-
class
scapy.layers.bluetooth4LE.
BTLEFeatureField
(name, default)[source]¶ Bases:
scapy.fields._BitField
[Optional
[Union
[int
,scapy.fields.FlagValue
]]]
-
class
scapy.layers.bluetooth4LE.
BTLEPhysField
(name, default)[source]¶ Bases:
scapy.fields._BitField
[Optional
[Union
[int
,scapy.fields.FlagValue
]]]
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |R|T|RFU|PDU TYP|UNU| LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_ADV
BTLE_ADV fields¶ RxAdd
0
TxAdd
0
RFU
BitField
(2 bits)0
PDU_type
0
unused
BitField
(2 bits)0
Length
XBitField
(6 bits)None
-
payload_guess
¶ Possible sublayers:
BTLE_ADV_DIRECT_IND
,BTLE_ADV_IND
,BTLE_ADV_NONCONN_IND
,BTLE_ADV_SCAN_IND
,BTLE_CONNECT_REQ
,BTLE_SCAN_REQ
,BTLE_SCAN_RSP
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV_DIRECT_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | INITA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_ADV_DIRECT_IND
BTLE_ADV_DIRECT_IND fields¶ AdvA
None
InitA
None
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_ADV_IND
BTLE_ADV_IND fields¶ AdvA
None
data
[]
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV_NONCONN_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_ADV_NONCONN_IND
BTLE_ADV_NONCONN_IND fields¶ AdvA
None
data
[]
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV_SCAN_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_ADV_SCAN_IND
BTLE_ADV_SCAN_IND fields¶ AdvA
None
data
[]
-
-
class
scapy.layers.bluetooth4LE.
BTLE_CONNECT_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INITA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ADVA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CRC INIT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WIN SIZE | WIN OFFSET | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CHM | +-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SCA | HOP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_CONNECT_REQ
BTLE_CONNECT_REQ fields¶ InitA
None
AdvA
None
AA
0
crc_init
0
win_size
0
win_offset
0
interval
0
latency
0
timeout
0
chM
0
SCA
BitField
(3 bits)0
hop
BitField
(5 bits)0
-
-
class
scapy.layers.bluetooth4LE.
BTLE_CTRL
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPCODE | +-+-+-+-+-+-+-+-+ Fig. BTLE_CTRL
BTLE_CTRL fields¶ opcode
0
-
payload_guess
¶ Possible sublayers:
LL_CHANNEL_MAP_IND
,LL_CONNECTION_PARAM_REQ
,LL_CONNECTION_PARAM_RSP
,LL_CONNECTION_UPDATE_IND
,LL_ENC_REQ
,LL_ENC_RSP
,LL_FEATURE_REQ
,LL_FEATURE_RSP
,LL_LENGTH_REQ
,LL_LENGTH_RSP
,LL_MIN_USED_CHANNELS_IND
,LL_PAUSE_ENC_REQ
,LL_PAUSE_ENC_RSP
,LL_PHY_REQ
,LL_PHY_RSP
,LL_PHY_UPDATE_IND
,LL_PING_REQ
,LL_PING_RSP
,LL_REJECT_EXT_IND
,LL_REJECT_IND
,LL_SLAVE_FEATURE_REQ
,LL_START_ENC_REQ
,LL_START_ENC_RSP
,LL_TERMINATE_IND
,LL_UNKNOWN_RSP
,LL_VERSION_IND
-
-
class
scapy.layers.bluetooth4LE.
BTLE_DATA
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RFU |M|S|N|LLI| LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_DATA
BTLE_DATA fields¶ RFU
BitField
(3 bits)0
MD
BitField
(1 bit)0
SN
BitField
(1 bit)0
NESN
BitField
(1 bit)0
LLID
0
len
None
-
payload_guess
¶ Possible sublayers:
L2CAP_Hdr
,BTLE_CTRL
,BTLE_EMPTY_PDU
-
-
class
scapy.layers.bluetooth4LE.
BTLE_EMPTY_PDU
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
BTLE_PPI
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]Cooked BTLE PPI header
See
ppi_btle_t
in https://github.com/greatscottgadgets/libbtbb/blob/master/lib/src/pcap.c-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BTLE VERSION | BTLE CHANNEL | BTLE CLKN HIGH| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BTLE CLK 100NS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RSSI MAX | RSSI MIN | RSSI AVG | RSSI COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_PPI
BTLE_PPI fields¶ btle_version
0
btle_channel
None
btle_clkn_high
None
btle_clk_100ns
None
rssi_max
None
rssi_min
None
rssi_avg
None
rssi_count
None
-
-
class
scapy.layers.bluetooth4LE.
BTLE_RF
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]Cooked BTLE link-layer pseudoheader.
https://www.tcpdump.org/linktypes/LINKTYPE_BLUETOOTH_LE_LL_WITH_PHDR.html
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RF CHANNEL | SIGNAL | NOISE |ACCESS ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REFERENCE ACCESS ADDRESS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |D|S|N|D|R|A|C| TYPE |C|C|M|M| PHY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_RF
BTLE_RF fields¶ rf_channel
0
signal
-128
noise
-128
access_address_offenses
0
reference_access_address
0
dewhitened
LEBitField
(1 bit)0
sig_power_valid
LEBitField
(1 bit)0
noise_power_valid
LEBitField
(1 bit)0
decrypted
LEBitField
(1 bit)0
reference_access_address_valid
LEBitField
(1 bit)0
access_address_offenses_valid
LEBitField
(1 bit)0
channel_aliased
LEBitField
(1 bit)0
type
LEBitEnumField
(3 bits)0
crc_checked
LEBitField
(1 bit)0
crc_valid
LEBitField
(1 bit)0
mic_checked
LEBitField
(1 bit)0
mic_valid
LEBitField
(1 bit)0
phy
LEBitEnumField
(2 bits)0
-
-
class
scapy.layers.bluetooth4LE.
BTLE_SCAN_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCANA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ADVA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_SCAN_REQ
BTLE_SCAN_REQ fields¶ ScanA
None
AdvA
None
-
-
class
scapy.layers.bluetooth4LE.
BTLE_SCAN_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADVA | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_SCAN_RSP
BTLE_SCAN_RSP fields¶ AdvA
None
data
[]
-
-
class
scapy.layers.bluetooth4LE.
LL_CHANNEL_MAP_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHM | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INSTANT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_CHANNEL_MAP_IND
LL_CHANNEL_MAP_IND fields¶ chM
1099511627774
instant
0
-
-
class
scapy.layers.bluetooth4LE.
LL_CONNECTION_PARAM_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERVAL MIN | INTERVAL MAX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PREFERRED PERIO| REFERENCE CONN EVT COUNT | OFFSET0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET1 | OFFSET2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET3 | OFFSET4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_CONNECTION_PARAM_REQ
LL_CONNECTION_PARAM_REQ fields¶ interval_min
6
interval_max
6
latency
0
timeout
0
preferred_periodicity
0
reference_conn_evt_count
0
offset0
0
offset1
0
offset2
0
offset3
0
offset4
0
offset5
0
-
-
class
scapy.layers.bluetooth4LE.
LL_CONNECTION_PARAM_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INTERVAL MIN | INTERVAL MAX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PREFERRED PERIO| REFERENCE CONN EVT COUNT | OFFSET0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET1 | OFFSET2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET3 | OFFSET4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | OFFSET5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_CONNECTION_PARAM_RSP
LL_CONNECTION_PARAM_RSP fields¶ interval_min
6
interval_max
6
latency
0
timeout
0
preferred_periodicity
0
reference_conn_evt_count
0
offset0
0
offset1
0
offset2
0
offset3
0
offset4
0
offset5
0
-
-
class
scapy.layers.bluetooth4LE.
LL_CONNECTION_UPDATE_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | WIN SIZE | WIN OFFSET | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | INSTANT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_CONNECTION_UPDATE_IND
LL_CONNECTION_UPDATE_IND fields¶ win_size
0
win_offset
0
interval
6
latency
0
timeout
50
instant
6
-
-
class
scapy.layers.bluetooth4LE.
LL_ENC_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RAND | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EDIV | SKDM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | IVM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_ENC_REQ
LL_ENC_REQ fields¶ rand
0
ediv
0
skdm
0
ivm
0
-
-
class
scapy.layers.bluetooth4LE.
LL_ENC_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SKDS | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IVS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_ENC_RSP
LL_ENC_RSP fields¶ skds
0
ivs
0
-
-
class
scapy.layers.bluetooth4LE.
LL_FEATURE_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FEATURE SET | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_FEATURE_REQ
LL_FEATURE_REQ fields¶ feature_set
<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
LL_FEATURE_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FEATURE SET | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_FEATURE_RSP
LL_FEATURE_RSP fields¶ feature_set
<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
LL_LENGTH_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX RX BYTES | MAX RX TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX TX BYTES | MAX TX TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_LENGTH_REQ
LL_LENGTH_REQ fields¶ max_rx_bytes
251
max_rx_time
2120
max_tx_bytes
251
max_tx_time
2120
-
-
class
scapy.layers.bluetooth4LE.
LL_LENGTH_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX RX BYTES | MAX RX TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX TX BYTES | MAX TX TIME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_LENGTH_RSP
LL_LENGTH_RSP fields¶ max_rx_bytes
251
max_rx_time
2120
max_tx_bytes
251
max_tx_time
2120
-
-
class
scapy.layers.bluetooth4LE.
LL_MIN_USED_CHANNELS_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PHYS |MIN USED CHANNE| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_MIN_USED_CHANNELS_IND
LL_MIN_USED_CHANNELS_IND fields¶ phys
<Flag 0 ()>
min_used_channels
2
-
-
class
scapy.layers.bluetooth4LE.
LL_PAUSE_ENC_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_PAUSE_ENC_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_PHY_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 PHYS | RX PHYS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_PHY_REQ
LL_PHY_REQ fields¶ tx_phys
<Flag 0 ()>
rx_phys
<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
LL_PHY_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 PHYS | RX PHYS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_PHY_RSP
LL_PHY_RSP fields¶ tx_phys
<Flag 0 ()>
rx_phys
<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
LL_PHY_UPDATE_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 PHY | RX PHY | INSTANT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_PHY_UPDATE_IND
LL_PHY_UPDATE_IND fields¶ tx_phy
<Flag 0 ()>
rx_phy
<Flag 0 ()>
instant
0
-
-
class
scapy.layers.bluetooth4LE.
LL_PING_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_PING_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_REJECT_EXT_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REJECT OPCODE | ERROR CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_REJECT_EXT_IND
LL_REJECT_EXT_IND fields¶ reject_opcode
0
error_code
0
-
-
class
scapy.layers.bluetooth4LE.
LL_REJECT_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_SLAVE_FEATURE_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FEATURE SET | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. LL_SLAVE_FEATURE_REQ
LL_SLAVE_FEATURE_REQ fields¶ feature_set
<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
LL_START_ENC_REQ
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
fields_desc
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_START_ENC_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_TERMINATE_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_UNKNOWN_RSP
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
aliastypes
¶
-
-
class
scapy.layers.bluetooth4LE.
LL_VERSION_IND
(*args, **kargs)[source]¶ Bases:
scapy.base_classes.Gen
[scapy.packet.Packet
]-
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 | COMPANY | SUBVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. LL_VERSION_IND
LL_VERSION_IND fields¶ version
8
company
0
subversion
0
-