scapy.layers.bluetooth
Bluetooth layers, sockets and send/receive functions.
- class scapy.layers.bluetooth.ATT_Error_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REQUEST | HANDLE | ECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Error_ResponseATT_Error_Response fields request
0handle
0ecode
0
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Request(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Execute_Write_Request(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Execute_Write_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_By_Type_Value_RequestATT_Find_By_Type_Value_Request fields start
1end
65535uuid
Nonedata
b''
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_By_Type_Value_ResponseATT_Find_By_Type_Value_Response fields handles
[]
- class scapy.layers.bluetooth.ATT_Find_Information_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_RequestATT_Find_Information_Request fields start
0end
65535
- class scapy.layers.bluetooth.ATT_Find_Information_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_ResponseATT_Find_Information_Response fields format
1handles
MultipleTypeField(PacketListField, PacketListField, StrFixedLenField)b''
- class scapy.layers.bluetooth.ATT_Handle(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_HandleATT_Handle fields handle
0value
0
- class scapy.layers.bluetooth.ATT_Handle_UUID128(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_UUID128ATT_Handle_UUID128 fields handle
0value
None
- class scapy.layers.bluetooth.ATT_Handle_Value_Indication(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Value_IndicationATT_Handle_Value_Indication fields gatt_handle
0value
b''
- class scapy.layers.bluetooth.ATT_Handle_Value_Notification(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Value_NotificationATT_Handle_Value_Notification fields gatt_handle
0value
b''
- class scapy.layers.bluetooth.ATT_Handle_Variable(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_VariableATT_Handle_Variable fields handle
0value
0
- val_length
- class scapy.layers.bluetooth.ATT_Hdr(*args: Any, **kargs: Any)[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. ATT_HdrATT_Hdr fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Prepare_Write_RequestATT_Prepare_Write_Request fields gatt_handle
0offset
0data
b''
- class scapy.layers.bluetooth.ATT_Prepare_Write_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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_ResponseATT_Prepare_Write_Response fields gatt_handle
0offset
0data
b''
- class scapy.layers.bluetooth.ATT_Read_Blob_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | OFFSET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_Blob_RequestATT_Read_Blob_Request fields gatt_handle
0offset
0
- class scapy.layers.bluetooth.ATT_Read_Blob_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Group_Type_RequestATT_Read_By_Group_Type_Request fields start
0end
65535uuid
0
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LENGTH | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Group_Type_ResponseATT_Read_By_Group_Type_Response fields length
0data
b''
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_RequestATT_Read_By_Type_Request fields start
1end
65535uuid
None
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request_128bit(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID1 | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UUID2 | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_Request_128bitATT_Read_By_Type_Request_128bit fields start
1end
65535uuid1
Noneuuid2
None
- class scapy.layers.bluetooth.ATT_Read_By_Type_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_ResponseATT_Read_By_Type_Response fields len
4handles
[]
- class scapy.layers.bluetooth.ATT_Read_Multiple_Request(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Multiple_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Request(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Read_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.ATT_Write_Command(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_CommandATT_Write_Command fields gatt_handle
0data
b''
- class scapy.layers.bluetooth.ATT_Write_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_RequestATT_Write_Request fields gatt_handle
0data
b''
- class scapy.layers.bluetooth.ATT_Write_Response(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.BluetoothHCISocket(iface=65536, type=None)[source]
Bases:
scapy.supersocket.SuperSocket- desc = 'read/write on a BlueTooth HCI socket'
- class scapy.layers.bluetooth.BluetoothL2CAPSocket(bt_address)[source]
Bases:
scapy.supersocket.SuperSocket- desc = 'read/write packets on a connected L2CAP socket'
- class scapy.layers.bluetooth.BluetoothRFCommSocket(bt_address, port=0)[source]
Bases:
scapy.layers.bluetooth.BluetoothL2CAPSocketread/write packets on a connected RFCOMM socket
- class scapy.layers.bluetooth.BluetoothUserSocket(adapter_index=0)[source]
Bases:
scapy.supersocket.SuperSocket- desc = 'read/write H4 over a Bluetooth user channel'
- class scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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 UUIDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_CompleteList128BitServiceUUIDsEIR_CompleteList128BitServiceUUIDs fields svc_uuids
[]
- class scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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 UUIDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_CompleteList16BitServiceUUIDsEIR_CompleteList16BitServiceUUIDs fields svc_uuids
[]
- class scapy.layers.bluetooth.EIR_CompleteLocalName(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_Element- aliastypes
- class scapy.layers.bluetooth.EIR_Device_ID(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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_IDEIR_Device_ID fields vendor_id_source
0vendor_id
0product_id
0version
0
- class scapy.layers.bluetooth.EIR_Element(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.EIR_Flags(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_Element- aliastypes
- class scapy.layers.bluetooth.EIR_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_HdrEIR_Hdr fields len
Nonetype
0
- payload_guess
Possible sublayers:
EIR_CompleteList128BitServiceUUIDs,EIR_CompleteList16BitServiceUUIDs,EIR_CompleteLocalName,EIR_Device_ID,EIR_Flags,EIR_IncompleteList128BitServiceUUIDs,EIR_IncompleteList16BitServiceUUIDs,EIR_Manufacturer_Specific_Data,EIR_Raw,EIR_ServiceData16BitUUID,EIR_ShortenedLocalName,EIR_TX_Power_Level
- class scapy.layers.bluetooth.EIR_IncompleteList128BitServiceUUIDs(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs- 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 UUIDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_IncompleteList128BitServiceUUIDsEIR_IncompleteList128BitServiceUUIDs fields svc_uuids
[]
- class scapy.layers.bluetooth.EIR_IncompleteList16BitServiceUUIDs(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs- 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 UUIDS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_IncompleteList16BitServiceUUIDsEIR_IncompleteList16BitServiceUUIDs fields svc_uuids
[]
- class scapy.layers.bluetooth.EIR_Manufacturer_Specific_Data(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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_DataEIR_Manufacturer_Specific_Data fields 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_checkis used instead.
- Raises
TypeError – If
magic_checkis not specified, andpayload_cls.magic_checkis 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_Raw(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_Element- aliastypes
- class scapy.layers.bluetooth.EIR_ServiceData16BitUUID(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.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_ServiceData16BitUUIDEIR_ServiceData16BitUUID fields svc_uuid
None
- payload_guess
Possible sublayers:
Eddystone_Frame,Exposure_Notification_Frame
- class scapy.layers.bluetooth.EIR_ShortenedLocalName(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_CompleteLocalName- aliastypes
- class scapy.layers.bluetooth.EIR_TX_Power_Level(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.EIR_Element- aliastypes
- class scapy.layers.bluetooth.HCI_ACL_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BC| PB| HANDLE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_ACL_HdrHCI_ACL_Hdr fields BC
BitField(2 bits)0PB
BitField(2 bits)0handle
BitField(12 bits)0len
None
- class scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_LE_Read_White_List_SizeHCI_Cmd_Complete_LE_Read_White_List_Size fields status
0size
0
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_BD_Addr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDR | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Complete_Read_BD_AddrHCI_Cmd_Complete_Read_BD_Addr fields addr
None
- class scapy.layers.bluetooth.HCI_Cmd_Connect_Accept_Timeout(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Connect_Accept_TimeoutHCI_Cmd_Connect_Accept_Timeout fields timeout
32000
- class scapy.layers.bluetooth.HCI_Cmd_Disconnect(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | REASON | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_DisconnectHCI_Cmd_Disconnect fields handle
0reason
19
- class scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_White_List(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Add_Device_To_White_ListHCI_Cmd_LE_Add_Device_To_White_List fields atype
0address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Clear_White_List(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | MIN INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX INTERVAL | LATENCY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | MIN CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Connection_UpdateHCI_Cmd_LE_Connection_Update fields handle
0min_interval
0max_interval
0latency
0timeout
0min_ce
0max_ce
65535
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection(*args: Any, **kargs: Any)[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 | WINDOW | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FILTER | PATYPE | PADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | MIN INTERVAL | MAX INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | MIN CE | MAX CE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Create_ConnectionHCI_Cmd_LE_Create_Connection fields interval
96window
48filter
0patype
0paddr
Noneatype
0min_interval
40max_interval
56latency
0timeout
42min_ce
0max_ce
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection_Cancel(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Host_Supported(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SUPPORTED | SIMULTANEOUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Host_SupportedHCI_Cmd_LE_Host_Supported fields supported
1simultaneous
1
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Long_Term_Key_Request_Negative_ReplyHCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply fields handle
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Reply(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | LTK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Long_Term_Key_Request_ReplyHCI_Cmd_LE_Long_Term_Key_Request_Reply fields handle
0ltk
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(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Used_Features(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Read_Remote_Used_FeaturesHCI_Cmd_LE_Read_Remote_Used_Features fields handle
64
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_White_List_Size(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_White_List(*args: Any, **kargs: Any)[source]
Bases:
scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_White_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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Remove_Device_From_White_ListHCI_Cmd_LE_Remove_Device_From_White_List fields atype
0address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertise_Enable(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Advertising_DataHCI_Cmd_LE_Set_Advertising_Data fields len
Nonedata
[]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Parameters(*args: Any, **kargs: Any)[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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADV TYPE | OATYPE | DATYPE | DADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CHANNEL MAP | FILTER POLICY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Advertising_ParametersHCI_Cmd_LE_Set_Advertising_Parameters fields interval_min
2048interval_max
2048adv_type
0oatype
0datype
0daddr
Nonechannel_map
7filter_policy
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Random_Address(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ADDRESS | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Random_AddressHCI_Cmd_LE_Set_Random_Address fields address
None
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Enable(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENABLE | FILTER DUPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Scan_EnableHCI_Cmd_LE_Set_Scan_Enable fields enable
1filter_dups
1
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Parameters(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | INTERVAL | WINDOW | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ATYPE | POLICY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Scan_ParametersHCI_Cmd_LE_Set_Scan_Parameters fields type
1interval
16window
16atype
0policy
0
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Response_Data(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Set_Scan_Response_DataHCI_Cmd_LE_Set_Scan_Response_Data fields len
Nonedata
b''
- class scapy.layers.bluetooth.HCI_Cmd_LE_Start_Encryption_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EDIV | LTK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_LE_Start_Encryption_RequestHCI_Cmd_LE_Start_Encryption_Request fields handle
0rand
Noneediv
0ltk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.HCI_Cmd_Read_BD_Addr(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Reset(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MASK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Set_Event_MaskHCI_Cmd_Set_Event_Mask fields mask
b'\xff\xff\xfb\xff\x07\xf8\xbf='
- class scapy.layers.bluetooth.HCI_Cmd_Write_Extended_Inquiry_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FEC REQUIRED | EIR DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Write_Extended_Inquiry_ResponseHCI_Cmd_Write_Extended_Inquiry_Response fields fec_required
0eir_data
[]
- class scapy.layers.bluetooth.HCI_Cmd_Write_Local_Name(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Write_Local_NameHCI_Cmd_Write_Local_Name fields name
'Write Local Name'
- class scapy.layers.bluetooth.HCI_Command_Hdr(*args: Any, **kargs: Any)[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 | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Command_HdrHCI_Command_Hdr fields opcode
0len
None
- payload_guess
Possible sublayers:
HCI_Cmd_Connect_Accept_Timeout,HCI_Cmd_Disconnect,HCI_Cmd_LE_Add_Device_To_White_List,HCI_Cmd_LE_Clear_White_List,HCI_Cmd_LE_Connection_Update,HCI_Cmd_LE_Create_Connection_Cancel,HCI_Cmd_LE_Create_Connection,HCI_Cmd_LE_Host_Supported,HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply,HCI_Cmd_LE_Long_Term_Key_Request_Reply,HCI_Cmd_LE_Read_Buffer_Size,HCI_Cmd_LE_Read_Remote_Used_Features,HCI_Cmd_LE_Read_White_List_Size,HCI_Cmd_LE_Remove_Device_From_White_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_LE_Start_Encryption_Request,HCI_Cmd_Read_BD_Addr,HCI_Cmd_Reset,HCI_Cmd_Set_Event_Filter,HCI_Cmd_Set_Event_Mask,HCI_Cmd_Write_Extended_Inquiry_Response,HCI_Cmd_Write_Local_Name
- class scapy.layers.bluetooth.HCI_Event_Command_Complete(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUMBER | OPCODE | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Command_CompleteHCI_Event_Command_Complete fields number
0opcode
0status
0
- payload_guess
Possible sublayers:
HCI_Cmd_Complete_LE_Read_White_List_Size,HCI_Cmd_Complete_Read_BD_Addr
- class scapy.layers.bluetooth.HCI_Event_Command_Status(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | NUMBER | OPCODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Command_StatusHCI_Event_Command_Status fields status
0number
0opcode
None
- class scapy.layers.bluetooth.HCI_Event_Disconnection_Complete(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | REASON | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Disconnection_CompleteHCI_Event_Disconnection_Complete fields status
0handle
0reason
0
- class scapy.layers.bluetooth.HCI_Event_Encryption_Change(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | ENABLED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Encryption_ChangeHCI_Event_Encryption_Change fields status
0handle
0enabled
0
- class scapy.layers.bluetooth.HCI_Event_Hdr(*args: Any, **kargs: Any)[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 | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_HdrHCI_Event_Hdr fields code
0len
None
- payload_guess
Possible sublayers:
HCI_Event_Command_Complete,HCI_Event_Command_Status,HCI_Event_Disconnection_Complete,HCI_Event_Encryption_Change,HCI_Event_LE_Meta,HCI_Event_Number_Of_Completed_Packets
- class scapy.layers.bluetooth.HCI_Event_LE_Meta(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EVENT | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_LE_MetaHCI_Event_LE_Meta fields 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_Number_Of_Completed_Packets(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUMBER | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_Number_Of_Completed_PacketsHCI_Event_Number_Of_Completed_Packets fields number
0
- class scapy.layers.bluetooth.HCI_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | +-+-+-+-+-+-+-+-+ Fig. HCI_HdrHCI_Hdr fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | ATYPE | ADDR | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | DATA | RSSI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Advertising_ReportHCI_LE_Meta_Advertising_Report fields type
0atype
0addr
Nonelen
Nonedata
[]rssi
0
- class scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Reports(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | REPORTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Advertising_ReportsHCI_LE_Meta_Advertising_Reports fields len
Nonereports
[]
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Complete(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | ROLE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PATYPE | PADDR | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | SUPERVISION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLOCK LATENCY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Connection_CompleteHCI_LE_Meta_Connection_Complete fields status
0handle
0role
0patype
0paddr
Noneinterval
54latency
0supervision
42clock_latency
5
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Update_Complete(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | LATENCY | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Connection_Update_CompleteHCI_LE_Meta_Connection_Update_Complete fields status
0handle
0interval
54latency
0timeout
42
- class scapy.layers.bluetooth.HCI_LE_Meta_Long_Term_Key_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLE | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EDIV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_LE_Meta_Long_Term_Key_RequestHCI_LE_Meta_Long_Term_Key_Request fields handle
0rand
Noneediv
0
- class scapy.layers.bluetooth.HCI_PHDR_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIRECTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_PHDR_HdrHCI_PHDR_Hdr fields direction
0
- class scapy.layers.bluetooth.L2CAP_CmdHdr(*args: Any, **kargs: Any)[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 | ID | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_CmdHdrL2CAP_CmdHdr fields code
8id
0len
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_DisconnReq,L2CAP_DisconnResp,L2CAP_InfoReq,L2CAP_InfoResp
- class scapy.layers.bluetooth.L2CAP_CmdRej(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.L2CAP_ConfReq(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConfReqL2CAP_ConfReq fields dcid
0flags
0
- class scapy.layers.bluetooth.L2CAP_ConfResp(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConfRespL2CAP_ConfResp fields scid
0flags
0result
0
- class scapy.layers.bluetooth.L2CAP_ConnReq(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PSM | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConnReqL2CAP_ConnReq fields psm
0scid
0
- class scapy.layers.bluetooth.L2CAP_ConnResp(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConnRespL2CAP_ConnResp fields dcid
0scid
0result
0status
0
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MIN INTERVAL | MAX INTERVAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SLAVE LATENCY | TIMEOUT MULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Connection_Parameter_Update_RequestL2CAP_Connection_Parameter_Update_Request fields min_interval
0max_interval
0slave_latency
0timeout_mult
0
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MOVE RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Connection_Parameter_Update_ResponseL2CAP_Connection_Parameter_Update_Response fields move_result
0
- class scapy.layers.bluetooth.L2CAP_DisconnReq(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_DisconnReqL2CAP_DisconnReq fields dcid
0scid
0
- class scapy.layers.bluetooth.L2CAP_DisconnResp(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_DisconnRespL2CAP_DisconnResp fields dcid
0scid
0
- class scapy.layers.bluetooth.L2CAP_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | CID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_HdrL2CAP_Hdr fields len
Nonecid
0
- payload_guess
Possible sublayers:
ATT_Hdr,L2CAP_CmdHdr,SM_Hdr
- class scapy.layers.bluetooth.L2CAP_InfoReq(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_InfoReqL2CAP_InfoReq fields type
0data
b''
- class scapy.layers.bluetooth.L2CAP_InfoResp(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_InfoRespL2CAP_InfoResp fields type
0result
0data
b''
- class scapy.layers.bluetooth.LEMACField(name, default)[source]
Bases:
scapy.fields.Field
- class scapy.layers.bluetooth.LowEnergyBeaconHelper[source]
Bases:
objectHelpers for building packets for Bluetooth Low Energy Beacons.
Implementors provide a
build_eir()implementation.This is designed to be used as a mix-in – see
scapy.contrib.eddystoneandscapy.contrib.ibeaconfor 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_HdrandHCI_Command_Hdrlayers.- Return type
scapy.bluetooth.HCI_Hdr
- class scapy.layers.bluetooth.SM_Confirm(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CONFIRM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_ConfirmSM_Confirm fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DHKEY CHECK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_DHKey_CheckSM_DHKey_Check fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LTK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Encryption_InformationSM_Encryption_Information fields ltk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Failed(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.bluetooth.SM_Hdr(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SM COMMAND | +-+-+-+-+-+-+-+-+ Fig. SM_HdrSM_Hdr fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Identity_Address_InformationSM_Identity_Address_Information fields atype
0address
None
- class scapy.layers.bluetooth.SM_Identity_Information(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IRK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Identity_InformationSM_Identity_Information fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EDIV | RAND | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Master_IdentificationSM_Master_Identification fields ediv
0rand
b'\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.SM_Pairing_Request(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOCAP | OOB | AUTHENTICATION| MAX KEY SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INITIATOR KEY D|RESPONDER KEY D| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Pairing_RequestSM_Pairing_Request fields iocap
3oob
0authentication
BitField(8 bits)0max_key_size
16initiator_key_distribution
0responder_key_distribution
0
- class scapy.layers.bluetooth.SM_Pairing_Response(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IOCAP | OOB | AUTHENTICATION| MAX KEY SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |INITIATOR KEY D|RESPONDER KEY D| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Pairing_ResponseSM_Pairing_Response fields iocap
3oob
0authentication
BitField(8 bits)0max_key_size
16initiator_key_distribution
0responder_key_distribution
0
- class scapy.layers.bluetooth.SM_Public_Key(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY X | KEY Y | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Public_KeySM_Public_Key fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RANDOM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_RandomSM_Random fields 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(*args: Any, **kargs: Any)[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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CSRK | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Signing_InformationSM_Signing_Information fields csrk
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
- class scapy.layers.bluetooth.XLEShortField(name: str, default: Optional[int])[source]
Bases:
scapy.fields.LEShortField
- class scapy.layers.bluetooth.sockaddr_hci[source]
Bases:
_ctypes.Structure- hci_channel
Structure/Union member
- hci_dev
Structure/Union member
- sin_family
Structure/Union member