scapy.layers.bluetooth4LE

Bluetooth 4LE layer

class scapy.layers.bluetooth4LE.BDAddrField(name, default, resolve=False)[source]

Bases: scapy.fields.MACField

i2m(pkt, x)[source]
m2i(pkt, x)[source]
class scapy.layers.bluetooth4LE.BTLE(_pkt, /, *, access_addr=2391391958, crc=None)[source]

Bases: scapy.packet.Packet

aliastypes
static compute_crc(pdu, init=5592405)[source]
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

XLEIntField

2391391958

crc

X3BytesField

None

hashret()[source]
payload_guess

Possible sublayers: BTLE_ADV, BTLE_DATA

post_build(p, pay)[source]
post_dissect(s)[source]
pre_dissect(s)[source]
class scapy.layers.bluetooth4LE.BTLEChanMapField(name, default)[source]

Bases: scapy.fields.XByteField

addfield(pkt, s, val)[source]
getfield(pkt, s)[source]
class scapy.layers.bluetooth4LE.BTLEFeatureField(name, default)[source]

Bases: scapy.fields.FlagsField

class scapy.layers.bluetooth4LE.BTLEPhysField(name, default)[source]

Bases: scapy.fields.FlagsField

class scapy.layers.bluetooth4LE.BTLE_ADV(_pkt, /, *, RxAdd=0, TxAdd=0, ChSel=0, RFU=0, PDU_type=0, Length=None)[source]

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|C|R|PDU TYP|     LENGTH    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Fig. BTLE_ADV                           
BTLE_ADV fields

RxAdd

BitEnumField

0

TxAdd

BitEnumField

0

ChSel

BitEnumField

0

RFU

BitField (1 bit)

0

PDU_type

BitEnumField

0

Length

XByteField

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)[source]
class scapy.layers.bluetooth4LE.BTLE_ADV_DIRECT_IND(_pkt, /, *, AdvA=None, InitA=None)[source]

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

BDAddrField

None

InitA

BDAddrField

None

class scapy.layers.bluetooth4LE.BTLE_ADV_IND(_pkt, /, *, AdvA=None, data=[])[source]

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

BDAddrField

None

data

PacketListField

[]

class scapy.layers.bluetooth4LE.BTLE_ADV_NONCONN_IND(_pkt, /, *, AdvA=None, data=[])[source]

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

BDAddrField

None

data

PacketListField

[]

class scapy.layers.bluetooth4LE.BTLE_ADV_SCAN_IND(_pkt, /, *, AdvA=None, data=[])[source]

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

BDAddrField

None

data

PacketListField

[]

class scapy.layers.bluetooth4LE.BTLE_CONNECT_REQ(_pkt, /, *, InitA=None, AdvA=None, AA=0, crc_init=0, win_size=0, win_offset=0, interval=0, latency=0, timeout=0, chM=0, SCA=0, hop=0)[source]

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

BDAddrField

None

AdvA

BDAddrField

None

AA

XIntField

0

crc_init

X3BytesField

0

win_size

XByteField

0

win_offset

XLEShortField

0

interval

XLEShortField

0

latency

XLEShortField

0

timeout

XLEShortField

0

chM

BTLEChanMapField

0

SCA

BitField (3 bits)

0

hop

BitField (5 bits)

0

