scapy.contrib.automotive.bmw.hsfz

class scapy.contrib.automotive.bmw.hsfz.HSFZ(_pkt, /, *, length=None, type=1, src=0, dst=0)[source]

Bases: scapy.packet.Packet

aliastypes
extract_padding(s: bytes) Tuple[bytes, bytes][source]
fields_desc
Display RFC-like schema
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             LENGTH                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              TYPE             |      SRC      |      DST      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                            Fig. HSFZ                             
HSFZ fields

length

IntField

None

type

ShortEnumField

1

src

XByteField

0

dst

XByteField

0

hashret() bytes[source]
payload_guess

Possible sublayers: UDS

post_build(pkt: bytes, pay: bytes) bytes[source]

This will set the LenField ‘length’ to the correct value.

class scapy.contrib.automotive.bmw.hsfz.HSFZSocket(ip: str = '127.0.0.1', port: int = 6801)[source]

Bases: scapy.supersocket.StreamSocket

class scapy.contrib.automotive.bmw.hsfz.UDS_HSFZSocket(src: int, dst: int, ip: str = '127.0.0.1', port: int = 6801, basecls: typing.Type[scapy.packet.Packet] = <class 'scapy.contrib.automotive.uds.UDS'>)[source]

Bases: scapy.contrib.automotive.bmw.hsfz.HSFZSocket

recv(x: int = 65535) Optional[scapy.packet.Packet][source]
send(x: scapy.packet.Packet) int[source]