scapy.layers.bluetooth¶
Bluetooth layers, sockets and send/receive functions.
-
class
scapy.layers.bluetooth.ATT_Error_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REQUEST | HANDLE | ECODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Error_ResponseATT_Error_Response fields¶ request
0handle
0ecode
0
-
-
class
scapy.layers.bluetooth.ATT_Exchange_MTU_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Exchange_MTU_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Execute_Write_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Execute_Write_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_By_Type_Value_ResponseATT_Find_By_Type_Value_Response fields¶ handles
[]
-
-
class
scapy.layers.bluetooth.ATT_Find_Information_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | START | END | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_RequestATT_Find_Information_Request fields¶ start
0end
65535
-
-
class
scapy.layers.bluetooth.ATT_Find_Information_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FORMAT | HANDLES | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ATT_Find_Information_ResponseATT_Find_Information_Response fields¶ format
1handles
PacketListField(Cond)[]handles
PacketListField(Cond)[]
-
-
class
scapy.layers.bluetooth.ATT_Handle(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | VALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Handle_Value_NotificationATT_Handle_Value_Notification fields¶ gatt_handle
0value
b''
-
-
class
scapy.layers.bluetooth.ATT_Handle_Variable(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
classmethod
dispatch_hook(_pkt=None, *args, **kargs)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | HANDLES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Read_By_Type_ResponseATT_Read_By_Type_Response fields¶ len
4handles
[]
-
-
class
scapy.layers.bluetooth.ATT_Read_Multiple_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Read_Multiple_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Read_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Read_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.ATT_Write_Command(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_CommandATT_Write_Command fields¶ gatt_handle
0data
b''
-
-
class
scapy.layers.bluetooth.ATT_Write_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GATT HANDLE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ATT_Write_RequestATT_Write_Request fields¶ gatt_handle
0data
b''
-
-
class
scapy.layers.bluetooth.ATT_Write_Response(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
exception
scapy.layers.bluetooth.BluetoothCommandError¶ Bases:
BaseException
-
class
scapy.layers.bluetooth.BluetoothHCISocket(iface=65536, type=None)¶ Bases:
scapy.supersocket.SuperSocket-
desc= 'read/write on a BlueTooth HCI socket'¶
-
recv(x=65535)¶
-
-
class
scapy.layers.bluetooth.BluetoothL2CAPSocket(bt_address)¶ Bases:
scapy.supersocket.SuperSocket-
desc= 'read/write packets on a connected L2CAP socket'¶
-
recv(x=65535)¶
-
-
class
scapy.layers.bluetooth.BluetoothRFCommSocket(bt_address, port=0)¶ Bases:
scapy.layers.bluetooth.BluetoothL2CAPSocketread/write packets on a connected RFCOMM socket
-
exception
scapy.layers.bluetooth.BluetoothSocketError¶ Bases:
BaseException
-
class
scapy.layers.bluetooth.BluetoothUserSocket(adapter_index=0)¶ Bases:
scapy.supersocket.SuperSocket-
close()¶
-
desc= 'read/write H4 over a Bluetooth user channel'¶
-
flush()¶
-
readable(timeout=0)¶
-
recv(x=65535)¶
-
send_command(cmd)¶
-
-
class
scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs(*args, **kargs)¶ 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, **kargs)¶ 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, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_Element-
aliastypes¶
-
-
class
scapy.layers.bluetooth.EIR_Device_ID(*args, **kargs)¶ 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
static
length_from(pkt)¶
-
-
class
scapy.layers.bluetooth.EIR_Flags(*args, **kargs)¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+ Fig. EIR_FlagsEIR_Flags fields¶ flags
FlagsField(8 bits)<Flag 2 (general_disc_mode)>
-
-
class
scapy.layers.bluetooth.EIR_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | TYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. EIR_HdrEIR_Hdr fields¶ len
Nonetype
0
-
mysummary()¶
-
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, **kargs)¶ 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, **kargs)¶ 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, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_Element-
aliastypes¶
-
default_payload_class(payload)¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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)¶ 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.
bool] magic_check (Callable[[bytes],) – (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, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_Element-
aliastypes¶
-
-
class
scapy.layers.bluetooth.EIR_ServiceData16BitUUID(*args, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_Element-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_CompleteLocalName-
aliastypes¶
-
-
class
scapy.layers.bluetooth.EIR_TX_Power_Level(*args, **kargs)¶ Bases:
scapy.layers.bluetooth.EIR_Element-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_ACL_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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
-
post_build(p, pay)¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TIMEOUT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Connect_Accept_TimeoutHCI_Cmd_Connect_Accept_Timeout fields¶ timeout
32000
-
-
class
scapy.layers.bluetooth.HCI_Cmd_Disconnect(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_LE_Host_Supported(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Used_Features(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_White_List(*args, **kargs)¶ 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_Reset(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Cmd_Write_Local_NameHCI_Cmd_Write_Local_Name fields¶ name
'Write Local Name'
-
-
class
scapy.layers.bluetooth.HCI_Command_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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
-
post_build(p, pay)¶
-
-
class
scapy.layers.bluetooth.HCI_Event_Command_Complete(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STATUS | HANDLE | ENABLED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_Event_Encryption_ChangeHCI_Event_Encryption_Change fields¶ status
0handle
0enabled
0
-
-
class
scapy.layers.bluetooth.HCI_Event_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NUMBER | +-+-+-+-+-+-+-+-+ Fig. HCI_Event_Number_Of_Completed_PacketsHCI_Event_Number_Of_Completed_Packets fields¶ number
0
-
-
class
scapy.layers.bluetooth.HCI_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | +-+-+-+-+-+-+-+-+ Fig. HCI_HdrHCI_Hdr fields¶ type
2
-
mysummary()¶
-
payload_guess¶ Possible sublayers:
HCI_ACL_Hdr,HCI_Command_Hdr,HCI_Event_Hdr,Raw
-
-
class
scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Report(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
extract_padding(s)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIRECTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. HCI_PHDR_HdrHCI_PHDR_Hdr fields¶ direction
0
-
-
class
scapy.layers.bluetooth.L2CAP_CmdHdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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
-
post_build(p, pay)¶
-
-
class
scapy.layers.bluetooth.L2CAP_CmdRej(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.L2CAP_ConfReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConfReqL2CAP_ConfReq fields¶ dcid
0flags
0
-
-
class
scapy.layers.bluetooth.L2CAP_ConfResp(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCID | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConfRespL2CAP_ConfResp fields¶ scid
0flags
0result
0
-
-
class
scapy.layers.bluetooth.L2CAP_ConnReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PSM | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConnReqL2CAP_ConnReq fields¶ psm
0scid
0
-
-
class
scapy.layers.bluetooth.L2CAP_ConnResp(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESULT | STATUS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_ConnRespL2CAP_ConnResp fields¶ dcid
0scid
0result
0status
0
-
-
class
scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MOVE RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_Connection_Parameter_Update_ResponseL2CAP_Connection_Parameter_Update_Response fields¶ move_result
0
-
-
class
scapy.layers.bluetooth.L2CAP_DisconnReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_DisconnReqL2CAP_DisconnReq fields¶ dcid
0scid
0
-
-
class
scapy.layers.bluetooth.L2CAP_DisconnResp(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DCID | SCID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_DisconnRespL2CAP_DisconnResp fields¶ dcid
0scid
0
-
-
class
scapy.layers.bluetooth.L2CAP_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | CID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_HdrL2CAP_Hdr fields¶ len
Nonecid
0
-
payload_guess¶ Possible sublayers:
ATT_Hdr,L2CAP_CmdHdr,SM_Hdr
-
post_build(p, pay)¶
-
-
class
scapy.layers.bluetooth.L2CAP_InfoReq(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_InfoReqL2CAP_InfoReq fields¶ type
0data
b''
-
-
class
scapy.layers.bluetooth.L2CAP_InfoResp(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
answers(other)¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | RESULT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. L2CAP_InfoRespL2CAP_InfoResp fields¶ type
0result
0data
b''
-
-
class
scapy.layers.bluetooth.LEMACField(name, default)¶ Bases:
scapy.fields.Field-
any2i(pkt, x)¶
-
i2m(pkt, x)¶
-
i2repr(pkt, x)¶
-
m2i(pkt, x)¶
-
randval()¶
-
-
class
scapy.layers.bluetooth.LowEnergyBeaconHelper¶ 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()¶ Builds a HCI_LE_Meta_Advertising_Report containing this frame.
- Return type
scapy.bluetooth.HCI_LE_Meta_Advertising_Report
-
build_eir()¶ 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()¶ 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
-
class
scapy.layers.bluetooth.SM_Hdr(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATYPE | ADDRESS | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SM_Identity_Address_InformationSM_Identity_Address_Information fields¶ atype
0address
None
-
-
class
scapy.layers.bluetooth.SM_Identity_Information(*args, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, **kargs)¶ Bases:
scapy.packet.Packet-
aliastypes¶
-
fields_desc¶ Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 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, default)¶ Bases:
scapy.fields.LEShortField-
i2repr(pkt, x)¶
-
-
class
scapy.layers.bluetooth.sockaddr_hci¶ Bases:
_ctypes.Structure-
hci_channel¶ Structure/Union member
-
hci_dev¶ Structure/Union member
-
sin_family¶ Structure/Union member
-
-
scapy.layers.bluetooth.srbt(bt_address, pkts, inter=0.1, *args, **kargs)¶ send and receive using a bluetooth socket
-
scapy.layers.bluetooth.srbt1(bt_address, pkts, *args, **kargs)¶ send and receive 1 packet using a bluetooth socket