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
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
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|P|P|S|S|P|P|S|S|S|S|S|S|RESERVE|P|P|P|P|P|P|P|P|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. EndpointFlagsPacket                     
EndpointFlagsPacket fields

participantSecureReader

BitField (1 bit)

0

participantSecureWriter

BitField (1 bit)

0

secureParticipantVolatileMessageReader

BitField (1 bit)

0

secureParticipantVolatileMessageWriter

BitField (1 bit)

0

participantStatelessMessageReader

BitField (1 bit)

0

participantStatelessMessageWriter

BitField (1 bit)

0

secureParticipantMessageReader

BitField (1 bit)

0

secureParticipantMessageWriter

BitField (1 bit)

0

secureSubscriptionReader

BitField (1 bit)

0

secureSubscriptionWriter

BitField (1 bit)

0

securePublicationReader

BitField (1 bit)

0

securePublicationWriter

BitField (1 bit)

0

reserved

BitField (4 bits)

0

participantMessageDataReader

BitField (1 bit)

0

participantMessageDataWriter

BitField (1 bit)

0

participantStateDetector

BitField (1 bit)

0

participantStateAnnouncer

BitField (1 bit)

0

publicationDetector

BitField (1 bit)

0

publicationAnnouncer

BitField (1 bit)

0

participantDetector

BitField (1 bit)

0

participantAnnouncer

BitField (1 bit)

0

class scapy.contrib.rtps.common_types.GUIDPacket(_pkt, /, *, hostId=0, appId=0, instanceId=0, entityId=0)[source]

Bases: Packet

aliastypes
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             HOSTID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             APPID                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           INSTANCEID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            ENTITYID                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                         Fig. GUIDPacket                          
GUIDPacket fields

hostId

XIntField

0

appId

XIntField

0

instanceId

XIntField

0

entityId

XIntField

0

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
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            SECONDS                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            FRACTION                           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. LeaseDurationPacket                     
LeaseDurationPacket fields

seconds

IntField

0

fraction

IntField

0

class scapy.contrib.rtps.common_types.LocatorPacket(_pkt, /, *, locatorKind=0, port=0, address='0.0.0.0', hostId=0)[source]

Bases: EPacket

aliastypes
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                          LOCATORKIND                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              PORT                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            ADDRESS                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             HOSTID                            |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Fig. LocatorPacket                        
LocatorPacket fields

locatorKind

EField

0

port

EField

0

address

ReversePadField (Cond)

'0.0.0.0'

hostId

XStrFixedLenField (Cond)

0

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
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     MAJOR     |     MINOR     |    RELEASE    |    REVISION   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ProductVersionPacket                     
ProductVersionPacket fields

major

ByteField

0

minor

ByteField

0

release

ByteField

0

revision

ByteField

0

class scapy.contrib.rtps.common_types.ProtocolVersionPacket(_pkt, /, *, major=0, minor=0)[source]

Bases: Packet

aliastypes
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     MAJOR     |     MINOR     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Fig. ProtocolVersionPacket                    
ProtocolVersionPacket fields

major

ByteField

0

minor

ByteField

0

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
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                            CLASSID                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         MESSAGESIZEMAX                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. TransportInfoPacket                     
TransportInfoPacket fields

classID

LEIntField

0

messageSizeMax

LEIntField

0

class scapy.contrib.rtps.common_types.VendorIdPacket(_pkt, /, *, vendor_id=0)[source]

Bases: Packet

aliastypes
extract_padding(p)[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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           VENDOR ID           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. VendorIdPacket                        
VendorIdPacket fields

vendor_id

EnumField

0

scapy.contrib.rtps.common_types.e_flags(pkt)[source]
scapy.contrib.rtps.common_types.is_le(pkt)[source]