scapy.layers.bluetooth
Bluetooth layers, sockets and send/receive functions.
- class scapy.layers.bluetooth.ATT_Error_Response(_pkt, /, *, request=0, handle=0, ecode=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REQUEST | HANDLE | ECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Error_Response
request
0
handle
0
ecode
0
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Request(_pkt, /, *, mtu=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Response(_pkt, /, *, mtu=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Execute_Write_Request(_pkt, /, *, flags=1)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request(_pkt, /, *, start=1, end=65535, uuid=None, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_By_Type_Value_Request
start
1
end
65535
uuid
None
data
b''
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Response(_pkt, /, *, handles=[])[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Find_Information_Request(_pkt, /, *, start=0, end=65535)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_Request
start
0
end
65535
- class scapy.layers.bluetooth.ATT_Find_Information_Response(_pkt, /, *, format=1, handles=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT |HANDLE| +-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_Response
format
1
handles
MultipleTypeField
(PacketListField, PacketListField, StrFixedLenField)b''
- class scapy.layers.bluetooth.ATT_Handle(_pkt, /, *, handle=0, value=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Handle_UUID128(_pkt, /, *, handle=0, value=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_UUID128
handle
0
value
None
- class scapy.layers.bluetooth.ATT_Handle_Value_Indication(_pkt, /, *, gatt_handle=0, value=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Value_Indication
gatt_handle
0
value
b''
- class scapy.layers.bluetooth.ATT_Handle_Value_Notification(_pkt, /, *, gatt_handle=0, value=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Value_Notification
gatt_handle
0
value
b''
- class scapy.layers.bluetooth.ATT_Handle_Variable(_pkt, /, *, handle=0, value=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Variable
handle
0
value
0
- val_length
- class scapy.layers.bluetooth.ATT_Hdr(_pkt, /, *, opcode=None)[source]
Bases:
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. ATT_Hdr
opcode
None
- payload_guess
Possible sublayers:
ATT_Error_Response
,ATT_Exchange_MTU_Request
,ATT_Exchange_MTU_Response
,ATT_Execute_Write_Request
,ATT_Execute_Write_Response
,ATT_Find_By_Type_Value_Request
,ATT_Find_By_Type_Value_Response
,ATT_Find_Information_Request
,ATT_Find_Information_Response
,ATT_Handle_Value_Indication
,ATT_Handle_Value_Notification
,ATT_Prepare_Write_Request
,ATT_Prepare_Write_Response
,ATT_Read_Blob_Request
,ATT_Read_Blob_Response
,ATT_Read_By_Group_Type_Request
,ATT_Read_By_Group_Type_Response
,ATT_Read_By_Type_Request_128bit
,ATT_Read_By_Type_Request
,ATT_Read_By_Type_Response
,ATT_Read_Multiple_Request
,ATT_Read_Multiple_Response
,ATT_Read_Request
,ATT_Read_Response
,ATT_Write_Command
,ATT_Write_Request
,ATT_Write_Response
- class scapy.layers.bluetooth.ATT_Prepare_Write_Request(_pkt, /, *, gatt_handle=0, offset=0, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Prepare_Write_Request
gatt_handle
0
offset
0
data
b''
- class scapy.layers.bluetooth.ATT_Prepare_Write_Response(_pkt, /, *, gatt_handle=0, offset=0, data=b'')[source]
Bases:
ATT_Prepare_Write_Request
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Prepare_Write_Response
gatt_handle
0
offset
0
data
b''
- class scapy.layers.bluetooth.ATT_Read_Blob_Request(_pkt, /, *, gatt_handle=0, offset=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_Blob_Request
gatt_handle
0
offset
0
- class scapy.layers.bluetooth.ATT_Read_Blob_Response(_pkt, /, *, value=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request(_pkt, /, *, start=0, end=65535, uuid=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Group_Type_Request
start
0
end
65535
uuid
0
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Response(_pkt, /, *, length=0, data=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request(_pkt, /, *, start=1, end=65535, uuid=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_Request
start
1
end
65535
uuid
None
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request_128bit(_pkt, /, *, start=1, end=65535, uuid1=None, uuid2=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID1 | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID2 | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_Request_128bit
start
1
end
65535
uuid1
None
uuid2
None
- class scapy.layers.bluetooth.ATT_Read_By_Type_Response(_pkt, /, *, len=4, handles=[])[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Multiple_Request(_pkt, /, *, handles=[])[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Multiple_Response(_pkt, /, *, values=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Request(_pkt, /, *, gatt_handle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Response(_pkt, /, *, value=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.ATT_Write_Command(_pkt, /, *, gatt_handle=0, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_Command
gatt_handle
0
data
b''
- class scapy.layers.bluetooth.ATT_Write_Request(_pkt, /, *, gatt_handle=0, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_Request
gatt_handle
0
data
b''
- class scapy.layers.bluetooth.BluetoothHCISocket(iface=65536, type=None)[source]
Bases:
SuperSocket
- desc = 'read/write on a BlueTooth HCI socket'
- class scapy.layers.bluetooth.BluetoothL2CAPSocket(bt_address)[source]
Bases:
SuperSocket
- desc = 'read/write packets on a connected L2CAP socket'
- class scapy.layers.bluetooth.BluetoothMonitorSocket[source]
Bases:
_BluetoothLibcSocket
- desc = 'Read/write over a Bluetooth monitor channel'
- class scapy.layers.bluetooth.BluetoothRFCommSocket(bt_address, port=0)[source]
Bases:
BluetoothL2CAPSocket
read/write packets on a connected RFCOMM socket
- class scapy.layers.bluetooth.BluetoothUserSocket(adapter_index=0)[source]
Bases:
_BluetoothLibcSocket
- desc = 'read/write H4 over a Bluetooth user channel'
- class scapy.layers.bluetooth.EIR_ClassOfDevice(_pkt, /, *, major_service_classes=<Flag 0 ()>, major_device_class=0, minor_device_class=0, fixed=0)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MAJOR SERVICE CLASSES|MAJOR DEV|MINOR DEVIC|FIX| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_ClassOfDevice
major_service_classes
<Flag 0 ()>
major_device_class
0
minor_device_class
BitField
(6 bits)0
fixed
BitField
(2 bits)0
- class scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_CompleteList32BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_CompleteLocalName(_pkt, /, *, local_name=b'')[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_Device_ID(_pkt, /, *, vendor_id_source=0, vendor_id=0, product_id=0, version=0)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VENDOR ID SOURCE | VENDOR ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PRODUCT ID | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_Device_ID
vendor_id_source
0
vendor_id
0
product_id
0
version
0
- class scapy.layers.bluetooth.EIR_Flags(_pkt, /, *, flags=<Flag 2 (general_disc_mode)>)[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_Hdr(_pkt, /, *, len=None, type=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_Hdr
len
None
type
0
- payload_guess
Possible sublayers:
EIR_ClassOfDevice
,EIR_CompleteList128BitServiceUUIDs
,EIR_CompleteList16BitServiceUUIDs
,EIR_CompleteList32BitServiceUUIDs
,EIR_CompleteLocalName
,EIR_Device_ID
,EIR_Flags
,EIR_IncompleteList128BitServiceUUIDs
,EIR_IncompleteList16BitServiceUUIDs
,EIR_IncompleteList32BitServiceUUIDs
,EIR_Manufacturer_Specific_Data
,EIR_PeripheralConnectionIntervalRange
,EIR_Raw
,EIR_SecureSimplePairingHashC192
,EIR_SecureSimplePairingRandomizerR192
,EIR_SecurityManagerOOBFlags
,EIR_ServiceData128BitUUID
,EIR_ServiceData16BitUUID
,EIR_ServiceData32BitUUID
,EIR_ShortenedLocalName
,EIR_TX_Power_Level
- class scapy.layers.bluetooth.EIR_IncompleteList128BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList128BitServiceUUIDs
- aliastypes
- class scapy.layers.bluetooth.EIR_IncompleteList16BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList16BitServiceUUIDs
- aliastypes
- class scapy.layers.bluetooth.EIR_IncompleteList32BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList32BitServiceUUIDs
- aliastypes
- class scapy.layers.bluetooth.EIR_Manufacturer_Specific_Data(_pkt, /, *, company_id=None)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMPANY ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_Manufacturer_Specific_Data
company_id
None
- payload_guess
Possible sublayers:
Apple_BLE_Frame
- classmethod register_magic_payload(payload_cls, magic_check=None)[source]
Registers a payload type that uses magic data.
Traditional payloads require registration of a Bluetooth Company ID (requires company membership of the Bluetooth SIG), or a Bluetooth Short UUID (requires a once-off payment).
There are alternatives which don’t require registration (such as 128-bit UUIDs), but the biggest consumer of energy in a beacon is the radio – so the energy consumption of a beacon is proportional to the number of bytes in a beacon frame.
Some beacon formats side-step this issue by using the Company ID of their beacon hardware manufacturer, and adding a “magic data sequence” at the start of the Manufacturer Specific Data field.
Examples of this are AltBeacon and GeoBeacon.
For an example of this method in use, see
scapy.contrib.altbeacon
.- Parameters:
payload_cls (Type[scapy.packet.Packet]) – A reference to a Packet subclass to register as a payload.
magic_check (Callable[[bytes], bool]) – (optional) callable to use to if a payload should be associated with this type. If not supplied,
payload_cls.magic_check
is used instead.
- Raises:
TypeError – If
magic_check
is not specified, andpayload_cls.magic_check
is not implemented.
- registered_magic_payloads = {<class 'scapy.contrib.altbeacon.AltBeacon'>: <bound method AltBeacon.magic_check of <class 'scapy.contrib.altbeacon.AltBeacon'>>}
- class scapy.layers.bluetooth.EIR_PeripheralConnectionIntervalRange(_pkt, /, *, conn_interval_min=65535, conn_interval_max=65535)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONN INTERVAL MIN | CONN INTERVAL MAX | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_PeripheralConnectionIntervalRange
conn_interval_min
65535
conn_interval_max
65535
- class scapy.layers.bluetooth.EIR_Raw(_pkt, /, *, data=b'')[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_SecureSimplePairingHashC192(_pkt, /, *, hash=0)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASH | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_SecureSimplePairingHashC192
hash
0
- class scapy.layers.bluetooth.EIR_SecureSimplePairingRandomizerR192(_pkt, /, *, randomizer=0)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RANDOMIZER | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_SecureSimplePairingRandomizerR192
randomizer
0
- class scapy.layers.bluetooth.EIR_SecurityManagerOOBFlags(_pkt, /, *, oob_flags_field=0, le_supported=0, previously_used=0, address_type=0, reserved=0)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |O|L|P|A|RESERVE| +-+-+-+-+-+-+-+-+ Fig. EIR_SecurityManagerOOBFlags
oob_flags_field
BitField
(1 bit)0
le_supported
BitField
(1 bit)0
previously_used
BitField
(1 bit)0
address_type
BitField
(1 bit)0
reserved
BitField
(4 bits)0
- class scapy.layers.bluetooth.EIR_ServiceData128BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SVC UUID | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_ServiceData128BitUUID
svc_uuid
None
- class scapy.layers.bluetooth.EIR_ServiceData16BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SVC UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_ServiceData16BitUUID
svc_uuid
None
- payload_guess
Possible sublayers:
Eddystone_Frame
,Exposure_Notification_Frame
- class scapy.layers.bluetooth.EIR_ServiceData32BitUUID(_pkt, /, *, svc_uuid=0)[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.EIR_ShortenedLocalName(_pkt, /, *, local_name=b'')[source]
Bases:
EIR_CompleteLocalName
- aliastypes
- class scapy.layers.bluetooth.EIR_TX_Power_Level(_pkt, /, *, level=0)[source]
Bases:
EIR_Element
- aliastypes
- class scapy.layers.bluetooth.HCI_ACL_Hdr(_pkt, /, *, BC=0, PB=0, handle=0, len=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BC| PB| HANDLE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_ACL_Hdr
BC
BitField
(2 bits)0
PB
BitField
(2 bits)0
handle
BitField
(12 bits)0
len
None
- class scapy.layers.bluetooth.HCI_Cmd_Accept_Connection_Request(_pkt, /, *, bd_addr=None, role=1)[source]
Bases:
Packet
7.1.8 Accept Connection Request command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ROLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Accept_Connection_Request
bd_addr
None
role
1
- class scapy.layers.bluetooth.HCI_Cmd_Authentication_Requested(_pkt, /, *, handle=0)[source]
Bases:
Packet
7.1.15 Authentication Requested command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Link_Key(_pkt, /, *, handle=0)[source]
Bases:
Packet
7.1.17 Change Connection Link Key command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Packet_Type(_pkt, /, *, connection_handle=None, packet_type=0)[source]
Bases:
Packet
7.1.14 Change Connection Packet Type command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONNECTION HANDLE | PACKET TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Change_Connection_Packet_Type
connection_handle
None
packet_type
0
- class scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size(_pkt, /, *, status=0, size=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_BD_Addr(_pkt, /, *, addr=None)[source]
Bases:
Packet
7.4.6 Read BD_ADDR command complete
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_Read_BD_Addr
addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Extended_Features(_pkt, /, *, page=0, max_page=0, extended_features=0)[source]
Bases:
Packet
7.4.4 Read Local Extended Features command complete
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PAGE | MAX PAGE | EXTENDED FEATURES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_Read_Local_Extended_Features
page
0
max_page
0
extended_features
0
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Name(_pkt, /, *, local_name=b'')[source]
Bases:
Packet
7.3.12 Read Local Name command complete
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCAL NAME | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_Read_Local_Name
local_name
b''
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Version_Information(_pkt, /, *, hci_version=0, hci_subversion=0, lmp_version=0, company_identifier=0, lmp_subversion=0)[source]
Bases:
Packet
7.4.1 Read Local Version Information command complete
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HCI VERSION | HCI SUBVERSION | LMP VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COMPANY IDENTIFIER | LMP SUBVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_Read_Local_Version_Information
hci_version
0
hci_subversion
0
lmp_version
0
company_identifier
0
lmp_subversion
0
- class scapy.layers.bluetooth.HCI_Cmd_Create_Connection(_pkt, /, *, bd_addr=None, packet_type=52248, page_scan_repetition_mode=2, reserved=0, clock_offset=0, allow_role_switch=1)[source]
Bases:
Packet
7.1.5 Create Connection command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | PACKET TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |PAGE SCAN REPET| RESERVED | CLOCK OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |ALLOW ROLE SWIT| +-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Create_Connection
bd_addr
None
packet_type
52248
page_scan_repetition_mode
2
reserved
0
clock_offset
0
allow_role_switch
1
- class scapy.layers.bluetooth.HCI_Cmd_Create_Connection_Cancel(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.7 Create Connection Cancel command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Create_Connection_Cancel
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Disconnect(_pkt, /, *, handle=0, reason=19)[source]
Bases:
Packet
7.1.6 Disconnect command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Exit_Peiodic_Inquiry_Mode(_pkt, /)[source]
Bases:
Packet
7.1.4 Exit Periodic Inquiry Mode command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Hold_Mode(_pkt, /, *, connection_handle=0, hold_mode_max_interval=2, hold_mode_min_interval=2)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONNECTION HANDLE | HOLD MODE MAX INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HOLD MODE MIN INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Hold_Mode
connection_handle
0
hold_mode_max_interval
2
hold_mode_min_interval
2
- class scapy.layers.bluetooth.HCI_Cmd_IO_Capability_Request_Reply(_pkt, /, *, bd_addr=None, io_capability=None, oob_data_present=None, authentication_requirement=None)[source]
Bases:
Packet
7.1.29 IO Capability Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | IO CAPABILITY |OOB DATA PRESEN| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |AUTHENTICATION | +-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_IO_Capability_Request_Reply
bd_addr
None
io_capability
None
oob_data_present
None
authentication_requirement
None
- class scapy.layers.bluetooth.HCI_Cmd_Inquiry(_pkt, /, *, lap=10390323, inquiry_length=0, num_responses=0)[source]
Bases:
Packet
7.1.1 Inquiry command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LAP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INQUIRY LENGTH| NUM RESPONSES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Inquiry
lap
10390323
inquiry_length
0
num_responses
0
- class scapy.layers.bluetooth.HCI_Cmd_Inquiry_Cancel(_pkt, /)[source]
Bases:
Packet
7.1.2 Inquiry Cancel command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_Filter_Accept_List(_pkt, /, *, address_type=0, address=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESS TYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Add_Device_To_Filter_Accept_List
address_type
0
address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Clear_Filter_Accept_List(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update(_pkt, /, *, handle=0, min_interval=0, max_interval=0, latency=0, timeout=0, min_ce=0, max_ce=65535)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | MIN INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX INTERVAL | LATENCY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | MIN CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Connection_Update
handle
0
min_interval
0
max_interval
0
latency
0
timeout
0
min_ce
0
max_ce
65535
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection(_pkt, /, *, interval=96, window=48, filter=0, patype=0, paddr=None, atype=0, min_interval=40, max_interval=56, latency=0, timeout=42, min_ce=0, max_ce=0)[source]
Bases:
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 | WINDOW | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FILTER | PATYPE | PADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | MIN INTERVAL | MAX INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIN CE | MAX CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Create_Connection
interval
96
window
48
filter
0
patype
0
paddr
None
atype
0
min_interval
40
max_interval
56
latency
0
timeout
42
min_ce
0
max_ce
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection_Cancel(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Enable_Encryption(_pkt, /, *, handle=0, rand=None, ediv=0, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | EDIV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LTK | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Enable_Encryption
handle
0
rand
None
ediv
0
ltk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply(_pkt, /, *, handle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Reply(_pkt, /, *, handle=0, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | LTK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Long_Term_Key_Request_Reply
handle
0
ltk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V1(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V2(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Filter_Accept_List_Size(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Local_Supported_Features(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Features(_pkt, /, *, handle=64)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List(_pkt, /, *, address_type=0, address=None)[source]
Bases:
HCI_Cmd_LE_Add_Device_To_Filter_Accept_List
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESS TYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List
address_type
0
address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertise_Enable(_pkt, /, *, enable=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data(_pkt, /, *, len=None, data=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | DATA | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Advertising_Data
len
None
data
[]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Parameters(_pkt, /, *, interval_min=2048, interval_max=2048, adv_type=0, oatype=0, datype=0, daddr=None, channel_map=7, filter_policy=0)[source]
Bases:
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADV TYPE | OATYPE | DATYPE | DADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CHANNEL MAP | FILTER POLICY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Advertising_Parameters
interval_min
2048
interval_max
2048
adv_type
0
oatype
0
datype
0
daddr
None
channel_map
7
filter_policy
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Random_Address(_pkt, /, *, address=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESS | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Random_Address
address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Enable(_pkt, /, *, enable=1, filter_dups=1)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Parameters(_pkt, /, *, type=0, interval=16, window=16, atype=0, policy=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | INTERVAL | WINDOW | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ATYPE | POLICY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Scan_Parameters
type
0
interval
16
window
16
atype
0
policy
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Response_Data(_pkt, /, *, len=None, data=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.11 Link Key Request Negative Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Link_Key_Request_Negative_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Reply(_pkt, /, *, bd_addr=None, link_key=None)[source]
Bases:
Packet
7.1.10 Link Key Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINK KEY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Link_Key_Request_Reply
bd_addr
None
link_key
None
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Selection(_pkt, /, *, handle=0)[source]
Bases:
Packet
7.1.18 Change Connection Link Key command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.13 PIN Code Request Negative Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_PIN_Code_Request_Negative_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Reply(_pkt, /, *, bd_addr=None, pin_code_length=7, pin_code=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet
7.1.12 PIN Code Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |PIN CODE LENGTH| PIN CODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_PIN_Code_Request_Reply
bd_addr
None
pin_code_length
7
pin_code
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.HCI_Cmd_Periodic_Inquiry_Mode(_pkt, /, *, max_period_length=3, min_period_length=2, lap=10390323, inquiry_length=0, num_responses=0)[source]
Bases:
Packet
7.1.3 Periodic Inquiry Mode command
- 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 PERIOD LENGTH | MIN PERIOD LENGTH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LAP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INQUIRY LENGTH| NUM RESPONSES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Periodic_Inquiry_Mode
max_period_length
3
min_period_length
2
lap
10390323
inquiry_length
0
num_responses
0
- class scapy.layers.bluetooth.HCI_Cmd_Read_BD_Addr(_pkt, /)[source]
Bases:
Packet
7.4.6 Read BD_ADDR command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_LE_Host_Support(_pkt, /)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_Link_Quality(_pkt, /, *, handle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Extended_Features(_pkt, /, *, page_number=0)[source]
Bases:
Packet
7.4.4 Read Local Extended Features command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Name(_pkt, /)[source]
Bases:
Packet
7.3.12 Read Local Name command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Version_Information(_pkt, /)[source]
Bases:
Packet
7.4.1 Read Local Version Information command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_RSSI(_pkt, /, *, handle=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Extended_Features(_pkt, /, *, connection_handle=None, page_number=None)[source]
Bases:
Packet
7.1.22 Read Remote Extended Features command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONNECTION HANDLE | PAGE NUMBER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Read_Remote_Extended_Features
connection_handle
None
page_number
None
- class scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Supported_Features(_pkt, /, *, connection_handle=None)[source]
Bases:
Packet
7.1.21 Read Remote Supported Features command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Reject_Connection_Response(_pkt, /, *, bd_addr=None, reason=1)[source]
Bases:
Packet
7.1.9 Reject Connection Request command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | REASON | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Reject_Connection_Response
bd_addr
None
reason
1
- class scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request(_pkt, /, *, bd_addr=None, page_scan_repetition_mode=2, reserved=0, clock_offset=0)[source]
Bases:
Packet
7.1.19 Remote Name Request command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |PAGE SCAN REPET| RESERVED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CLOCK OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Remote_Name_Request
bd_addr
None
page_scan_repetition_mode
2
reserved
0
clock_offset
0
- class scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request_Cancel(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.20 Remote Name Request Cancel command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Remote_Name_Request_Cancel
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.35 Remote OOB Data Request Negative Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Reply(_pkt, /, *, bd_addr=None, C=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', R=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet
7.1.34 Remote OOB Data Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | C | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | R | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Remote_OOB_Data_Request_Reply
bd_addr
None
C
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
R
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.HCI_Cmd_Reset(_pkt, /)[source]
Bases:
Packet
7.3.2 Reset command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Set_Connection_Encryption(_pkt, /, *, handle=0, encryption_enable=0)[source]
Bases:
Packet
7.1.16 Set Connection Encryption command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE |ENCRYPTION ENAB| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Set_Connection_Encryption
handle
0
encryption_enable
0
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter(_pkt, /, *, type=0)[source]
Bases:
Packet
7.3.3 Set Event Filter command
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask(_pkt, /, *, mask=b'\xff\xff\xfb\xff\x07\xf8\xbf=')[source]
Bases:
Packet
7.3.1 Set Event Mask command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MASK | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Set_Event_Mask
mask
b'\xff\xff\xfb\xff\x07\xf8\xbf='
- class scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.31 User Confirmation Request Negative Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_User_Confirmation_Request_Negative_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.30 User Confirmation Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_User_Confirmation_Request_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.1.33 User Passkey Request Negative Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_User_Passkey_Request_Negative_Reply
bd_addr
None
- class scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Reply(_pkt, /, *, bd_addr=None, numeric_value=None)[source]
Bases:
Packet
7.1.32 User Passkey Request Reply command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | NUMERIC VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_User_Passkey_Request_Reply
bd_addr
None
numeric_value
None
- class scapy.layers.bluetooth.HCI_Cmd_Write_Connect_Accept_Timeout(_pkt, /, *, timeout=32000)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Write_Extended_Inquiry_Response(_pkt, /, *, fec_required=0, eir_data=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FEC REQUIRED | EIR DATA | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Write_Extended_Inquiry_Response
fec_required
0
eir_data
[]
- class scapy.layers.bluetooth.HCI_Cmd_Write_LE_Host_Support(_pkt, /, *, supported=1, unused=1)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Write_Local_Name(_pkt, /, *, name='HCI_Write_Local_Name')[source]
Bases:
Packet
7.3.11 Write Local Name command
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAME | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Write_Local_Name
name
'HCI_Write_Local_Name'
- class scapy.layers.bluetooth.HCI_Cmd_Write_Loopback_Mode(_pkt, /, *, loopback_mode=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_Command_Hdr(_pkt, /, *, ogf=0, ocf=0, len=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OGF | OCF | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Command_Hdr
ogf
XBitField
(6 bits)0
ocf
XBitField
(10 bits)0
len
None
- property opcode
- payload_guess
Possible sublayers:
HCI_Cmd_Accept_Connection_Request
,HCI_Cmd_Authentication_Requested
,HCI_Cmd_Change_Connection_Link_Key
,HCI_Cmd_Change_Connection_Packet_Type
,HCI_Cmd_Create_Connection_Cancel
,HCI_Cmd_Create_Connection
,HCI_Cmd_Disconnect
,HCI_Cmd_Exit_Peiodic_Inquiry_Mode
,HCI_Cmd_Hold_Mode
,HCI_Cmd_IO_Capability_Request_Reply
,HCI_Cmd_Inquiry_Cancel
,HCI_Cmd_Inquiry
,HCI_Cmd_LE_Add_Device_To_Filter_Accept_List
,HCI_Cmd_LE_Clear_Filter_Accept_List
,HCI_Cmd_LE_Connection_Update
,HCI_Cmd_LE_Create_Connection_Cancel
,HCI_Cmd_LE_Create_Connection
,HCI_Cmd_LE_Enable_Encryption
,HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply
,HCI_Cmd_LE_Long_Term_Key_Request_Reply
,HCI_Cmd_LE_Read_Buffer_Size_V1
,HCI_Cmd_LE_Read_Buffer_Size_V2
,HCI_Cmd_LE_Read_Filter_Accept_List_Size
,HCI_Cmd_LE_Read_Local_Supported_Features
,HCI_Cmd_LE_Read_Remote_Features
,HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List
,HCI_Cmd_LE_Set_Advertise_Enable
,HCI_Cmd_LE_Set_Advertising_Data
,HCI_Cmd_LE_Set_Advertising_Parameters
,HCI_Cmd_LE_Set_Random_Address
,HCI_Cmd_LE_Set_Scan_Enable
,HCI_Cmd_LE_Set_Scan_Parameters
,HCI_Cmd_LE_Set_Scan_Response_Data
,HCI_Cmd_Link_Key_Request_Negative_Reply
,HCI_Cmd_Link_Key_Request_Reply
,HCI_Cmd_PIN_Code_Request_Reply
,HCI_Cmd_Periodic_Inquiry_Mode
,HCI_Cmd_Read_BD_Addr
,HCI_Cmd_Read_LE_Host_Support
,HCI_Cmd_Read_Link_Quality
,HCI_Cmd_Read_Local_Extended_Features
,HCI_Cmd_Read_Local_Name
,HCI_Cmd_Read_Local_Version_Information
,HCI_Cmd_Read_Loopback_Mode
,HCI_Cmd_Read_RSSI
,HCI_Cmd_Read_Remote_Extended_Features
,HCI_Cmd_Read_Remote_Supported_Features
,HCI_Cmd_Reject_Connection_Response
,HCI_Cmd_Remote_Name_Request_Cancel
,HCI_Cmd_Remote_Name_Request
,HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply
,HCI_Cmd_Remote_OOB_Data_Request_Reply
,HCI_Cmd_Reset
,HCI_Cmd_Set_Connection_Encryption
,HCI_Cmd_Set_Event_Filter
,HCI_Cmd_Set_Event_Mask
,HCI_Cmd_User_Confirmation_Request_Negative_Reply
,HCI_Cmd_User_Confirmation_Request_Reply
,HCI_Cmd_User_Passkey_Request_Negative_Reply
,HCI_Cmd_User_Passkey_Request_Reply
,HCI_Cmd_Write_Connect_Accept_Timeout
,HCI_Cmd_Write_Extended_Inquiry_Response
,HCI_Cmd_Write_LE_Host_Support
,HCI_Cmd_Write_Local_Name
,HCI_Cmd_Write_Loopback_Mode
- class scapy.layers.bluetooth.HCI_Event_Command_Complete(_pkt, /, *, number=0, opcode=0, status=0)[source]
Bases:
Packet
7.7.14 Command Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUMBER | OPCODE | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Command_Complete
number
0
opcode
0
status
0
- class scapy.layers.bluetooth.HCI_Event_Command_Status(_pkt, /, *, status=0, number=0, opcode=None)[source]
Bases:
Packet
7.7.15 Command Status event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | NUMBER | OPCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Command_Status
status
0
number
0
opcode
None
- class scapy.layers.bluetooth.HCI_Event_Connection_Complete(_pkt, /, *, status=0, handle=256, bd_addr=None, link_type=0, encryption_enabled=0)[source]
Bases:
Packet
7.7.3 Connection Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | BD ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LINK TYPE |ENCRYPTION ENAB| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Connection_Complete
status
0
handle
256
bd_addr
None
link_type
0
encryption_enabled
0
- class scapy.layers.bluetooth.HCI_Event_Disconnection_Complete(_pkt, /, *, status=0, handle=0, reason=0)[source]
Bases:
Packet
7.7.5 Disconnection Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | REASON | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Disconnection_Complete
status
0
handle
0
reason
0
- class scapy.layers.bluetooth.HCI_Event_Encryption_Change(_pkt, /, *, status=0, handle=0, enabled=0)[source]
Bases:
Packet
7.7.8 Encryption Change event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | ENABLED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Encryption_Change
status
0
handle
0
enabled
0
- class scapy.layers.bluetooth.HCI_Event_Extended_Inquiry_Result(_pkt, /, *, num_response=1, bd_addr=None, page_scan_repetition_mode=0, reserved=0, device_class=0, clock_offset=0, rssi=0, eir_data=[])[source]
Bases:
Packet
7.7.38 Extended Inquiry Result event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUM RESPONSE | BD ADDR | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | |PAGE SCAN REPET| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESERVED | DEVICE CLASS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLOCK OFFSET | RSSI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EIR DATA | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Extended_Inquiry_Result
num_response
1
bd_addr
None
page_scan_repetition_mode
0
reserved
0
device_class
0
clock_offset
0
rssi
0
eir_data
[]
- class scapy.layers.bluetooth.HCI_Event_Hdr(_pkt, /, *, code=0, len=None)[source]
Bases:
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 | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Hdr
code
0
len
None
- payload_guess
Possible sublayers:
HCI_Event_Command_Complete
,HCI_Event_Command_Status
,HCI_Event_Connection_Complete
,HCI_Event_Disconnection_Complete
,HCI_Event_Encryption_Change
,HCI_Event_Extended_Inquiry_Result
,HCI_Event_IO_Capability_Response
,HCI_Event_Inquiry_Complete
,HCI_Event_Inquiry_Result_With_Rssi
,HCI_Event_Inquiry_Result
,HCI_Event_LE_Meta
,HCI_Event_Link_Key_Request
,HCI_Event_Number_Of_Completed_Packets
,HCI_Event_Read_Remote_Extended_Features_Complete
,HCI_Event_Read_Remote_Supported_Features_Complete
,HCI_Event_Read_Remote_Version_Information_Complete
,HCI_Event_Remote_Name_Request_Complete
- class scapy.layers.bluetooth.HCI_Event_IO_Capability_Response(_pkt, /, *, bd_addr=None, io_capability=0, oob_data_present=0, authentication_requirements=0)[source]
Bases:
Packet
7.7.41 IO Capability Response event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | IO CAPABILITY |OOB DATA PRESEN| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |AUTHENTICATION | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_IO_Capability_Response
bd_addr
None
io_capability
0
oob_data_present
0
authentication_requirements
0
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Complete(_pkt, /, *, status=0)[source]
Bases:
Packet
7.7.1 Inquiry Complete event
- aliastypes
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Result(_pkt, /, *, num_response=0, addr=[], page_scan_repetition_mode=[], reserved=[], device_class=[], clock_offset=[])[source]
Bases:
Packet
7.7.2 Inquiry Result event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUM RESPONSE | ADDR |PAGE SCAN REPET| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RESERVED | DEVICE CLASS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLOCK OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Inquiry_Result
num_response
0
addr
[]
page_scan_repetition_mode
[]
reserved
[]
device_class
[]
clock_offset
[]
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Result_With_Rssi(_pkt, /, *, num_response=0, bd_addr=[], page_scan_repetition_mode=[], reserved=[], device_class=[], clock_offset=[], rssi=[])[source]
Bases:
Packet
7.7.33 Inquiry Result with RSSI event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUM RESPONSE | BD ADDR |PAGE SCAN REPET| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | RESERVED | DEVICE CLASS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLOCK OFFSET | RSSI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_Inquiry_Result_With_Rssi
num_response
0
bd_addr
[]
page_scan_repetition_mode
[]
reserved
[]
device_class
[]
clock_offset
[]
rssi
[]
- class scapy.layers.bluetooth.HCI_Event_LE_Meta(_pkt, /, *, event=0)[source]
Bases:
Packet
7.7.65 LE Meta event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EVENT | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_LE_Meta
event
0
- payload_guess
Possible sublayers:
HCI_LE_Meta_Advertising_Reports
,HCI_LE_Meta_Connection_Complete
,HCI_LE_Meta_Connection_Update_Complete
,HCI_LE_Meta_Long_Term_Key_Request
- class scapy.layers.bluetooth.HCI_Event_Link_Key_Request(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet
7.7.23 Link Key Request event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BD ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Link_Key_Request
bd_addr
None
- class scapy.layers.bluetooth.HCI_Event_Number_Of_Completed_Packets(_pkt, /, *, num_handles=0, connection_handle_list=[], num_completed_packets_list=[])[source]
Bases:
Packet
7.7.19 Number Of Completed Packets event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUM HANDLES | CONNECTION HANDLE LIST |NUM COMPLETED P| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_Number_Of_Completed_Packets
num_handles
0
connection_handle_list
[]
num_completed_packets_list
[]
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Extended_Features_Complete(_pkt, /, *, status=0, handle=0, page=0, max_page=0, extended_features=0)[source]
Bases:
Packet
7.7.34 Read Remote Extended Features Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | PAGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX PAGE | EXTENDED FEATURES | +-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_Read_Remote_Extended_Features_Complete
status
0
handle
0
page
0
max_page
0
extended_features
0
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Supported_Features_Complete(_pkt, /, *, status=0, handle=0, lmp_features=<Flag 0 ()>)[source]
Bases:
Packet
7.7.11 Read Remote Supported Features Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | LMP FEATURES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Read_Remote_Supported_Features_Complete
status
0
handle
0
lmp_features
<Flag 0 ()>
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Version_Information_Complete(_pkt, /, *, status=0, handle=0, version=0, manufacturer_name=0, subversion=0)[source]
Bases:
Packet
7.7.12 Read Remote Version Information Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MANUFACTURER NAME | SUBVERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Read_Remote_Version_Information_Complete
status
0
handle
0
version
0
manufacturer_name
0
subversion
0
- class scapy.layers.bluetooth.HCI_Event_Remote_Name_Request_Complete(_pkt, /, *, status=0, bd_addr=None, remote_name=b'\x00')[source]
Bases:
Packet
7.7.7 Remote Name Request Complete event
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | BD ADDR | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | REMOTE NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Remote_Name_Request_Complete
status
0
bd_addr
None
remote_name
b'\x00'
- class scapy.layers.bluetooth.HCI_Extended_Inquiry_Response(_pkt, /, *, eir_data=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EIR DATA | padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Extended_Inquiry_Response
eir_data
[]
- class scapy.layers.bluetooth.HCI_Hdr(_pkt, /, *, type=2)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | +-+-+-+-+-+-+-+-+ Fig. HCI_Hdr
type
2
- payload_guess
Possible sublayers:
HCI_ACL_Hdr
,HCI_Command_Hdr
,HCI_Event_Hdr
,Raw
- class scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Report(_pkt, /, *, type=0, atype=0, addr=None, len=None, data=[], rssi=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | ATYPE | ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | DATA | RSSI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Advertising_Report
type
0
atype
0
addr
None
len
None
data
[]
rssi
0
- class scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Reports(_pkt, /, *, len=None, reports=[])[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | REPORTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Advertising_Reports
len
None
reports
[]
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Complete(_pkt, /, *, status=0, handle=0, role=0, patype=0, paddr=None, interval=54, latency=0, supervision=42, clock_latency=5)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | ROLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PATYPE | PADDR | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | SUPERVISION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLOCK LATENCY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Connection_Complete
status
0
handle
0
role
0
patype
0
paddr
None
interval
54
latency
0
supervision
42
clock_latency
5
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Update_Complete(_pkt, /, *, status=0, handle=0, interval=54, latency=0, timeout=42)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Connection_Update_Complete
status
0
handle
0
interval
54
latency
0
timeout
42
- class scapy.layers.bluetooth.HCI_LE_Meta_Long_Term_Key_Request(_pkt, /, *, handle=0, rand=None, ediv=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | EDIV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Long_Term_Key_Request
handle
0
rand
None
ediv
0
- class scapy.layers.bluetooth.HCI_Mon_Hdr(_pkt, /, *, opcode=None, adapter_id=None, len=None)[source]
Bases:
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 | ADAPTER ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Mon_Hdr
opcode
None
adapter_id
None
len
None
- payload_guess
Possible sublayers:
HCI_Command_Hdr
,HCI_Event_Hdr
,HCI_Mon_Index_Info
,HCI_Mon_New_Index
,HCI_Mon_System_Note
- class scapy.layers.bluetooth.HCI_Mon_Index_Info(_pkt, /, *, addr=None, manufacturer=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MANUFACTURER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Mon_Index_Info
addr
None
manufacturer
None
- class scapy.layers.bluetooth.HCI_Mon_New_Index(_pkt, /, *, bus=0, type=0, addr=None, devname=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BUS | TYPE | ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DEVNAME | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Mon_New_Index
bus
0
type
0
addr
None
devname
None
- class scapy.layers.bluetooth.HCI_Mon_Pcap_Hdr(_pkt, /, *, adapter_id=None, opcode=None)[source]
Bases:
HCI_Mon_Hdr
- 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADAPTER ID | OPCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Mon_Pcap_Hdr
adapter_id
None
opcode
None
- class scapy.layers.bluetooth.HCI_Mon_System_Note(_pkt, /, *, note=None)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.HCI_PHDR_Hdr(_pkt, /, *, direction=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_CmdHdr(_pkt, /, *, code=8, id=0, len=None)[source]
Bases:
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 | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_CmdHdr
code
8
id
0
len
None
- payload_guess
Possible sublayers:
L2CAP_CmdRej
,L2CAP_ConfReq
,L2CAP_ConfResp
,L2CAP_ConnReq
,L2CAP_ConnResp
,L2CAP_Connection_Parameter_Update_Request
,L2CAP_Connection_Parameter_Update_Response
,L2CAP_Create_Channel_Request
,L2CAP_Create_Channel_Response
,L2CAP_Credit_Based_Connection_Request
,L2CAP_Credit_Based_Connection_Response
,L2CAP_Credit_Based_Reconfigure_Request
,L2CAP_Credit_Based_Reconfigure_Response
,L2CAP_DisconnReq
,L2CAP_DisconnResp
,L2CAP_EchoReq
,L2CAP_EchoResp
,L2CAP_Flow_Control_Credit_Ind
,L2CAP_InfoReq
,L2CAP_InfoResp
,L2CAP_LE_Credit_Based_Connection_Request
,L2CAP_LE_Credit_Based_Connection_Response
,L2CAP_Move_Channel_Confirmation_Request
,L2CAP_Move_Channel_Confirmation_Response
,L2CAP_Move_Channel_Request
,L2CAP_Move_Channel_Response
- class scapy.layers.bluetooth.L2CAP_CmdRej(_pkt, /, *, reason=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_ConfReq(_pkt, /, *, dcid=0, flags=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_ConfResp(_pkt, /, *, scid=0, flags=0, result=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConfResp
scid
0
flags
0
result
0
- class scapy.layers.bluetooth.L2CAP_ConnReq(_pkt, /, *, psm=0, scid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_ConnResp(_pkt, /, *, dcid=0, scid=0, result=0, status=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConnResp
dcid
0
scid
0
result
0
status
0
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request(_pkt, /, *, min_interval=0, max_interval=0, slave_latency=0, timeout_mult=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MIN INTERVAL | MAX INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SLAVE LATENCY | TIMEOUT MULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Connection_Parameter_Update_Request
min_interval
0
max_interval
0
slave_latency
0
timeout_mult
0
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Response(_pkt, /, *, move_result=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_Create_Channel_Request(_pkt, /, *, psm=0, scid=0, controller_id=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PSM | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONTROLLER ID | +-+-+-+-+-+-+-+-+ Fig. L2CAP_Create_Channel_Request
psm
0
scid
0
controller_id
0
- class scapy.layers.bluetooth.L2CAP_Create_Channel_Response(_pkt, /, *, dcid=0, scid=0, result=0, status=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Create_Channel_Response
dcid
0
scid
0
result
0
status
0
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Request(_pkt, /, *, spsm=0, mtu=0, mps=0, initial_credits=0, scid=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SPSM | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MPS | INITIAL CREDITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Credit_Based_Connection_Request
spsm
0
mtu
0
mps
0
initial_credits
0
scid
0
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Response(_pkt, /, *, mtu=0, mps=0, initial_credits=0, result=0, dcid=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | MPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INITIAL CREDITS | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Credit_Based_Connection_Response
mtu
0
mps
0
initial_credits
0
result
0
dcid
0
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Request(_pkt, /, *, mtu=0, mps=0, dcid=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | MPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Credit_Based_Reconfigure_Request
mtu
0
mps
0
dcid
0
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Response(_pkt, /, *, result=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_DisconnReq(_pkt, /, *, dcid=0, scid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_DisconnResp(_pkt, /, *, dcid=0, scid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_EchoResp(_pkt, /, *, data=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_Flow_Control_Credit_Ind(_pkt, /, *, cid=0, credits=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CID | CREDITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Flow_Control_Credit_Ind
cid
0
credits
0
- class scapy.layers.bluetooth.L2CAP_Hdr(_pkt, /, *, len=None, cid=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | CID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Hdr
len
None
cid
0
- payload_guess
Possible sublayers:
ATT_Hdr
,L2CAP_CmdHdr
,SM_Hdr
- class scapy.layers.bluetooth.L2CAP_InfoReq(_pkt, /, *, type=0, data=b'')[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_InfoResp(_pkt, /, *, type=0, result=0, data=b'')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_InfoResp
type
0
result
0
data
b''
- class scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Request(_pkt, /, *, spsm=0, scid=0, mtu=0, mps=0, initial_credits=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SPSM | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MTU | MPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | INITIAL CREDITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_LE_Credit_Based_Connection_Request
spsm
0
scid
0
mtu
0
mps
0
initial_credits
0
- class scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Response(_pkt, /, *, dcid=0, mtu=0, mps=0, initial_credits=0, result=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | MTU | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MPS | INITIAL CREDITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_LE_Credit_Based_Connection_Response
dcid
0
mtu
0
mps
0
initial_credits
0
result
0
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Request(_pkt, /, *, icid=0, result=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ICID | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Move_Channel_Confirmation_Request
icid
0
result
0
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Response(_pkt, /, *, icid=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Request(_pkt, /, *, icid=0, dest_controller_id=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ICID |DEST CONTROLLER| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Move_Channel_Request
icid
0
dest_controller_id
0
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Response(_pkt, /, *, icid=0, result=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ICID | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Move_Channel_Response
icid
0
result
0
- class scapy.layers.bluetooth.LowEnergyBeaconHelper[source]
Bases:
object
Helpers for building packets for Bluetooth Low Energy Beacons.
Implementers provide a
build_eir()
implementation.This is designed to be used as a mix-in – see
scapy.contrib.eddystone
andscapy.contrib.ibeacon
for examples.- base_eir = [<EIR_Hdr type=flags |<EIR_Flags flags=general_disc_mode+br_edr_not_supported |>>]
- build_advertising_report()[source]
Builds a HCI_LE_Meta_Advertising_Report containing this frame.
- Return type:
scapy.bluetooth.HCI_LE_Meta_Advertising_Report
- build_eir()[source]
Builds a list of EIR messages to wrap this frame.
Users of this helper must implement this method.
- Returns:
List of HCI_Hdr with payloads that describe this beacon type
- Return type:
list[scapy.bluetooth.HCI_Hdr]
- build_set_advertising_data()[source]
Builds a HCI_Cmd_LE_Set_Advertising_Data containing this frame.
This includes the
HCI_Hdr
andHCI_Command_Hdr
layers.- Return type:
scapy.bluetooth.HCI_Hdr
- class scapy.layers.bluetooth.SM_Confirm(_pkt, /, *, confirm=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONFIRM | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Confirm
confirm
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_DHKey_Check(_pkt, /, *, dhkey_check=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DHKEY CHECK | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_DHKey_Check
dhkey_check
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Encryption_Information(_pkt, /, *, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LTK | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Encryption_Information
ltk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Failed(_pkt, /, *, reason=0)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.bluetooth.SM_Hdr(_pkt, /, *, sm_command=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SM COMMAND | +-+-+-+-+-+-+-+-+ Fig. SM_Hdr
sm_command
None
- payload_guess
Possible sublayers:
SM_Confirm
,SM_DHKey_Check
,SM_Encryption_Information
,SM_Failed
,SM_Identity_Address_Information
,SM_Identity_Information
,SM_Master_Identification
,SM_Pairing_Request
,SM_Pairing_Response
,SM_Public_Key
,SM_Random
,SM_Signing_Information
- class scapy.layers.bluetooth.SM_Identity_Address_Information(_pkt, /, *, atype=0, address=None)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Identity_Address_Information
atype
0
address
None
- class scapy.layers.bluetooth.SM_Identity_Information(_pkt, /, *, irk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IRK | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Identity_Information
irk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Master_Identification(_pkt, /, *, ediv=0, rand=b'\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EDIV | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Master_Identification
ediv
0
rand
b'\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Pairing_Request(_pkt, /, *, iocap=3, oob=0, authentication=0, max_key_size=16, initiator_key_distribution=0, responder_key_distribution=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOCAP | OOB | AUTHENTICATION| MAX KEY SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INITIATOR KEY D|RESPONDER KEY D| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Pairing_Request
iocap
3
oob
0
authentication
BitField
(8 bits)0
max_key_size
16
initiator_key_distribution
0
responder_key_distribution
0
- class scapy.layers.bluetooth.SM_Pairing_Response(_pkt, /, *, iocap=3, oob=0, authentication=0, max_key_size=16, initiator_key_distribution=0, responder_key_distribution=0)[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOCAP | OOB | AUTHENTICATION| MAX KEY SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INITIATOR KEY D|RESPONDER KEY D| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Pairing_Response
iocap
3
oob
0
authentication
BitField
(8 bits)0
max_key_size
16
initiator_key_distribution
0
responder_key_distribution
0
- class scapy.layers.bluetooth.SM_Public_Key(_pkt, /, *, key_x=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', key_y=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY X | + + | | + + | | + + | | + + | | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY Y | + + | | + + | | + + | | + + | | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Public_Key
key_x
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
key_y
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Random(_pkt, /, *, random=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RANDOM | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Random
random
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Signing_Information(_pkt, /, *, csrk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CSRK | + + | | + + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Signing_Information
csrk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.sockaddr_hci[source]
Bases:
Structure
- hci_channel
Structure/Union member
- hci_dev
Structure/Union member
- sin_family
Structure/Union member