scapy.layers.bluetooth
Bluetooth layers, sockets and send/receive functions.
- class scapy.layers.bluetooth.ATT_Error_Response(_pkt, /, *, request=0, handle=0, ecode=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Error_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Request(_pkt, /, *, mtu=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Exchange_MTU_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Exchange_MTU_Response(_pkt, /, *, mtu=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Exchange_MTU_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Execute_Write_Request(_pkt, /, *, flags=1)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Execute_Write_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Execute_Write_Response(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Execute_Write_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request(_pkt, /, *, start=1, end=65535, uuid=None, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Find_By_Type_Value_Response(_pkt, /, *, handles=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Find_By_Type_Value_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Find_Information_Request(_pkt, /, *, start=0, end=65535)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Find_Information_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Find_Information_Response(_pkt, /, *, format=1, handles=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Find_Information_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Handle(_pkt, /, *, handle=0, value=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Handle'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Handle_UUID128(_pkt, /, *, handle=0, value=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Handle_UUID128'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Handle_Value_Indication(_pkt, /, *, gatt_handle=0, value=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Handle_Value_Indication'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Handle_Value_Notification(_pkt, /, *, gatt_handle=0, value=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Handle_Value_Notification'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Handle_Variable(_pkt, /, *, handle=0, value=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Handle_Variable'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (ATT_Handle_Variable).handle>, <XStrLenField (ATT_Handle_Variable).value>]
- val_length
- class scapy.layers.bluetooth.ATT_Hdr(_pkt, /, *, opcode=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Hdr'>, <class 'scapy.packet.Packet'>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'opcode': 1}, <class 'scapy.layers.bluetooth.ATT_Error_Response'>), ({'opcode': 2}, <class 'scapy.layers.bluetooth.ATT_Exchange_MTU_Request'>), ({'opcode': 3}, <class 'scapy.layers.bluetooth.ATT_Exchange_MTU_Response'>), ({'opcode': 4}, <class 'scapy.layers.bluetooth.ATT_Find_Information_Request'>), ({'opcode': 5}, <class 'scapy.layers.bluetooth.ATT_Find_Information_Response'>), ({'opcode': 6}, <class 'scapy.layers.bluetooth.ATT_Find_By_Type_Value_Request'>), ({'opcode': 7}, <class 'scapy.layers.bluetooth.ATT_Find_By_Type_Value_Response'>), ({'opcode': 8}, <class 'scapy.layers.bluetooth.ATT_Read_By_Type_Request_128bit'>), ({'opcode': 8}, <class 'scapy.layers.bluetooth.ATT_Read_By_Type_Request'>), ({'opcode': 9}, <class 'scapy.layers.bluetooth.ATT_Read_By_Type_Response'>), ({'opcode': 10}, <class 'scapy.layers.bluetooth.ATT_Read_Request'>), ({'opcode': 11}, <class 'scapy.layers.bluetooth.ATT_Read_Response'>), ({'opcode': 12}, <class 'scapy.layers.bluetooth.ATT_Read_Blob_Request'>), ({'opcode': 13}, <class 'scapy.layers.bluetooth.ATT_Read_Blob_Response'>), ({'opcode': 14}, <class 'scapy.layers.bluetooth.ATT_Read_Multiple_Request'>), ({'opcode': 15}, <class 'scapy.layers.bluetooth.ATT_Read_Multiple_Response'>), ({'opcode': 16}, <class 'scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request'>), ({'opcode': 17}, <class 'scapy.layers.bluetooth.ATT_Read_By_Group_Type_Response'>), ({'opcode': 18}, <class 'scapy.layers.bluetooth.ATT_Write_Request'>), ({'opcode': 19}, <class 'scapy.layers.bluetooth.ATT_Write_Response'>), ({'opcode': 22}, <class 'scapy.layers.bluetooth.ATT_Prepare_Write_Request'>), ({'opcode': 23}, <class 'scapy.layers.bluetooth.ATT_Prepare_Write_Response'>), ({'opcode': 24}, <class 'scapy.layers.bluetooth.ATT_Execute_Write_Request'>), ({'opcode': 25}, <class 'scapy.layers.bluetooth.ATT_Execute_Write_Response'>), ({'opcode': 82}, <class 'scapy.layers.bluetooth.ATT_Write_Command'>), ({'opcode': 27}, <class 'scapy.layers.bluetooth.ATT_Handle_Value_Notification'>), ({'opcode': 29}, <class 'scapy.layers.bluetooth.ATT_Handle_Value_Indication'>)]
- class scapy.layers.bluetooth.ATT_Prepare_Write_Request(_pkt, /, *, gatt_handle=0, offset=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Prepare_Write_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).gatt_handle>, <LEShortField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).offset>, <StrField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).data>]
- class scapy.layers.bluetooth.ATT_Prepare_Write_Response(_pkt, /, *, gatt_handle=0, offset=0, data=b'')[source]
Bases:
ATT_Prepare_Write_Request- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Prepare_Write_Response'>, <class 'scapy.layers.bluetooth.ATT_Prepare_Write_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).gatt_handle>, <LEShortField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).offset>, <StrField (ATT_Prepare_Write_Request,ATT_Prepare_Write_Response).data>]
- class scapy.layers.bluetooth.ATT_Read_Blob_Request(_pkt, /, *, gatt_handle=0, offset=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Blob_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_Blob_Response(_pkt, /, *, value=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Blob_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request(_pkt, /, *, start=0, end=65535, uuid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_By_Group_Type_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_By_Group_Type_Response(_pkt, /, *, length=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_By_Group_Type_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request(_pkt, /, *, start=1, end=65535, uuid=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_By_Type_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_By_Type_Request_128bit(_pkt, /, *, start=1, end=65535, uuid1=None, uuid2=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_By_Type_Request_128bit'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_By_Type_Response(_pkt, /, *, len=4, handles=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_By_Type_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_Multiple_Request(_pkt, /, *, handles=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Multiple_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_Multiple_Response(_pkt, /, *, values=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Multiple_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_Request(_pkt, /, *, gatt_handle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Read_Response(_pkt, /, *, value=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Read_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Write_Command(_pkt, /, *, gatt_handle=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Write_Command'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Write_Request(_pkt, /, *, gatt_handle=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Write_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.ATT_Write_Response(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.ATT_Write_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.BluetoothHCISocket(iface=65536, type=None)[source]
Bases:
SuperSocket- desc = 'read/write on a BlueTooth HCI socket'
- class scapy.layers.bluetooth.BluetoothL2CAPSocket(bt_address)[source]
Bases:
SuperSocket- desc = 'read/write packets on a connected L2CAP socket'
- class scapy.layers.bluetooth.BluetoothMonitorSocket[source]
Bases:
_BluetoothLibcSocket- desc = 'Read/write over a Bluetooth monitor channel'
- class scapy.layers.bluetooth.BluetoothRFCommSocket(bt_address, port=0)[source]
Bases:
BluetoothL2CAPSocketread/write packets on a connected RFCOMM socket
- class scapy.layers.bluetooth.BluetoothUserSocket(adapter_index=0)[source]
Bases:
_BluetoothLibcSocket- desc = 'read/write H4 over a Bluetooth user channel'
- class scapy.layers.bluetooth.EIR_3DInformation(_pkt, /, *, factory_test_mode=0, reserved=0, send_battery_level_on_startup=0, battery_level_reporting=0, association_notification=0, path_loss_threshold=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_3DInformation'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (EIR_3DInformation).factory_test_mode>, <BitField (EIR_3DInformation).reserved>, <BitField (EIR_3DInformation).send_battery_level_on_startup>, <BitField (EIR_3DInformation).battery_level_reporting>, <BitField (EIR_3DInformation).association_notification>, <ByteField (EIR_3DInformation).path_loss_threshold>]
- class scapy.layers.bluetooth.EIR_AdvertisingInterval(_pkt, /, *, advertising_interval=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_AdvertisingInterval'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Appearance(_pkt, /, *, category=0, subcategory=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Appearance'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- property appearance
- class scapy.layers.bluetooth.EIR_BroadcastName(_pkt, /, *, broadcast_name=b'')[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_BroadcastName'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ClassOfDevice(_pkt, /, *, major_service_classes=<Flag 0 ()>, major_device_class=0, minor_device_class=0, fixed=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ClassOfDevice'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_CompleteList32BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_CompleteList32BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_CompleteLocalName(_pkt, /, *, local_name=b'')[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_CompleteLocalName'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Device_ID(_pkt, /, *, vendor_id_source=0, vendor_id=0, product_id=0, version=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Device_ID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Element(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Flags(_pkt, /, *, flags=<Flag 2 (general_disc_mode)>)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Flags'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Hdr(_pkt, /, *, len=None, type=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LenField (EIR_Hdr).len>, <ByteEnumField (EIR_Hdr).type>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'type': 1}, <class 'scapy.layers.bluetooth.EIR_Flags'>), ({'type': 2}, <class 'scapy.layers.bluetooth.EIR_IncompleteList16BitServiceUUIDs'>), ({'type': 3}, <class 'scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs'>), ({'type': 4}, <class 'scapy.layers.bluetooth.EIR_IncompleteList32BitServiceUUIDs'>), ({'type': 5}, <class 'scapy.layers.bluetooth.EIR_CompleteList32BitServiceUUIDs'>), ({'type': 6}, <class 'scapy.layers.bluetooth.EIR_IncompleteList128BitServiceUUIDs'>), ({'type': 7}, <class 'scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs'>), ({'type': 8}, <class 'scapy.layers.bluetooth.EIR_ShortenedLocalName'>), ({'type': 9}, <class 'scapy.layers.bluetooth.EIR_CompleteLocalName'>), ({'type': 16}, <class 'scapy.layers.bluetooth.EIR_Device_ID'>), ({'type': 10}, <class 'scapy.layers.bluetooth.EIR_TX_Power_Level'>), ({'type': 13}, <class 'scapy.layers.bluetooth.EIR_ClassOfDevice'>), ({'type': 14}, <class 'scapy.layers.bluetooth.EIR_SecureSimplePairingHashC192'>), ({'type': 15}, <class 'scapy.layers.bluetooth.EIR_SecureSimplePairingRandomizerR192'>), ({'type': 17}, <class 'scapy.layers.bluetooth.EIR_SecurityManagerOOBFlags'>), ({'type': 18}, <class 'scapy.layers.bluetooth.EIR_PeripheralConnectionIntervalRange'>), ({'type': 20}, <class 'scapy.layers.bluetooth.EIR_ServiceSolicitation16BitUUID'>), ({'type': 21}, <class 'scapy.layers.bluetooth.EIR_ServiceSolicitation128BitUUID'>), ({'type': 22}, <class 'scapy.layers.bluetooth.EIR_ServiceData16BitUUID'>), ({'type': 23}, <class 'scapy.layers.bluetooth.EIR_PublicTargetAddress'>), ({'type': 24}, <class 'scapy.layers.bluetooth.EIR_RandomTargetAddress'>), ({'type': 25}, <class 'scapy.layers.bluetooth.EIR_Appearance'>), ({'type': 26}, <class 'scapy.layers.bluetooth.EIR_AdvertisingInterval'>), ({'type': 27}, <class 'scapy.layers.bluetooth.EIR_LEBluetoothDeviceAddress'>), ({'type': 28}, <class 'scapy.layers.bluetooth.EIR_LERole'>), ({'type': 32}, <class 'scapy.layers.bluetooth.EIR_ServiceData32BitUUID'>), ({'type': 33}, <class 'scapy.layers.bluetooth.EIR_ServiceData128BitUUID'>), ({'type': 36}, <class 'scapy.layers.bluetooth.EIR_URI'>), ({'type': 48}, <class 'scapy.layers.bluetooth.EIR_BroadcastName'>), ({'type': 61}, <class 'scapy.layers.bluetooth.EIR_3DInformation'>), ({'type': 255}, <class 'scapy.layers.bluetooth.EIR_Manufacturer_Specific_Data'>), ({}, <class 'scapy.layers.bluetooth.EIR_Raw'>)]
- class scapy.layers.bluetooth.EIR_IncompleteList128BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList128BitServiceUUIDs- aliastypes = [<class 'scapy.layers.bluetooth.EIR_IncompleteList128BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_CompleteList128BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_IncompleteList16BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList16BitServiceUUIDs- aliastypes = [<class 'scapy.layers.bluetooth.EIR_IncompleteList16BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_CompleteList16BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_IncompleteList32BitServiceUUIDs(_pkt, /, *, svc_uuids=[])[source]
Bases:
EIR_CompleteList32BitServiceUUIDs- aliastypes = [<class 'scapy.layers.bluetooth.EIR_IncompleteList32BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_CompleteList32BitServiceUUIDs'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_LEBluetoothDeviceAddress(_pkt, /, *, reserved=0, addr_type=0, bd_addr=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_LEBluetoothDeviceAddress'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_LERole(_pkt, /, *, role=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_LERole'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Manufacturer_Specific_Data(_pkt, /, *, company_identifier=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Manufacturer_Specific_Data'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'company_id': ('company_identifier', '2.6.2')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortEnumField (EIR_Manufacturer_Specific_Data).company_identifier>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'company_identifier': 76}, <class 'scapy.contrib.ibeacon.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_PeripheralConnectionIntervalRange(_pkt, /, *, conn_interval_min=65535, conn_interval_max=65535)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_PeripheralConnectionIntervalRange'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_PublicTargetAddress(_pkt, /, *, bd_addr=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_PublicTargetAddress'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_RandomTargetAddress(_pkt, /, *, bd_addr=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_RandomTargetAddress'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_Raw(_pkt, /, *, data=b'')[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_Raw'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_SecureSimplePairingHashC192(_pkt, /, *, hash=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_SecureSimplePairingHashC192'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_SecureSimplePairingRandomizerR192(_pkt, /, *, randomizer=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_SecureSimplePairingRandomizerR192'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_SecurityManagerOOBFlags(_pkt, /, *, oob_flags_field=0, le_supported=0, previously_used=0, address_type=0, reserved=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_SecurityManagerOOBFlags'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (EIR_SecurityManagerOOBFlags).oob_flags_field>, <BitField (EIR_SecurityManagerOOBFlags).le_supported>, <BitField (EIR_SecurityManagerOOBFlags).previously_used>, <BitField (EIR_SecurityManagerOOBFlags).address_type>, <BitField (EIR_SecurityManagerOOBFlags).reserved>]
- class scapy.layers.bluetooth.EIR_ServiceData128BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ServiceData128BitUUID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ServiceData16BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ServiceData16BitUUID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ServiceData32BitUUID(_pkt, /, *, svc_uuid=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ServiceData32BitUUID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ServiceSolicitation128BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ServiceSolicitation128BitUUID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ServiceSolicitation16BitUUID(_pkt, /, *, svc_uuid=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ServiceSolicitation16BitUUID'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_ShortenedLocalName(_pkt, /, *, local_name=b'')[source]
Bases:
EIR_CompleteLocalName- aliastypes = [<class 'scapy.layers.bluetooth.EIR_ShortenedLocalName'>, <class 'scapy.layers.bluetooth.EIR_CompleteLocalName'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_TX_Power_Level(_pkt, /, *, level=0)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_TX_Power_Level'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.EIR_URI(_pkt, /, *, scheme=0, uri_hier_part=None)[source]
Bases:
EIR_Element- aliastypes = [<class 'scapy.layers.bluetooth.EIR_URI'>, <class 'scapy.layers.bluetooth.EIR_Element'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (EIR_URI).scheme>, <StrLenField (EIR_URI).uri_hier_part>]
- property uri
- class scapy.layers.bluetooth.Extended_Advertise_Set(_pkt, /, *, handle=0, duration=0, max_events=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.Extended_Advertise_Set'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_ACL_Hdr(_pkt, /, *, BC=0, PB=0, handle=0, len=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_ACL_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (HCI_ACL_Hdr).BC>, <BitField (HCI_ACL_Hdr).PB>, <BitField (HCI_ACL_Hdr).handle>, <LEShortField (HCI_ACL_Hdr).len>]
- class scapy.layers.bluetooth.HCI_Cmd_Accept_Connection_Request(_pkt, /, *, bd_addr=None, role=1)[source]
Bases:
Packet7.1.8 Accept Connection Request command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Accept_Connection_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Authentication_Requested(_pkt, /, *, handle=0)[source]
Bases:
Packet7.1.15 Authentication Requested command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Authentication_Requested'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Link_Key(_pkt, /, *, handle=0)[source]
Bases:
Packet7.1.17 Change Connection Link Key command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Link_Key'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Packet_Type(_pkt, /, *, connection_handle=None, packet_type=0)[source]
Bases:
Packet7.1.14 Change Connection Packet Type command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Packet_Type'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size(_pkt, /, *, status=0, size=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_BD_Addr(_pkt, /, *, addr=None)[source]
Bases:
Packet7.4.6 Read BD_ADDR command complete
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_BD_Addr'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Extended_Features(_pkt, /, *, page=0, max_page=0, extended_features=0)[source]
Bases:
Packet7.4.4 Read Local Extended Features command complete
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Extended_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Name(_pkt, /, *, local_name=b'')[source]
Bases:
Packet7.3.12 Read Local Name command complete
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Name'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Version_Information(_pkt, /, *, hci_version=0, hci_subversion=0, lmp_version=0, company_identifier=0, lmp_subversion=0)[source]
Bases:
Packet7.4.1 Read Local Version Information command complete
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Version_Information'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_Complete_Read_Local_Version_Information).hci_version>, <LEShortField (HCI_Cmd_Complete_Read_Local_Version_Information).hci_subversion>, <ByteEnumField (HCI_Cmd_Complete_Read_Local_Version_Information).lmp_version>, <LEShortEnumField (HCI_Cmd_Complete_Read_Local_Version_Information).company_identifier>, <LEShortField (HCI_Cmd_Complete_Read_Local_Version_Information).lmp_subversion>]
- class scapy.layers.bluetooth.HCI_Cmd_Create_Connection(_pkt, /, *, bd_addr=None, packet_type=52248, page_scan_repetition_mode=2, reserved=0, clock_offset=0, allow_role_switch=1)[source]
Bases:
Packet7.1.5 Create Connection command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Create_Connection'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEMACField (HCI_Cmd_Create_Connection).bd_addr>, <LEShortField (HCI_Cmd_Create_Connection).packet_type>, <ByteField (HCI_Cmd_Create_Connection).page_scan_repetition_mode>, <ByteField (HCI_Cmd_Create_Connection).reserved>, <LEShortField (HCI_Cmd_Create_Connection).clock_offset>, <ByteField (HCI_Cmd_Create_Connection).allow_role_switch>]
- class scapy.layers.bluetooth.HCI_Cmd_Create_Connection_Cancel(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.7 Create Connection Cancel command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Create_Connection_Cancel'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Disconnect(_pkt, /, *, handle=0, reason=19)[source]
Bases:
Packet7.1.6 Disconnect command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Disconnect'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Exit_Peiodic_Inquiry_Mode(_pkt, /)[source]
Bases:
Packet7.1.4 Exit Periodic Inquiry Mode command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Exit_Peiodic_Inquiry_Mode'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Hold_Mode(_pkt, /, *, connection_handle=0, hold_mode_max_interval=2, hold_mode_min_interval=2)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Hold_Mode'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_IO_Capability_Request_Reply(_pkt, /, *, bd_addr=None, io_capability=None, oob_data_present=None, authentication_requirement=None)[source]
Bases:
Packet7.1.29 IO Capability Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_IO_Capability_Request_Reply'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEMACField (HCI_Cmd_IO_Capability_Request_Reply).bd_addr>, <ByteEnumField (HCI_Cmd_IO_Capability_Request_Reply).io_capability>, <ByteEnumField (HCI_Cmd_IO_Capability_Request_Reply).oob_data_present>, <ByteEnumField (HCI_Cmd_IO_Capability_Request_Reply).authentication_requirement>]
- class scapy.layers.bluetooth.HCI_Cmd_Inquiry(_pkt, /, *, lap=10390323, inquiry_length=0, num_responses=0)[source]
Bases:
Packet7.1.1 Inquiry command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Inquiry'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Inquiry_Cancel(_pkt, /)[source]
Bases:
Packet7.1.2 Inquiry Cancel command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Inquiry_Cancel'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_Filter_Accept_List(_pkt, /, *, addr_type=0, addr=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_Filter_Accept_List'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Add_Device_To_Filter_Accept_List,HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List).addr_type>, <LEMACField (HCI_Cmd_LE_Add_Device_To_Filter_Accept_List,HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List).addr>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Clear_Filter_Accept_List(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Clear_Filter_Accept_List'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update(_pkt, /, *, handle=0, min_interval=0, max_interval=0, latency=0, timeout=0, min_ce=0, max_ce=65535)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XLEShortField (HCI_Cmd_LE_Connection_Update).handle>, <XLEShortField (HCI_Cmd_LE_Connection_Update).min_interval>, <XLEShortField (HCI_Cmd_LE_Connection_Update).max_interval>, <XLEShortField (HCI_Cmd_LE_Connection_Update).latency>, <XLEShortField (HCI_Cmd_LE_Connection_Update).timeout>, <LEShortField (HCI_Cmd_LE_Connection_Update).min_ce>, <LEShortField (HCI_Cmd_LE_Connection_Update).max_ce>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection(_pkt, /, *, interval=96, window=48, filter=0, peer_addr_type=0, peer_addr=None, own_addr_type=0, min_interval=40, max_interval=56, latency=0, timeout=42, min_ce=0, max_ce=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'atype': ('own_addr_type', '2.7.0'), 'paddr': ('peer_addr', '2.7.0'), 'patype': ('peer_addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (HCI_Cmd_LE_Create_Connection).interval>, <LEShortField (HCI_Cmd_LE_Create_Connection).window>, <ByteEnumField (HCI_Cmd_LE_Create_Connection).filter>, <ByteEnumField (HCI_Cmd_LE_Create_Connection).peer_addr_type>, <LEMACField (HCI_Cmd_LE_Create_Connection).peer_addr>, <ByteEnumField (HCI_Cmd_LE_Create_Connection).own_addr_type>, <LEShortField (HCI_Cmd_LE_Create_Connection).min_interval>, <LEShortField (HCI_Cmd_LE_Create_Connection).max_interval>, <LEShortField (HCI_Cmd_LE_Create_Connection).latency>, <LEShortField (HCI_Cmd_LE_Create_Connection).timeout>, <LEShortField (HCI_Cmd_LE_Create_Connection).min_ce>, <LEShortField (HCI_Cmd_LE_Create_Connection).max_ce>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection_Cancel(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection_Cancel'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Enable_Encryption(_pkt, /, *, handle=0, rand=None, ediv=0, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Enable_Encryption'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Extended_Create_Connection(_pkt, /, *, filter_policy=0, address_type=0, peer_addr_type=0, peer_addr=None, phys=1, interval_1m=96, window_1m=96, min_interval_1m=40, max_interval_1m=56, latency_1m=0, timeout_1m=42, min_ce_1m=0, max_ce_1m=0, interval_2m=96, window_2m=96, min_interval_2m=40, max_interval_2m=56, latency_2m=0, timeout_2m=42, min_ce_2m=0, max_ce_2m=0, interval_coded=96, window_coded=96, min_interval_coded=40, max_interval_coded=56, latency_coded=0, timeout_coded=42, min_ce_coded=0, max_ce_coded=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Extended_Create_Connection'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Extended_Create_Connection).filter_policy>, <ByteEnumField (HCI_Cmd_LE_Extended_Create_Connection).address_type>, <ByteEnumField (HCI_Cmd_LE_Extended_Create_Connection).peer_addr_type>, <LEMACField (HCI_Cmd_LE_Extended_Create_Connection).peer_addr>, <ByteField (HCI_Cmd_LE_Extended_Create_Connection).phys>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply(_pkt, /, *, handle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Reply(_pkt, /, *, handle=0, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V1(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V1'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V2(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V2'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Filter_Accept_List_Size(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Filter_Accept_List_Size'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Local_Supported_Features(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Local_Supported_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Features(_pkt, /, *, handle=64)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List(_pkt, /, *, addr_type=0, addr=None)[source]
Bases:
HCI_Cmd_LE_Add_Device_To_Filter_Accept_List- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List'>, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_Filter_Accept_List'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Add_Device_To_Filter_Accept_List,HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List).addr_type>, <LEMACField (HCI_Cmd_LE_Add_Device_To_Filter_Accept_List,HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List).addr>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertise_Enable(_pkt, /, *, enable=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertise_Enable'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data(_pkt, /, *, len=None, data=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Parameters(_pkt, /, *, interval_min=2048, interval_max=2048, adv_type=0, own_addr_type=0, peer_addr_type=0, peer_addr=None, channel_map=7, filter_policy=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Parameters'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'daddr': ('peer_addr', '2.7.0'), 'datype': ('peer_addr_type', '2.7.0'), 'oatype': ('own_addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (HCI_Cmd_LE_Set_Advertising_Parameters).interval_min>, <LEShortField (HCI_Cmd_LE_Set_Advertising_Parameters).interval_max>, <ByteEnumField (HCI_Cmd_LE_Set_Advertising_Parameters).adv_type>, <ByteEnumField (HCI_Cmd_LE_Set_Advertising_Parameters).own_addr_type>, <ByteEnumField (HCI_Cmd_LE_Set_Advertising_Parameters).peer_addr_type>, <LEMACField (HCI_Cmd_LE_Set_Advertising_Parameters).peer_addr>, <ByteField (HCI_Cmd_LE_Set_Advertising_Parameters).channel_map>, <ByteEnumField (HCI_Cmd_LE_Set_Advertising_Parameters).filter_policy>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Set_Random_Address(_pkt, /, *, handle=0, addr=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Set_Random_Address'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Event_Mask(_pkt, /, *, mask=b'\xff\xff\xff\xff\xff\x1f\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Event_Mask'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertise_Enable(_pkt, /, *, enable=1, num_sets=None, sets=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertise_Enable'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Data(_pkt, /, *, handle=0, operation=3, frag_pref=1, len=None, data=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Data'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Data).handle>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Data).operation>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Data).frag_pref>, <FieldLenField (HCI_Cmd_LE_Set_Extended_Advertising_Data).len>, <PacketListField (HCI_Cmd_LE_Set_Extended_Advertising_Data).data>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Parameters(_pkt, /, *, handle=0, properties=19, pri_interval_min=160, pri_interval_max=160, pri_channel_map=7, own_addr_type=0, peer_addr_type=0, peer_addr=None, filter_policy=0, tx_power=127, pri_phy=1, sec_max_skip=0, sec_phy=1, sid=0, scan_req_notify_enable=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Parameters'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).handle>, <LEShortField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).properties>, <LEThreeBytesField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).pri_interval_min>, <LEThreeBytesField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).pri_interval_max>, <ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).pri_channel_map>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).own_addr_type>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).peer_addr_type>, <LEMACField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).peer_addr>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).filter_policy>, <SignedByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).tx_power>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).pri_phy>, <ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).sec_max_skip>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).sec_phy>, <ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).sid>, <ByteField (HCI_Cmd_LE_Set_Extended_Advertising_Parameters).scan_req_notify_enable>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Enable(_pkt, /, *, enable=1, filter_dups=1, duration=500, period=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Enable'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Set_Extended_Scan_Enable).enable>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Scan_Enable).filter_dups>, <LEShortField (HCI_Cmd_LE_Set_Extended_Scan_Enable).duration>, <LEShortField (HCI_Cmd_LE_Set_Extended_Scan_Enable).period>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Parameters(_pkt, /, *, own_address_type=0, scanning_filter_policy=0, scanning_phys=1, scan_type_1m=1, scan_interval_1m=16, scan_window_1m=16, scan_type_2m=1, scan_interval_2m=16, scan_window_2m=16, scan_type_coded=1, scan_interval_coded=16, scan_window_coded=16)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Parameters'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Set_Extended_Scan_Parameters).own_address_type>, <ByteEnumField (HCI_Cmd_LE_Set_Extended_Scan_Parameters).scanning_filter_policy>, <ByteField (HCI_Cmd_LE_Set_Extended_Scan_Parameters).scanning_phys>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Random_Address(_pkt, /, *, addr=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Random_Address'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'address': ('addr', '2.7.0')}
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Enable(_pkt, /, *, enable=1, filter_dups=1)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Enable'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Parameters(_pkt, /, *, type=0, interval=16, window=16, addr_type=0, policy=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Parameters'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'atype': ('addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Cmd_LE_Set_Scan_Parameters).type>, <XLEShortField (HCI_Cmd_LE_Set_Scan_Parameters).interval>, <XLEShortField (HCI_Cmd_LE_Set_Scan_Parameters).window>, <ByteEnumField (HCI_Cmd_LE_Set_Scan_Parameters).addr_type>, <ByteEnumField (HCI_Cmd_LE_Set_Scan_Parameters).policy>]
- class scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Response_Data(_pkt, /, *, len=None, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Response_Data'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.11 Link Key Request Negative Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Reply(_pkt, /, *, bd_addr=None, link_key=None)[source]
Bases:
Packet7.1.10 Link Key Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Link_Key_Selection(_pkt, /, *, handle=0)[source]
Bases:
Packet7.1.18 Change Connection Link Key command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Link_Key_Selection'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.13 PIN Code Request Negative Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Reply(_pkt, /, *, bd_addr=None, pin_code_length=7, pin_code=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet7.1.12 PIN Code Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Periodic_Inquiry_Mode(_pkt, /, *, max_period_length=3, min_period_length=2, lap=10390323, inquiry_length=0, num_responses=0)[source]
Bases:
Packet7.1.3 Periodic Inquiry Mode command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Periodic_Inquiry_Mode'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (HCI_Cmd_Periodic_Inquiry_Mode).max_period_length>, <LEShortField (HCI_Cmd_Periodic_Inquiry_Mode).min_period_length>, <XLE3BytesField (HCI_Cmd_Periodic_Inquiry_Mode).lap>, <ByteField (HCI_Cmd_Periodic_Inquiry_Mode).inquiry_length>, <ByteField (HCI_Cmd_Periodic_Inquiry_Mode).num_responses>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_BD_Addr(_pkt, /)[source]
Bases:
Packet7.4.6 Read BD_ADDR command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_BD_Addr'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_LE_Host_Support(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_LE_Host_Support'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Link_Quality(_pkt, /, *, handle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Link_Quality'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Extended_Features(_pkt, /, *, page_number=0)[source]
Bases:
Packet7.4.4 Read Local Extended Features command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Extended_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Name(_pkt, /)[source]
Bases:
Packet7.3.12 Read Local Name command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Name'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Local_Version_Information(_pkt, /)[source]
Bases:
Packet7.4.1 Read Local Version Information command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Version_Information'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Loopback_Mode(_pkt, /)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Loopback_Mode'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_RSSI(_pkt, /, *, handle=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_RSSI'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Extended_Features(_pkt, /, *, connection_handle=None, page_number=None)[source]
Bases:
Packet7.1.22 Read Remote Extended Features command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Extended_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Supported_Features(_pkt, /, *, connection_handle=None)[source]
Bases:
Packet7.1.21 Read Remote Supported Features command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Supported_Features'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Reject_Connection_Response(_pkt, /, *, bd_addr=None, reason=1)[source]
Bases:
Packet7.1.9 Reject Connection Request command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Reject_Connection_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request(_pkt, /, *, bd_addr=None, page_scan_repetition_mode=2, reserved=0, clock_offset=0)[source]
Bases:
Packet7.1.19 Remote Name Request command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request_Cancel(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.20 Remote Name Request Cancel command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request_Cancel'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.35 Remote OOB Data Request Negative Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Reply(_pkt, /, *, bd_addr=None, C=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', R=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet7.1.34 Remote OOB Data Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Reset(_pkt, /)[source]
Bases:
Packet7.3.2 Reset command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Reset'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Set_Connection_Encryption(_pkt, /, *, handle=0, encryption_enable=0)[source]
Bases:
Packet7.1.16 Set Connection Encryption command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Set_Connection_Encryption'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter(_pkt, /, *, type=0)[source]
Bases:
Packet7.3.3 Set Event Filter command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask(_pkt, /, *, mask=b'\xff\xff\xfb\xff\x07\xf8\xbf=')[source]
Bases:
Packet7.3.1 Set Event Mask command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.31 User Confirmation Request Negative Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.30 User Confirmation Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Negative_Reply(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.1.33 User Passkey Request Negative Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Negative_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Reply(_pkt, /, *, bd_addr=None, numeric_value=None)[source]
Bases:
Packet7.1.32 User Passkey Request Reply command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Reply'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Write_Connect_Accept_Timeout(_pkt, /, *, timeout=32000)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Write_Connect_Accept_Timeout'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Write_Extended_Inquiry_Response(_pkt, /, *, fec_required=0, eir_data=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Write_Extended_Inquiry_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Write_LE_Host_Support(_pkt, /, *, supported=1, unused=1)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Write_LE_Host_Support'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Write_Local_Name(_pkt, /, *, name='HCI_Write_Local_Name')[source]
Bases:
Packet7.3.11 Write Local Name command
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Write_Local_Name'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Cmd_Write_Loopback_Mode(_pkt, /, *, loopback_mode=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Cmd_Write_Loopback_Mode'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Command_Hdr(_pkt, /, *, ogf=0, ocf=0, len=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Command_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XBitField (HCI_Command_Hdr).ogf>, <XBitField (HCI_Command_Hdr).ocf>, <LenField (HCI_Command_Hdr).len>]
- property opcode
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'ocf': 1, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Inquiry'>), ({'ocf': 2, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Inquiry_Cancel'>), ({'ocf': 3, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Periodic_Inquiry_Mode'>), ({'ocf': 4, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Exit_Peiodic_Inquiry_Mode'>), ({'ocf': 5, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Create_Connection'>), ({'ocf': 6, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Disconnect'>), ({'ocf': 8, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Create_Connection_Cancel'>), ({'ocf': 9, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Accept_Connection_Request'>), ({'ocf': 10, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Reject_Connection_Response'>), ({'ocf': 11, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Reply'>), ({'ocf': 12, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Link_Key_Request_Negative_Reply'>), ({'ocf': 13, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_PIN_Code_Request_Reply'>), ({'ocf': 15, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Packet_Type'>), ({'ocf': 17, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Authentication_Requested'>), ({'ocf': 19, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Set_Connection_Encryption'>), ({'ocf': 23, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Change_Connection_Link_Key'>), ({'ocf': 25, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request'>), ({'ocf': 26, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Remote_Name_Request_Cancel'>), ({'ocf': 27, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Supported_Features'>), ({'ocf': 28, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Remote_Extended_Features'>), ({'ocf': 43, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_IO_Capability_Request_Reply'>), ({'ocf': 44, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Reply'>), ({'ocf': 45, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_User_Confirmation_Request_Negative_Reply'>), ({'ocf': 46, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Reply'>), ({'ocf': 47, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_User_Passkey_Request_Negative_Reply'>), ({'ocf': 48, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Reply'>), ({'ocf': 51, 'ogf': 1}, <class 'scapy.layers.bluetooth.HCI_Cmd_Remote_OOB_Data_Request_Negative_Reply'>), ({'ocf': 1, 'ogf': 2}, <class 'scapy.layers.bluetooth.HCI_Cmd_Hold_Mode'>), ({'ocf': 1, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Set_Event_Mask'>), ({'ocf': 3, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Reset'>), ({'ocf': 5, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Set_Event_Filter'>), ({'ocf': 19, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Write_Local_Name'>), ({'ocf': 20, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Name'>), ({'ocf': 22, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Write_Connect_Accept_Timeout'>), ({'ocf': 82, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Write_Extended_Inquiry_Response'>), ({'ocf': 108, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_LE_Host_Support'>), ({'ocf': 109, 'ogf': 3}, <class 'scapy.layers.bluetooth.HCI_Cmd_Write_LE_Host_Support'>), ({'ocf': 1, 'ogf': 4}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Version_Information'>), ({'ocf': 4, 'ogf': 4}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Local_Extended_Features'>), ({'ocf': 9, 'ogf': 4}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_BD_Addr'>), ({'ocf': 3, 'ogf': 5}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Link_Quality'>), ({'ocf': 5, 'ogf': 5}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_RSSI'>), ({'ocf': 1, 'ogf': 6}, <class 'scapy.layers.bluetooth.HCI_Cmd_Read_Loopback_Mode'>), ({'ocf': 2, 'ogf': 6}, <class 'scapy.layers.bluetooth.HCI_Cmd_Write_Loopback_Mode'>), ({'ocf': 1, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Event_Mask'>), ({'ocf': 2, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V1'>), ({'ocf': 96, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Buffer_Size_V2'>), ({'ocf': 3, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Local_Supported_Features'>), ({'ocf': 5, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Random_Address'>), ({'ocf': 6, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Parameters'>), ({'ocf': 53, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Set_Random_Address'>), ({'ocf': 54, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Parameters'>), ({'ocf': 8, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertising_Data'>), ({'ocf': 55, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertising_Data'>), ({'ocf': 9, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Response_Data'>), ({'ocf': 10, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Advertise_Enable'>), ({'ocf': 57, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Advertise_Enable'>), ({'ocf': 11, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Parameters'>), ({'ocf': 65, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Parameters'>), ({'ocf': 12, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Scan_Enable'>), ({'ocf': 66, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Set_Extended_Scan_Enable'>), ({'ocf': 13, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection'>), ({'ocf': 67, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Extended_Create_Connection'>), ({'ocf': 14, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Create_Connection_Cancel'>), ({'ocf': 15, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Filter_Accept_List_Size'>), ({'ocf': 16, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Clear_Filter_Accept_List'>), ({'ocf': 17, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Add_Device_To_Filter_Accept_List'>), ({'ocf': 18, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Remove_Device_From_Filter_Accept_List'>), ({'ocf': 19, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Connection_Update'>), ({'ocf': 22, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Read_Remote_Features'>), ({'ocf': 25, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Enable_Encryption'>), ({'ocf': 26, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Reply'>), ({'ocf': 27, 'ogf': 8}, <class 'scapy.layers.bluetooth.HCI_Cmd_LE_Long_Term_Key_Request_Negative_Reply'>)]
- class scapy.layers.bluetooth.HCI_Event_Command_Complete(_pkt, /, *, number=0, opcode=0, status=0)[source]
Bases:
Packet7.7.14 Command Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Command_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Event_Command_Complete).number>, <XLEShortField (HCI_Event_Command_Complete).opcode>, <ByteEnumField (HCI_Event_Command_Complete).status>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'opcode': 3092}, <class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Name'>), ({'opcode': 4097}, <class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Version_Information'>), ({'opcode': 4100}, <class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_Local_Extended_Features'>), ({'opcode': 4105}, <class 'scapy.layers.bluetooth.HCI_Cmd_Complete_Read_BD_Addr'>), ({'opcode': 8207}, <class 'scapy.layers.bluetooth.HCI_Cmd_Complete_LE_Read_White_List_Size'>)]
- class scapy.layers.bluetooth.HCI_Event_Command_Status(_pkt, /, *, status=0, number=0, opcode=None)[source]
Bases:
Packet7.7.15 Command Status event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Command_Status'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Connection_Complete(_pkt, /, *, status=0, handle=256, bd_addr=None, link_type=0, encryption_enabled=0)[source]
Bases:
Packet7.7.3 Connection Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Connection_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Event_Connection_Complete).status>, <LEShortField (HCI_Event_Connection_Complete).handle>, <LEMACField (HCI_Event_Connection_Complete).bd_addr>, <ByteEnumField (HCI_Event_Connection_Complete).link_type>, <ByteEnumField (HCI_Event_Connection_Complete).encryption_enabled>]
- class scapy.layers.bluetooth.HCI_Event_Connection_Request(_pkt, /, *, bd_addr=None, device_class=0, link_type=0)[source]
Bases:
Packet7.7.4 Connection Request event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Connection_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Disconnection_Complete(_pkt, /, *, status=0, handle=0, reason=0)[source]
Bases:
Packet7.7.5 Disconnection Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Disconnection_Complete'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Encryption_Change(_pkt, /, *, status=0, handle=0, enabled=0)[source]
Bases:
Packet7.7.8 Encryption Change event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Encryption_Change'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Extended_Inquiry_Result(_pkt, /, *, num_response=1, bd_addr=None, page_scan_repetition_mode=0, reserved=0, device_class=0, clock_offset=0, rssi=0, eir_data=[])[source]
Bases:
Packet7.7.38 Extended Inquiry Result event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Extended_Inquiry_Result'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Event_Extended_Inquiry_Result).num_response>, <LEMACField (HCI_Event_Extended_Inquiry_Result).bd_addr>, <ByteField (HCI_Event_Extended_Inquiry_Result).page_scan_repetition_mode>, <ByteField (HCI_Event_Extended_Inquiry_Result).reserved>, <XLE3BytesField (HCI_Event_Extended_Inquiry_Result).device_class>, <LEShortField (HCI_Event_Extended_Inquiry_Result).clock_offset>, <SignedByteField (HCI_Event_Extended_Inquiry_Result).rssi>, <scapy.fields.PadField object>]
- class scapy.layers.bluetooth.HCI_Event_Hdr(_pkt, /, *, code=0, len=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XByteField (HCI_Event_Hdr).code>, <LenField (HCI_Event_Hdr).len>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'code': 1}, <class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Complete'>), ({'code': 2}, <class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Result'>), ({'code': 3}, <class 'scapy.layers.bluetooth.HCI_Event_Connection_Complete'>), ({'code': 4}, <class 'scapy.layers.bluetooth.HCI_Event_Connection_Request'>), ({'code': 5}, <class 'scapy.layers.bluetooth.HCI_Event_Disconnection_Complete'>), ({'code': 7}, <class 'scapy.layers.bluetooth.HCI_Event_Remote_Name_Request_Complete'>), ({'code': 8}, <class 'scapy.layers.bluetooth.HCI_Event_Encryption_Change'>), ({'code': 11}, <class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Supported_Features_Complete'>), ({'code': 12}, <class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Version_Information_Complete'>), ({'code': 14}, <class 'scapy.layers.bluetooth.HCI_Event_Command_Complete'>), ({'code': 15}, <class 'scapy.layers.bluetooth.HCI_Event_Command_Status'>), ({'code': 19}, <class 'scapy.layers.bluetooth.HCI_Event_Number_Of_Completed_Packets'>), ({'code': 23}, <class 'scapy.layers.bluetooth.HCI_Event_Link_Key_Request'>), ({'code': 34}, <class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Result_With_Rssi'>), ({'code': 35}, <class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Extended_Features_Complete'>), ({'code': 47}, <class 'scapy.layers.bluetooth.HCI_Event_Extended_Inquiry_Result'>), ({'code': 50}, <class 'scapy.layers.bluetooth.HCI_Event_IO_Capability_Response'>), ({'code': 61}, <class 'scapy.layers.bluetooth.HCI_Event_Remote_Host_Supported_Features_Notification'>), ({'code': 62}, <class 'scapy.layers.bluetooth.HCI_Event_LE_Meta'>), ({'code': 255}, <class 'scapy.layers.bluetooth.HCI_Event_Vendor'>)]
- class scapy.layers.bluetooth.HCI_Event_IO_Capability_Response(_pkt, /, *, bd_addr=None, io_capability=0, oob_data_present=0, authentication_requirements=0)[source]
Bases:
Packet7.7.41 IO Capability Response event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_IO_Capability_Response'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEMACField (HCI_Event_IO_Capability_Response).bd_addr>, <ByteField (HCI_Event_IO_Capability_Response).io_capability>, <ByteField (HCI_Event_IO_Capability_Response).oob_data_present>, <ByteField (HCI_Event_IO_Capability_Response).authentication_requirements>]
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Complete(_pkt, /, *, status=0)[source]
Bases:
Packet7.7.1 Inquiry Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Complete'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Result(_pkt, /, *, num_response=0, addr=[], page_scan_repetition_mode=[], reserved=[], device_class=[], clock_offset=[])[source]
Bases:
Packet7.7.2 Inquiry Result event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Result'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Event_Inquiry_Result).num_response>, <FieldListField (HCI_Event_Inquiry_Result).addr>, <FieldListField (HCI_Event_Inquiry_Result).page_scan_repetition_mode>, <FieldListField (HCI_Event_Inquiry_Result).reserved>, <FieldListField (HCI_Event_Inquiry_Result).device_class>, <FieldListField (HCI_Event_Inquiry_Result).clock_offset>]
- class scapy.layers.bluetooth.HCI_Event_Inquiry_Result_With_Rssi(_pkt, /, *, num_response=0, bd_addr=[], page_scan_repetition_mode=[], reserved=[], device_class=[], clock_offset=[], rssi=[])[source]
Bases:
Packet7.7.33 Inquiry Result with RSSI event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Inquiry_Result_With_Rssi'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteField (HCI_Event_Inquiry_Result_With_Rssi).num_response>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).bd_addr>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).page_scan_repetition_mode>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).reserved>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).device_class>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).clock_offset>, <FieldListField (HCI_Event_Inquiry_Result_With_Rssi).rssi>]
- class scapy.layers.bluetooth.HCI_Event_LE_Meta(_pkt, /, *, event=0)[source]
Bases:
Packet7.7.65 LE Meta event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_LE_Meta'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Event_LE_Meta).event>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'event': 1}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Connection_Complete'>), ({'event': 10}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Enhanced_Connection_Complete'>), ({'event': 2}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Reports'>), ({'event': 3}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Connection_Update_Complete'>), ({'event': 4}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_LE_Read_Remote_Features_Complete'>), ({'event': 5}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Long_Term_Key_Request'>), ({'event': 13}, <class 'scapy.layers.bluetooth.HCI_LE_Meta_Extended_Advertising_Reports'>)]
- class scapy.layers.bluetooth.HCI_Event_Link_Key_Request(_pkt, /, *, bd_addr=None)[source]
Bases:
Packet7.7.23 Link Key Request event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Link_Key_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Number_Of_Completed_Packets(_pkt, /, *, num_handles=0, connection_handle_list=[], num_completed_packets_list=[])[source]
Bases:
Packet7.7.19 Number Of Completed Packets event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Number_Of_Completed_Packets'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Extended_Features_Complete(_pkt, /, *, status=0, handle=0, page=0, max_page=0, extended_features=0)[source]
Bases:
Packet7.7.34 Read Remote Extended Features Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Extended_Features_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Event_Read_Remote_Extended_Features_Complete).status>, <LEShortField (HCI_Event_Read_Remote_Extended_Features_Complete).handle>, <ByteField (HCI_Event_Read_Remote_Extended_Features_Complete).page>, <ByteField (HCI_Event_Read_Remote_Extended_Features_Complete).max_page>, <XLELongField (HCI_Event_Read_Remote_Extended_Features_Complete).extended_features>]
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Supported_Features_Complete(_pkt, /, *, status=0, handle=0, lmp_features=<Flag 0 ()>)[source]
Bases:
Packet7.7.11 Read Remote Supported Features Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Supported_Features_Complete'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Read_Remote_Version_Information_Complete(_pkt, /, *, status=0, handle=0, version=0, manufacturer_name=0, subversion=0)[source]
Bases:
Packet7.7.12 Read Remote Version Information Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Read_Remote_Version_Information_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_Event_Read_Remote_Version_Information_Complete).status>, <LEShortField (HCI_Event_Read_Remote_Version_Information_Complete).handle>, <ByteField (HCI_Event_Read_Remote_Version_Information_Complete).version>, <LEShortField (HCI_Event_Read_Remote_Version_Information_Complete).manufacturer_name>, <LEShortField (HCI_Event_Read_Remote_Version_Information_Complete).subversion>]
- class scapy.layers.bluetooth.HCI_Event_Remote_Host_Supported_Features_Notification(_pkt, /, *, bd_addr=None, host_supported_features=0)[source]
Bases:
Packet7.7.50 Remote Host Supported Features Notification event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Remote_Host_Supported_Features_Notification'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Remote_Name_Request_Complete(_pkt, /, *, status=0, bd_addr=None, remote_name=b'\x00')[source]
Bases:
Packet7.7.7 Remote Name Request Complete event
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Remote_Name_Request_Complete'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Event_Vendor(_pkt, /, *, data=b'')[source]
Bases:
PacketVendor-Specific Debug event (event code 0xFF).
Bluetooth Core 5.4, Vol 4, Part E, section 5.4.4 reserves 0xFF for vendor-specific debugging events; the format of the parameters is vendor-defined, so the data is exposed as a raw byte string.
- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Event_Vendor'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Extended_Inquiry_Response(_pkt, /, *, eir_data=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Extended_Inquiry_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Hdr(_pkt, /, *, type=2)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Hdr'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Report(_pkt, /, *, type=0, addr_type=0, addr=None, len=None, data=[], rssi=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Report'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'atype': ('addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_LE_Meta_Advertising_Report).type>, <ByteEnumField (HCI_LE_Meta_Advertising_Report).addr_type>, <LEMACField (HCI_LE_Meta_Advertising_Report).addr>, <FieldLenField (HCI_LE_Meta_Advertising_Report).len>, <PacketListField (HCI_LE_Meta_Advertising_Report).data>, <SignedByteField (HCI_LE_Meta_Advertising_Report).rssi>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Reports(_pkt, /, *, len=None, reports=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Advertising_Reports'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Complete(_pkt, /, *, status=0, handle=0, role=0, peer_addr_type=0, peer_addr=None, interval=54, latency=0, supervision=42, master_clock_accuracy=5)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Connection_Complete'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'clock_latency': ('master_clock_accuracy', '2.7.0'), 'paddr': ('peer_addr', '2.7.0'), 'patype': ('peer_addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_LE_Meta_Connection_Complete).status>, <LEShortField (HCI_LE_Meta_Connection_Complete).handle>, <ByteEnumField (HCI_LE_Meta_Connection_Complete).role>, <ByteEnumField (HCI_LE_Meta_Connection_Complete).peer_addr_type>, <LEMACField (HCI_LE_Meta_Connection_Complete).peer_addr>, <LEShortField (HCI_LE_Meta_Connection_Complete).interval>, <LEShortField (HCI_LE_Meta_Connection_Complete).latency>, <LEShortField (HCI_LE_Meta_Connection_Complete).supervision>, <XByteField (HCI_LE_Meta_Connection_Complete).master_clock_accuracy>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Connection_Update_Complete(_pkt, /, *, status=0, handle=0, interval=54, latency=0, timeout=42)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Connection_Update_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_LE_Meta_Connection_Update_Complete).status>, <LEShortField (HCI_LE_Meta_Connection_Update_Complete).handle>, <LEShortField (HCI_LE_Meta_Connection_Update_Complete).interval>, <LEShortField (HCI_LE_Meta_Connection_Update_Complete).latency>, <LEShortField (HCI_LE_Meta_Connection_Update_Complete).timeout>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Enhanced_Connection_Complete(_pkt, /, *, status=0, handle=0, role=0, peer_addr_type=0, peer_addr=None, local_rpa=None, peer_rpa=None, interval=54, latency=0, supervision=42, master_clock_accuracy=5)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Enhanced_Connection_Complete'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (HCI_LE_Meta_Enhanced_Connection_Complete).status>, <LEShortField (HCI_LE_Meta_Enhanced_Connection_Complete).handle>, <ByteEnumField (HCI_LE_Meta_Enhanced_Connection_Complete).role>, <ByteEnumField (HCI_LE_Meta_Enhanced_Connection_Complete).peer_addr_type>, <LEMACField (HCI_LE_Meta_Enhanced_Connection_Complete).peer_addr>, <LEMACField (HCI_LE_Meta_Enhanced_Connection_Complete).local_rpa>, <LEMACField (HCI_LE_Meta_Enhanced_Connection_Complete).peer_rpa>, <LEShortField (HCI_LE_Meta_Enhanced_Connection_Complete).interval>, <LEShortField (HCI_LE_Meta_Enhanced_Connection_Complete).latency>, <LEShortField (HCI_LE_Meta_Enhanced_Connection_Complete).supervision>, <XByteField (HCI_LE_Meta_Enhanced_Connection_Complete).master_clock_accuracy>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Extended_Advertising_Report(_pkt, /, *, reserved0=0, data_status=0, legacy=0, scan_response=0, directed=0, scannable=0, connectable=0, reserved=0, addr_type=0, addr=None, primary_phy=0, secondary_phy=0, advertising_sid=255, tx_power=127, rssi=0, periodic_advertising_interval=0, direct_addr_type=0, direct_addr=None, data_length=None, data=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Extended_Advertising_Report'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'address': ('addr', '2.7.0'), 'address_type': ('addr_type', '2.7.0'), 'direct_address': ('direct_addr', '2.7.0'), 'direct_address_type': ('direct_addr_type', '2.7.0')}
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (HCI_LE_Meta_Extended_Advertising_Report).reserved0>, <BitEnumField (HCI_LE_Meta_Extended_Advertising_Report).data_status>, <BitField (HCI_LE_Meta_Extended_Advertising_Report).legacy>, <BitField (HCI_LE_Meta_Extended_Advertising_Report).scan_response>, <BitField (HCI_LE_Meta_Extended_Advertising_Report).directed>, <BitField (HCI_LE_Meta_Extended_Advertising_Report).scannable>, <BitField (HCI_LE_Meta_Extended_Advertising_Report).connectable>, <ByteField (HCI_LE_Meta_Extended_Advertising_Report).reserved>, <ByteEnumField (HCI_LE_Meta_Extended_Advertising_Report).addr_type>, <LEMACField (HCI_LE_Meta_Extended_Advertising_Report).addr>, <ByteEnumField (HCI_LE_Meta_Extended_Advertising_Report).primary_phy>, <ByteEnumField (HCI_LE_Meta_Extended_Advertising_Report).secondary_phy>, <ByteField (HCI_LE_Meta_Extended_Advertising_Report).advertising_sid>, <ByteField (HCI_LE_Meta_Extended_Advertising_Report).tx_power>, <SignedByteField (HCI_LE_Meta_Extended_Advertising_Report).rssi>, <LEShortField (HCI_LE_Meta_Extended_Advertising_Report).periodic_advertising_interval>, <ByteEnumField (HCI_LE_Meta_Extended_Advertising_Report).direct_addr_type>, <LEMACField (HCI_LE_Meta_Extended_Advertising_Report).direct_addr>, <FieldLenField (HCI_LE_Meta_Extended_Advertising_Report).data_length>, <PacketListField (HCI_LE_Meta_Extended_Advertising_Report).data>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Extended_Advertising_Reports(_pkt, /, *, num_reports=None, reports=[])[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Extended_Advertising_Reports'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_LE_Meta_LE_Read_Remote_Features_Complete(_pkt, /, *, status=0, handle=0, le_features=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_LE_Read_Remote_Features_Complete'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_LE_Meta_Long_Term_Key_Request(_pkt, /, *, handle=0, rand=None, ediv=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_LE_Meta_Long_Term_Key_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Mon_Hdr(_pkt, /, *, opcode=None, adapter_id=None, len=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Mon_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortEnumField (HCI_Mon_Hdr).opcode>, <LEShortField (HCI_Mon_Hdr).adapter_id>, <LEShortField (HCI_Mon_Hdr).len>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'opcode': 0}, <class 'scapy.layers.bluetooth.HCI_Mon_New_Index'>), ({'opcode': 2}, <class 'scapy.layers.bluetooth.HCI_Command_Hdr'>), ({'opcode': 3}, <class 'scapy.layers.bluetooth.HCI_Event_Hdr'>), ({'opcode': 5}, <class 'scapy.layers.bluetooth.HCI_ACL_Hdr'>), ({'opcode': 10}, <class 'scapy.layers.bluetooth.HCI_Mon_Index_Info'>), ({'opcode': 12}, <class 'scapy.layers.bluetooth.HCI_Mon_System_Note'>)]
- class scapy.layers.bluetooth.HCI_Mon_Index_Info(_pkt, /, *, addr=None, manufacturer=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Mon_Index_Info'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Mon_New_Index(_pkt, /, *, bus=0, type=0, addr=None, devname=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Mon_New_Index'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Mon_Pcap_Hdr(_pkt, /, *, adapter_id=None, opcode=None)[source]
Bases:
HCI_Mon_Hdr- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Mon_Pcap_Hdr'>, <class 'scapy.layers.bluetooth.HCI_Mon_Hdr'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_Mon_System_Note(_pkt, /, *, note=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_Mon_System_Note'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.HCI_PHDR_Hdr(_pkt, /, *, direction=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.HCI_PHDR_Hdr'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_CmdHdr(_pkt, /, *, code=8, id=1, len=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_CmdHdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (L2CAP_CmdHdr).code>, <ByteField (L2CAP_CmdHdr).id>, <LEShortField (L2CAP_CmdHdr).len>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'code': 1}, <class 'scapy.layers.bluetooth.L2CAP_CmdRej'>), ({'code': 2}, <class 'scapy.layers.bluetooth.L2CAP_ConnReq'>), ({'code': 3}, <class 'scapy.layers.bluetooth.L2CAP_ConnResp'>), ({'code': 4}, <class 'scapy.layers.bluetooth.L2CAP_ConfReq'>), ({'code': 5}, <class 'scapy.layers.bluetooth.L2CAP_ConfResp'>), ({'code': 6}, <class 'scapy.layers.bluetooth.L2CAP_DisconnReq'>), ({'code': 7}, <class 'scapy.layers.bluetooth.L2CAP_DisconnResp'>), ({'code': 8}, <class 'scapy.layers.bluetooth.L2CAP_EchoReq'>), ({'code': 9}, <class 'scapy.layers.bluetooth.L2CAP_EchoResp'>), ({'code': 10}, <class 'scapy.layers.bluetooth.L2CAP_InfoReq'>), ({'code': 11}, <class 'scapy.layers.bluetooth.L2CAP_InfoResp'>), ({'code': 12}, <class 'scapy.layers.bluetooth.L2CAP_Create_Channel_Request'>), ({'code': 13}, <class 'scapy.layers.bluetooth.L2CAP_Create_Channel_Response'>), ({'code': 14}, <class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Request'>), ({'code': 15}, <class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Response'>), ({'code': 16}, <class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Request'>), ({'code': 17}, <class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Response'>), ({'code': 18}, <class 'scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request'>), ({'code': 19}, <class 'scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Response'>), ({'code': 20}, <class 'scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Request'>), ({'code': 21}, <class 'scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Response'>), ({'code': 22}, <class 'scapy.layers.bluetooth.L2CAP_Flow_Control_Credit_Ind'>), ({'code': 23}, <class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Request'>), ({'code': 24}, <class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Response'>), ({'code': 25}, <class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Request'>), ({'code': 26}, <class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Response'>)]
- class scapy.layers.bluetooth.L2CAP_CmdRej(_pkt, /, *, reason=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_CmdRej'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_ConfReq(_pkt, /, *, dcid=0, flags=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_ConfReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_ConfResp(_pkt, /, *, scid=0, flags=0, result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_ConfResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_ConnReq(_pkt, /, *, psm=0, scid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_ConnReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_ConnResp(_pkt, /, *, dcid=0, scid=0, result=0, status=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_ConnResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request(_pkt, /, *, min_interval=0, max_interval=0, slave_latency=0, timeout_mult=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_Connection_Parameter_Update_Request).min_interval>, <LEShortField (L2CAP_Connection_Parameter_Update_Request).max_interval>, <LEShortField (L2CAP_Connection_Parameter_Update_Request).slave_latency>, <LEShortField (L2CAP_Connection_Parameter_Update_Request).timeout_mult>]
- class scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Response(_pkt, /, *, move_result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Connection_Parameter_Update_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Create_Channel_Request(_pkt, /, *, psm=0, scid=0, controller_id=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Create_Channel_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Create_Channel_Response(_pkt, /, *, dcid=0, scid=0, result=0, status=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Create_Channel_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Request(_pkt, /, *, spsm=0, mtu=0, mps=0, initial_credits=0, scid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_Credit_Based_Connection_Request).spsm>, <LEShortField (L2CAP_Credit_Based_Connection_Request).mtu>, <LEShortField (L2CAP_Credit_Based_Connection_Request).mps>, <LEShortField (L2CAP_Credit_Based_Connection_Request).initial_credits>, <LEShortField (L2CAP_Credit_Based_Connection_Request).scid>]
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Response(_pkt, /, *, mtu=0, mps=0, initial_credits=0, result=0, dcid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Connection_Response'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_Credit_Based_Connection_Response).mtu>, <LEShortField (L2CAP_Credit_Based_Connection_Response).mps>, <LEShortField (L2CAP_Credit_Based_Connection_Response).initial_credits>, <LEShortEnumField (L2CAP_Credit_Based_Connection_Response).result>, <LEShortField (L2CAP_Credit_Based_Connection_Response).dcid>]
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Request(_pkt, /, *, mtu=0, mps=0, dcid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Response(_pkt, /, *, result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Credit_Based_Reconfigure_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_DisconnReq(_pkt, /, *, dcid=0, scid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_DisconnReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_DisconnResp(_pkt, /, *, dcid=0, scid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_DisconnResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_EchoReq(_pkt, /, *, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_EchoReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_EchoResp(_pkt, /, *, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_EchoResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Flow_Control_Credit_Ind(_pkt, /, *, cid=0, credits=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Flow_Control_Credit_Ind'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Hdr(_pkt, /, *, len=None, cid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Hdr'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_Hdr).len>, <LEShortEnumField (L2CAP_Hdr).cid>]
- class scapy.layers.bluetooth.L2CAP_InfoReq(_pkt, /, *, type=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_InfoReq'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_InfoResp(_pkt, /, *, type=0, result=0, data=b'')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_InfoResp'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Request(_pkt, /, *, spsm=0, scid=0, mtu=0, mps=0, initial_credits=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_LE_Credit_Based_Connection_Request).spsm>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Request).scid>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Request).mtu>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Request).mps>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Request).initial_credits>]
- class scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Response(_pkt, /, *, dcid=0, mtu=0, mps=0, initial_credits=0, result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_LE_Credit_Based_Connection_Response'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortField (L2CAP_LE_Credit_Based_Connection_Response).dcid>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Response).mtu>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Response).mps>, <LEShortField (L2CAP_LE_Credit_Based_Connection_Response).initial_credits>, <LEShortEnumField (L2CAP_LE_Credit_Based_Connection_Response).result>]
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Request(_pkt, /, *, icid=0, result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Response(_pkt, /, *, icid=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Confirmation_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Request(_pkt, /, *, icid=0, dest_controller_id=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.L2CAP_Move_Channel_Response(_pkt, /, *, icid=0, result=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.L2CAP_Move_Channel_Response'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.LowEnergyBeaconHelper[source]
Bases:
objectHelpers for building packets for Bluetooth Low Energy Beacons.
Implementers provide a
build_eir()implementation.This is designed to be used as a mix-in – see
scapy.contrib.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(_pkt, /, *, confirm=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Confirm'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_DHKey_Check(_pkt, /, *, dhkey_check=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_DHKey_Check'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Encryption_Information(_pkt, /, *, ltk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Encryption_Information'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Failed(_pkt, /, *, reason=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Failed'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Hdr(_pkt, /, *, sm_command=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Hdr'>, <class 'scapy.packet.Packet'>]
- payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'sm_command': 1}, <class 'scapy.layers.bluetooth.SM_Pairing_Request'>), ({'sm_command': 2}, <class 'scapy.layers.bluetooth.SM_Pairing_Response'>), ({'sm_command': 3}, <class 'scapy.layers.bluetooth.SM_Confirm'>), ({'sm_command': 4}, <class 'scapy.layers.bluetooth.SM_Random'>), ({'sm_command': 5}, <class 'scapy.layers.bluetooth.SM_Failed'>), ({'sm_command': 6}, <class 'scapy.layers.bluetooth.SM_Encryption_Information'>), ({'sm_command': 7}, <class 'scapy.layers.bluetooth.SM_Master_Identification'>), ({'sm_command': 8}, <class 'scapy.layers.bluetooth.SM_Identity_Information'>), ({'sm_command': 9}, <class 'scapy.layers.bluetooth.SM_Identity_Address_Information'>), ({'sm_command': 10}, <class 'scapy.layers.bluetooth.SM_Signing_Information'>), ({'sm_command': 11}, <class 'scapy.layers.bluetooth.SM_Security_Request'>), ({'sm_command': 12}, <class 'scapy.layers.bluetooth.SM_Public_Key'>), ({'sm_command': 13}, <class 'scapy.layers.bluetooth.SM_DHKey_Check'>), ({'sm_command': 14}, <class 'scapy.layers.bluetooth.SM_Keypress_Notification'>)]
- class scapy.layers.bluetooth.SM_Identity_Address_Information(_pkt, /, *, addr_type=0, addr=None)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Identity_Address_Information'>, <class 'scapy.packet.Packet'>]
- deprecated_fields: Dict[str, Tuple[str, str]] = {'address': ('addr', '2.7.0'), 'atype': ('addr_type', '2.7.0')}
- class scapy.layers.bluetooth.SM_Identity_Information(_pkt, /, *, irk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Identity_Information'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Keypress_Notification(_pkt, /, *, notification_type=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Keypress_Notification'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Master_Identification(_pkt, /, *, ediv=0, rand=b'\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Master_Identification'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Pairing_Request(_pkt, /, *, iocap=3, oob=0, authentication=0, max_key_size=16, initiator_key_distribution=0, responder_key_distribution=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Pairing_Request'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SM_Pairing_Request).iocap>, <ByteEnumField (SM_Pairing_Request).oob>, <BitField (SM_Pairing_Request).authentication>, <ByteField (SM_Pairing_Request).max_key_size>, <ByteField (SM_Pairing_Request).initiator_key_distribution>, <ByteField (SM_Pairing_Request).responder_key_distribution>]
- class scapy.layers.bluetooth.SM_Pairing_Response(_pkt, /, *, iocap=3, oob=0, authentication=0, max_key_size=16, initiator_key_distribution=0, responder_key_distribution=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Pairing_Response'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ByteEnumField (SM_Pairing_Response).iocap>, <ByteEnumField (SM_Pairing_Response).oob>, <BitField (SM_Pairing_Response).authentication>, <ByteField (SM_Pairing_Response).max_key_size>, <ByteField (SM_Pairing_Response).initiator_key_distribution>, <ByteField (SM_Pairing_Response).responder_key_distribution>]
- class scapy.layers.bluetooth.SM_Public_Key(_pkt, /, *, key_x=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', key_y=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Public_Key'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Random(_pkt, /, *, random=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Random'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Security_Request(_pkt, /, *, auth_req=0)[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Security_Request'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.SM_Signing_Information(_pkt, /, *, csrk=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]
Bases:
Packet- aliastypes = [<class 'scapy.layers.bluetooth.SM_Signing_Information'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.bluetooth.sockaddr_hci[source]
Bases:
Structure- hci_channel
Structure/Union member
- hci_dev
Structure/Union member
- sin_family
Structure/Union member