scapy.contrib.rtps.common_types

Real-Time Publish-Subscribe Protocol (RTPS) dissection

class scapy.contrib.rtps.common_types.DataPacketField(*args, **kwargs)[source]

Bases: EPacketField

m2i(pkt, m)[source]
class scapy.contrib.rtps.common_types.EField(fld, endianness=None, endianness_from=None)[source]

Bases: _FieldContainer

A field that manages endianness of a nested field passed to the constructor

addfield(pkt, buf, val)[source]
endianness
endianness_from
fld
getfield(pkt, buf)[source]
set_endianness(pkt)[source]
class scapy.contrib.rtps.common_types.EPacket(_pkt, /)[source]

Bases: Packet

A packet that manages its endianness

aliastypes = [<class 'scapy.contrib.rtps.common_types.EPacket'>, <class 'scapy.packet.Packet'>]
clone_with(*args, **kwargs)[source]
endianness
extract_padding(p)[source]
class scapy.contrib.rtps.common_types.EPacketField(*args, **kwargs)[source]

Bases: _EPacketField, PacketField

A PacketField that manages its endianness and that of its nested packet

endianness
endianness_from
class scapy.contrib.rtps.common_types.EPacketListField(*args, **kwargs)[source]

Bases: _EPacketField, PacketListField

A PacketListField that manages its endianness and that of its nested packet

endianness
endianness_from
class scapy.contrib.rtps.common_types.EndpointFlagsPacket(_pkt, /, *, participantSecureReader=0, participantSecureWriter=0, secureParticipantVolatileMessageReader=0, secureParticipantVolatileMessageWriter=0, participantStatelessMessageReader=0, participantStatelessMessageWriter=0, secureParticipantMessageReader=0, secureParticipantMessageWriter=0, secureSubscriptionReader=0, secureSubscriptionWriter=0, securePublicationReader=0, securePublicationWriter=0, reserved=0, participantMessageDataReader=0, participantMessageDataWriter=0, participantStateDetector=0, participantStateAnnouncer=0, publicationDetector=0, publicationAnnouncer=0, participantDetector=0, participantAnnouncer=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtps.common_types.EndpointFlagsPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<BitField (EndpointFlagsPacket).participantSecureReader>, <BitField (EndpointFlagsPacket).participantSecureWriter>, <BitField (EndpointFlagsPacket).secureParticipantVolatileMessageReader>, <BitField (EndpointFlagsPacket).secureParticipantVolatileMessageWriter>, <BitField (EndpointFlagsPacket).participantStatelessMessageReader>, <BitField (EndpointFlagsPacket).participantStatelessMessageWriter>, <BitField (EndpointFlagsPacket).secureParticipantMessageReader>, <BitField (EndpointFlagsPacket).secureParticipantMessageWriter>, <BitField (EndpointFlagsPacket).secureSubscriptionReader>, <BitField (EndpointFlagsPacket).secureSubscriptionWriter>, <BitField (EndpointFlagsPacket).securePublicationReader>, <BitField (EndpointFlagsPacket).securePublicationWriter>, <BitField (EndpointFlagsPacket).reserved>, <BitField (EndpointFlagsPacket).participantMessageDataReader>, <BitField (EndpointFlagsPacket).participantMessageDataWriter>, <BitField (EndpointFlagsPacket).participantStateDetector>, <BitField (EndpointFlagsPacket).participantStateAnnouncer>, <BitField (EndpointFlagsPacket).publicationDetector>, <BitField (EndpointFlagsPacket).publicationAnnouncer>, <BitField (EndpointFlagsPacket).participantDetector>, <BitField (EndpointFlagsPacket).participantAnnouncer>]
class scapy.contrib.rtps.common_types.GUIDPacket(_pkt, /, *, hostId=0, appId=0, instanceId=0, entityId=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtps.common_types.GUIDPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<XIntField (GUIDPacket).hostId>, <XIntField (GUIDPacket).appId>, <XIntField (GUIDPacket).instanceId>, <XIntField (GUIDPacket).entityId>]
class scapy.contrib.rtps.common_types.InlineQoSPacketField(*args, **kwargs)[source]

Bases: EPacketField

class scapy.contrib.rtps.common_types.LeaseDurationPacket(_pkt, /, *, seconds=0, fraction=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtps.common_types.LeaseDurationPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<IntField (LeaseDurationPacket).seconds>, <IntField (LeaseDurationPacket).fraction>]
class scapy.contrib.rtps.common_types.LocatorPacket(_pkt, /, *, locatorKind=0, port=0, address='0.0.0.0', hostId=0)[source]

Bases: EPacket

aliastypes = [<class 'scapy.contrib.rtps.common_types.LocatorPacket'>, <class 'scapy.contrib.rtps.common_types.EPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.rtps.common_types.PIDPadField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]

Bases: StrField

getfield(pkt, s)[source]
class scapy.contrib.rtps.common_types.ProductVersionPacket(_pkt, /, *, major=0, minor=0, release=0, revision=0)[source]

Bases: EPacket

aliastypes = [<class 'scapy.contrib.rtps.common_types.ProductVersionPacket'>, <class 'scapy.contrib.rtps.common_types.EPacket'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (ProductVersionPacket).major>, <ByteField (ProductVersionPacket).minor>, <ByteField (ProductVersionPacket).release>, <ByteField (ProductVersionPacket).revision>]
class scapy.contrib.rtps.common_types.ProtocolVersionPacket(_pkt, /, *, major=0, minor=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtps.common_types.ProtocolVersionPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteField (ProtocolVersionPacket).major>, <ByteField (ProtocolVersionPacket).minor>]
class scapy.contrib.rtps.common_types.SerializedDataField(name: str, default: bytes, length_from: Callable[[Packet], int] | None = None, max_length: Any | None = None)[source]

Bases: StrLenField

class scapy.contrib.rtps.common_types.TransportInfoPacket(_pkt, /, *, classID=0, messageSizeMax=0)[source]

Bases: EPacket

aliastypes = [<class 'scapy.contrib.rtps.common_types.TransportInfoPacket'>, <class 'scapy.contrib.rtps.common_types.EPacket'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<LEIntField (TransportInfoPacket).classID>, <LEIntField (TransportInfoPacket).messageSizeMax>]
class scapy.contrib.rtps.common_types.VendorIdPacket(_pkt, /, *, vendor_id=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.rtps.common_types.VendorIdPacket'>, <class 'scapy.packet.Packet'>]
extract_padding(p)[source]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<EnumField (VendorIdPacket).vendor_id>]
scapy.contrib.rtps.common_types.e_flags(pkt)[source]
scapy.contrib.rtps.common_types.is_le(pkt)[source]