class scapy.layers.bluetooth4LE.BTLE_CTRL(_pkt, /, *, opcode=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     OPCODE    |
+-+-+-+-+-+-+-+-+

                          Fig. BTLE_CTRL                          
BTLE_CTRL fields

opcode

ByteEnumField

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(_pkt, /, *, RFU=0, MD=0, SN=0, NESN=0, LLID=0, len=None)[source]

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

0

len

ByteField

None

payload_guess

Possible sublayers: L2CAP_Hdr, BTLE_CTRL, BTLE_EMPTY_PDU

post_build(p, pay)[source]
class scapy.layers.bluetooth4LE.BTLE_EMPTY_PDU(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.BTLE_PPI(_pkt, /, *, 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)[source]

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

ByteField

0

btle_channel

LEShortField

None

btle_clkn_high

ByteField

None

btle_clk_100ns

LEIntField

None

rssi_max

SignedByteField

None

rssi_min

SignedByteField

None

rssi_avg

SignedByteField

None

rssi_count

ByteField

None

class scapy.layers.bluetooth4LE.BTLE_RF(_pkt, /, *, rf_channel=0, signal=-128, noise=-128, access_address_offenses=0, reference_access_address=0, dewhitened=0, sig_power_valid=0, noise_power_valid=0, decrypted=0, reference_access_address_valid=0, access_address_offenses_valid=0, channel_aliased=0, type=0, crc_checked=0, crc_valid=0, mic_checked=0, mic_valid=0, phy=0)[source]

Bases: 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

ByteField

0

signal

SignedByteField

-128

noise

SignedByteField

-128

access_address_offenses

ByteField

0

reference_access_address

XLEIntField

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

payload_guess

Possible sublayers: BTLE

class scapy.layers.bluetooth4LE.BTLE_SCAN_REQ(_pkt, /, *, ScanA=None, AdvA=None)[source]

Bases: scapy.packet.Packet

aliastypes
answers(other)[source]
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

BDAddrField

None

AdvA

BDAddrField

None

class scapy.layers.bluetooth4LE.BTLE_SCAN_RSP(_pkt, /, *, AdvA=None, data=[])[source]

Bases: scapy.packet.Packet

aliastypes
answers(other)[source]
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

BDAddrField

None

data

PacketListField

[]

class scapy.layers.bluetooth4LE.LL_CHANNEL_MAP_IND(_pkt, /, *, chM=1099511627774, instant=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              CHM                              |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            INSTANT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. LL_CHANNEL_MAP_IND                      
LL_CHANNEL_MAP_IND fields

chM

BTLEChanMapField

1099511627774

instant

XLEShortField

0

class scapy.layers.bluetooth4LE.LL_CONNECTION_PARAM_REQ(_pkt, /, *, 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)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          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

XShortField

6

interval_max

XShortField

6

latency

XShortField

0

timeout

XShortField

0

preferred_periodicity

XByteField

0

reference_conn_evt_count

XShortField

0

offset0

XShortField

0

offset1

XShortField

0

offset2

XShortField

0

offset3

XShortField

0

offset4

XShortField

0

offset5

XShortField

0

class scapy.layers.bluetooth4LE.LL_CONNECTION_PARAM_RSP(_pkt, /, *, 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)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          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

XShortField

6

interval_max

XShortField

6

latency

XShortField

0

timeout

XShortField

0

preferred_periodicity

XByteField

0

reference_conn_evt_count

XShortField

0

offset0

XShortField

0

offset1

XShortField

0

offset2

XShortField

0

offset3

XShortField

0

offset4

XShortField

0

offset5

XShortField

0

class scapy.layers.bluetooth4LE.LL_CONNECTION_UPDATE_IND(_pkt, /, *, win_size=0, win_offset=0, interval=6, latency=0, timeout=50, instant=6)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    WIN SIZE   |           WIN OFFSET          |    INTERVAL   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            LATENCY            |    TIMEOUT    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |            INSTANT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. LL_CONNECTION_UPDATE_IND                   
LL_CONNECTION_UPDATE_IND fields

win_size

XByteField

0

win_offset

XLEShortField

0

interval

XLEShortField

6

latency

XLEShortField

0

timeout

XLEShortField

50

instant

XLEShortField

6

class scapy.layers.bluetooth4LE.LL_ENC_REQ(_pkt, /, *, rand=0, ediv=0, skdm=0, ivm=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              RAND                             |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              EDIV             |              SKDM             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |              IVM              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LL_ENC_REQ                          
LL_ENC_REQ fields

rand

XLELongField

0

ediv

XLEShortField

0

skdm

XLELongField

0

ivm

XLEIntField

0

class scapy.layers.bluetooth4LE.LL_ENC_RSP(_pkt, /, *, skds=0, ivs=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              SKDS                             |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              IVS                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LL_ENC_RSP                          
LL_ENC_RSP fields

skds

XLELongField

0

ivs

XLEIntField

0

class scapy.layers.bluetooth4LE.LL_FEATURE_REQ(_pkt, /, *, feature_set=<Flag 0 ()>)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          FEATURE SET                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. LL_FEATURE_REQ                        
LL_FEATURE_REQ fields

feature_set

BTLEFeatureField

<Flag 0 ()>

class scapy.layers.bluetooth4LE.LL_FEATURE_RSP(_pkt, /, *, feature_set=<Flag 0 ()>)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          FEATURE SET                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. LL_FEATURE_RSP                        
LL_FEATURE_RSP fields

feature_set

BTLEFeatureField

<Flag 0 ()>

class scapy.layers.bluetooth4LE.LL_LENGTH_REQ(_pkt, /, *, max_rx_bytes=251, max_rx_time=2120, max_tx_bytes=251, max_tx_time=2120)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAX RX BYTES         |          MAX RX TIME          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAX TX BYTES         |          MAX TX TIME          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. LL_LENGTH_REQ                        
LL_LENGTH_REQ fields

max_rx_bytes

XLEShortField

251

max_rx_time

XLEShortField

2120

max_tx_bytes

XLEShortField

251

max_tx_time

XLEShortField

2120

class scapy.layers.bluetooth4LE.LL_LENGTH_RSP(_pkt, /, *, max_rx_bytes=251, max_rx_time=2120, max_tx_bytes=251, max_tx_time=2120)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAX RX BYTES         |          MAX RX TIME          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MAX TX BYTES         |          MAX TX TIME          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. LL_LENGTH_RSP                        
LL_LENGTH_RSP fields

max_rx_bytes

XLEShortField

251

max_rx_time

XLEShortField

2120

max_tx_bytes

XLEShortField

251

max_tx_time

XLEShortField

2120

class scapy.layers.bluetooth4LE.LL_MIN_USED_CHANNELS_IND(_pkt, /, *, phys=<Flag 0 ()>, min_used_channels=2)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      PHYS     |MIN USED CHANNE|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Fig. LL_MIN_USED_CHANNELS_IND                   
LL_MIN_USED_CHANNELS_IND fields

phys

BTLEPhysField

<Flag 0 ()>

min_used_channels

ByteField

2

class scapy.layers.bluetooth4LE.LL_PAUSE_ENC_REQ(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.LL_PAUSE_ENC_RSP(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.LL_PHY_REQ(_pkt, /, *, tx_phys=<Flag 0 ()>, rx_phys=<Flag 0 ()>)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    TX PHYS    |    RX PHYS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LL_PHY_REQ                          
LL_PHY_REQ fields

tx_phys

BTLEPhysField

<Flag 0 ()>

rx_phys

BTLEPhysField

<Flag 0 ()>

class scapy.layers.bluetooth4LE.LL_PHY_RSP(_pkt, /, *, tx_phys=<Flag 0 ()>, rx_phys=<Flag 0 ()>)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    TX PHYS    |    RX PHYS    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. LL_PHY_RSP                          
LL_PHY_RSP fields

tx_phys

BTLEPhysField

<Flag 0 ()>

rx_phys

BTLEPhysField

<Flag 0 ()>

class scapy.layers.bluetooth4LE.LL_PHY_UPDATE_IND(_pkt, /, *, tx_phy=<Flag 0 ()>, rx_phy=<Flag 0 ()>, instant=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     TX PHY    |     RX PHY    |            INSTANT            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. LL_PHY_UPDATE_IND                      
LL_PHY_UPDATE_IND fields

tx_phy

BTLEPhysField

<Flag 0 ()>

rx_phy

BTLEPhysField

<Flag 0 ()>

instant

XShortField

0

class scapy.layers.bluetooth4LE.LL_PING_REQ(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.LL_PING_RSP(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.LL_REJECT_EXT_IND(_pkt, /, *, reject_opcode=0, error_code=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| REJECT OPCODE |   ERROR CODE  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Fig. LL_REJECT_EXT_IND                      
LL_REJECT_EXT_IND fields

reject_opcode

XByteField

0

error_code

XByteField

0

class scapy.layers.bluetooth4LE.LL_REJECT_IND(_pkt, /, *, code=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CODE     |
+-+-+-+-+-+-+-+-+

                        Fig. LL_REJECT_IND                        
LL_REJECT_IND fields

code

XByteField

0

class scapy.layers.bluetooth4LE.LL_SLAVE_FEATURE_REQ(_pkt, /, *, feature_set=<Flag 0 ()>)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          FEATURE SET                          |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. LL_SLAVE_FEATURE_REQ                     
LL_SLAVE_FEATURE_REQ fields

feature_set

BTLEFeatureField

<Flag 0 ()>

class scapy.layers.bluetooth4LE.LL_START_ENC_REQ(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
fields_desc
class scapy.layers.bluetooth4LE.LL_START_ENC_RSP(_pkt, /)[source]

Bases: scapy.packet.Packet

aliastypes
class scapy.layers.bluetooth4LE.LL_TERMINATE_IND(_pkt, /, *, code=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CODE     |
+-+-+-+-+-+-+-+-+

                      Fig. LL_TERMINATE_IND                       
LL_TERMINATE_IND fields

code

XByteField

0

class scapy.layers.bluetooth4LE.LL_UNKNOWN_RSP(_pkt, /, *, code=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      CODE     |
+-+-+-+-+-+-+-+-+

                       Fig. LL_UNKNOWN_RSP                        
LL_UNKNOWN_RSP fields

code

XByteField

0

class scapy.layers.bluetooth4LE.LL_VERSION_IND(_pkt, /, *, version=8, company=0, subversion=0)[source]

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    VERSION    |            COMPANY            |   SUBVERSION  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               |
+-+-+-+-+-+-+-+-+

                       Fig. LL_VERSION_IND                        
LL_VERSION_IND fields

version

ByteEnumField

8

company

LEShortEnumField

0

subversion

XShortField

0