scapy.contrib.bluetooth_vsc_zephyr

class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Build_Info(_pkt, /, *, build_info=b'')[source]

Bases: Packet

Read Build Info (0xFC08) command complete: the build-info string.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Build_Info'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Build_Info).build_info>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Key_Hierarchy_Roots(_pkt, /, *, ir=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', er=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

Read Key Hierarchy Roots (0xFC0A) command complete.

The Identity Root (ir) and Encryption Root (er), 16 bytes each. Read primitive: discloses the seeds of the BLE key hierarchy (IRK, and LTK/CSRK derivation).

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Key_Hierarchy_Roots'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrFixedLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Key_Hierarchy_Roots).ir>, <XStrFixedLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Key_Hierarchy_Roots).er>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Static_Addresses(_pkt, /, *, num=None, addrs=[])[source]

Bases: Packet

Read Static Addresses (0xFC09) command complete.

num static addresses, each a 6-byte address followed by its 16-byte Identity Root (IR). Read primitive: discloses the factory static random address and identity-root key material.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Static_Addresses'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<FieldLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Static_Addresses).num>, <PacketListField (HCI_Cmd_Complete_VSC_Zephyr_Read_Static_Addresses).addrs>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Commands(_pkt, /, *, commands=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\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

Read Supported Commands (0xFC02) command complete: 64-byte support bitmap.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Commands'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrFixedLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Commands).commands>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Features(_pkt, /, *, features=b'\x00\x00\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

Read Supported Features (0xFC03) command complete: 8-byte feature bitmap.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Features'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XStrFixedLenField (HCI_Cmd_Complete_VSC_Zephyr_Read_Supported_Features).features>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info(_pkt, /, *, hw_platform=0, hw_variant=0, fw_variant=0, fw_version=0, fw_revision=0, fw_build=0)[source]

Bases: Packet

Read Version Info (0xFC01) command complete.

bt_hci_rp_vs_read_version_info: hardware platform/variant and the controller firmware variant/version/revision/build.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEShortEnumField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).hw_platform>, <LEShortEnumField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).hw_variant>, <ByteEnumField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).fw_variant>, <ByteField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).fw_version>, <LEShortField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).fw_revision>, <LEIntField (HCI_Cmd_Complete_VSC_Zephyr_Read_Version_Info).fw_build>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Build_Info(_pkt, /)[source]

Bases: Packet

Read Build Info (OCF 0x008, opcode 0xFC08). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Build_Info'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Key_Hierarchy_Roots(_pkt, /)[source]

Bases: Packet

Read Key Hierarchy Roots (OCF 0x00A, opcode 0xFC0A). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Key_Hierarchy_Roots'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Static_Addresses(_pkt, /)[source]

Bases: Packet

Read Static Addresses (OCF 0x009, opcode 0xFC09). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Static_Addresses'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Supported_Commands(_pkt, /)[source]

Bases: Packet

Read Supported Commands (OCF 0x002, opcode 0xFC02). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Supported_Commands'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Supported_Features(_pkt, /)[source]

Bases: Packet

Read Supported Features (OCF 0x003, opcode 0xFC03). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Supported_Features'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Version_Info(_pkt, /)[source]

Bases: Packet

Read Version Info (OCF 0x001, opcode 0xFC01). No parameters.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Read_Version_Info'>, <class 'scapy.packet.Packet'>]
class scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Write_BD_Addr(_pkt, /, *, bd_addr=None)[source]

Bases: Packet

Write BD_ADDR (OCF 0x006, opcode 0xFC06).

Sets the controller public device address to bd_addr. The value persists across an HCI Reset (it is only re-initialised on a real power cycle / re-enumeration).

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.HCI_Cmd_VSC_Zephyr_Write_BD_Addr'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEMACField (HCI_Cmd_VSC_Zephyr_Write_BD_Addr).bd_addr>]
class scapy.contrib.bluetooth_vsc_zephyr.ZephyrStaticAddr(_pkt, /, *, addr=None, ir=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')[source]

Bases: Packet

One bt_hci_vs_static_addr entry: a static random address + its IR.

aliastypes = [<class 'scapy.contrib.bluetooth_vsc_zephyr.ZephyrStaticAddr'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<LEMACField (ZephyrStaticAddr).addr>, <XStrFixedLenField (ZephyrStaticAddr).ir>]