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