scapy.layers.bluetooth4LE¶
Bluetooth 4LE layer
-
class
scapy.layers.bluetooth4LE.
BDAddrField
(name, default, resolve=False)¶ Bases:
scapy.fields.MACField
-
i2m
(pkt, x)¶
-
m2i
(pkt, x)¶
-
-
class
scapy.layers.bluetooth4LE.
BTLE
(*args, **kargs)¶ Bases:
scapy.packet.Packet
-
aliastypes
¶
-
static
compute_crc
(pdu, init=5592405)¶
-
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
-
hashret
()¶
-
post_build
(p, pay)¶
-
post_dissect
(s)¶
-
pre_dissect
(s)¶
-
-
class
scapy.layers.bluetooth4LE.
BTLEChanMapField
(name, default)¶ Bases:
scapy.fields.XByteField
-
addfield
(pkt, s, val)¶
-
getfield
(pkt, s)¶
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV
(*args, **kargs)¶ Bases:
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
BitEnumField
(1 bit)0
TxAdd
BitEnumField
(1 bit)0
RFU
BitField
(2 bits)0
PDU_type
BitEnumField
(4 bits)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
-
post_build
(p, pay)¶
-
-
class
scapy.layers.bluetooth4LE.
BTLE_ADV_DIRECT_IND
(*args, **kargs)¶ Bases:
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)¶ Bases:
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)¶ Bases:
scapy.layers.bluetooth4LE.BTLE_ADV_IND
-
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)¶ Bases:
scapy.layers.bluetooth4LE.BTLE_ADV_IND
-
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)¶ Bases:
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_DATA
(*args, **kargs)¶ Bases:
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
BitEnumField
(2 bits)0
len
None
-
post_build
(p, pay)¶
-
-
class
scapy.layers.bluetooth4LE.
BTLE_PPI
(*args, **kargs)¶ Bases:
scapy.layers.ppi.PPI_Element
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)¶ Bases:
scapy.packet.Packet
Cooked BTLE link-layer pseudoheader.
http://www.whiterocker.com/bt/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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. BTLE_RF
BTLE_RF fields¶ rf_channel
0
signal
-128
noise
-128
access_address_offenses
0
reference_access_address
0
flags
FlagsField
(16 bits)<Flag 0 ()>
-
-
class
scapy.layers.bluetooth4LE.
BTLE_SCAN_REQ
(*args, **kargs)¶ Bases:
scapy.packet.Packet
-
aliastypes
¶
-
answers
(other)¶
-
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)¶ Bases:
scapy.packet.Packet
-
aliastypes
¶
-
answers
(other)¶
-
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.
CtrlPDU
(*args, **kargs)¶ Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTCODE | VERSION | COMPANY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SUBVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. CtrlPDU
CtrlPDU fields¶ optcode
0
version
0
Company
0
subversion
0
-