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. BTLEBTLE fields¶ access_addr
2391391958crc
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_ADVBTLE_ADV fields¶ RxAdd
BitEnumField(1 bit)0TxAdd
BitEnumField(1 bit)0RFU
BitField(2 bits)0PDU_type
BitEnumField(4 bits)0unused
BitField(2 bits)0Length
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_INDBTLE_ADV_DIRECT_IND fields¶ AdvA
NoneInitA
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_INDBTLE_ADV_IND fields¶ AdvA
Nonedata
[]
-
-
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_INDBTLE_ADV_NONCONN_IND fields¶ AdvA
Nonedata
[]
-
-
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_INDBTLE_ADV_SCAN_IND fields¶ AdvA
Nonedata
[]
-
-
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_REQBTLE_CONNECT_REQ fields¶ InitA
NoneAdvA
NoneAA
0crc_init
0win_size
0win_offset
0interval
0latency
0timeout
0chM
0SCA
BitField(3 bits)0hop
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_DATABTLE_DATA fields¶ RFU
BitField(3 bits)0MD
BitField(1 bit)0SN
BitField(1 bit)0NESN
BitField(1 bit)0LLID
BitEnumField(2 bits)0len
None
-
post_build(p, pay)¶
-
-
class
scapy.layers.bluetooth4LE.BTLE_PPI(*args, **kargs)¶ Bases:
scapy.layers.ppi.PPI_ElementCooked BTLE PPI header
See
ppi_btle_tin 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_PPIBTLE_PPI fields¶ btle_version
0btle_channel
Nonebtle_clkn_high
Nonebtle_clk_100ns
Nonerssi_max
Nonerssi_min
Nonerssi_avg
Nonerssi_count
None
-
-
class
scapy.layers.bluetooth4LE.BTLE_RF(*args, **kargs)¶ Bases:
scapy.packet.PacketCooked 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_RFBTLE_RF fields¶ rf_channel
0signal
-128noise
-128access_address_offenses
0reference_access_address
0flags
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_REQBTLE_SCAN_REQ fields¶ ScanA
NoneAdvA
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_RSPBTLE_SCAN_RSP fields¶ AdvA
Nonedata
[]
-
-
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. CtrlPDUCtrlPDU fields¶ optcode
0version
0Company
0subversion
0
-