scapy.contrib.postgres

class scapy.contrib.postgres.Authentication(_pkt, /, *, tag=82, len=None, method=0, optional=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Authentication'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Authentication).tag>, <FieldLenField (Authentication).len>, <IntEnumField (Authentication).method>, <StrLenField (Authentication).optional>]
class scapy.contrib.postgres.BackendKeyData(_pkt, /, *, tag=75, len=None, pid=0, key=0)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.BackendKeyData'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (BackendKeyData).tag>, <FieldLenField (BackendKeyData).len>, <SignedIntField (BackendKeyData).pid>, <SignedIntField (BackendKeyData).key>]
class scapy.contrib.postgres.Bind(_pkt, /, *, tag=63, len=None, destination=b'', statement=b'', codes_count=0, codes=[], values_count=0, values=[], results_count=0, results=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Bind'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Bind).tag>, <FieldLenField (Bind).len>, <StrNullField (Bind).destination>, <StrNullField (Bind).statement>, <FieldLenField (Bind).codes_count>, <FieldListField (Bind).codes>, <FieldLenField (Bind).values_count>, <PacketListField (Bind).values>, <FieldLenField (Bind).results_count>, <FieldListField (Bind).results>]
class scapy.contrib.postgres.BindComplete(_pkt, /, *, tag=50, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.BindComplete'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (BindComplete).tag>, <SignedIntField (BindComplete).len>]
class scapy.contrib.postgres.ByteTagField(default)[source]

Bases: ByteField

randval()[source]
class scapy.contrib.postgres.CancelRequest(_pkt, /, *, len=16, request_code=80877102, process_id=0, secret=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.postgres.CancelRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<SignedIntField (CancelRequest).len>, <SignedIntField (CancelRequest).request_code>, <SignedIntField (CancelRequest).process_id>, <SignedIntField (CancelRequest).secret>]
class scapy.contrib.postgres.Close(_pkt, /, *, tag=67, len=None, close_type=b'S', statement=b'')[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Close'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Close).tag>, <FieldLenField (Close).len>, <CharEnumField (Close).close_type>, <StrNullField (Close).statement>]
class scapy.contrib.postgres.CloseComplete(_pkt, /, *, tag=51, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CloseComplete'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CloseComplete).tag>, <SignedIntField (CloseComplete).len>]
class scapy.contrib.postgres.ColumnDescription(_pkt, /, *, col=None, tableoid=0, colno=0, typeoid=0, typelen=0, typemod=0, format=0)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ColumnDescription'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<StrNullField (ColumnDescription).col>, <SignedIntField (ColumnDescription).tableoid>, <SignedShortField (ColumnDescription).colno>, <SignedIntField (ColumnDescription).typeoid>, <SignedShortField (ColumnDescription).typelen>, <SignedIntField (ColumnDescription).typemod>, <SignedShortField (ColumnDescription).format>]
class scapy.contrib.postgres.CommandComplete(_pkt, /, *, tag=67, len=None, cmdtag=b'')[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CommandComplete'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CommandComplete).tag>, <FieldLenField (CommandComplete).len>, <StrLenField (CommandComplete).cmdtag>]
class scapy.contrib.postgres.CopyBothResponse(_pkt, /, *, tag=87, len=None, format=0, ncols=0, cols=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyBothResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyBothResponse).tag>, <FieldLenField (CopyBothResponse).len>, <ByteField (CopyBothResponse).format>, <ShortField (CopyBothResponse).ncols>, <FieldListField (CopyBothResponse).cols>]
class scapy.contrib.postgres.CopyData(_pkt, /, *, tag=100, len=None, data=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyData'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyData).tag>, <FieldLenField (CopyData).len>, <StrLenField (CopyData).data>]
class scapy.contrib.postgres.CopyDone(_pkt, /, *, tag=99, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyDone'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyDone).tag>, <SignedIntField (CopyDone).len>]
class scapy.contrib.postgres.CopyFail(_pkt, /, *, tag=102, len=None, reason=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyFail'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyFail).tag>, <FieldLenField (CopyFail).len>, <StrLenField (CopyFail).reason>]
class scapy.contrib.postgres.CopyInResponse(_pkt, /, *, tag=71, len=None, format=0, ncols=0, cols=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyInResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyInResponse).tag>, <FieldLenField (CopyInResponse).len>, <ByteField (CopyInResponse).format>, <ShortField (CopyInResponse).ncols>, <FieldListField (CopyInResponse).cols>]
class scapy.contrib.postgres.CopyOutResponse(_pkt, /, *, tag=72, len=None, format=0, ncols=0, cols=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.CopyOutResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (CopyOutResponse).tag>, <FieldLenField (CopyOutResponse).len>, <ByteField (CopyOutResponse).format>, <ShortField (CopyOutResponse).ncols>, <FieldListField (CopyOutResponse).cols>]
class scapy.contrib.postgres.DataRow(_pkt, /, *, tag=68, len=None, numfields=0, data=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.DataRow'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (DataRow).tag>, <FieldLenField (DataRow).len>, <FieldLenField (DataRow).numfields>, <PacketListField (DataRow).data>]
class scapy.contrib.postgres.Describe(_pkt, /, *, tag=68, len=None, close_type=b'S', statement=b'')[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Describe'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Describe).tag>, <FieldLenField (Describe).len>, <CharEnumField (Describe).close_type>, <StrNullField (Describe).statement>]
class scapy.contrib.postgres.EmptyQueryResponse(_pkt, /, *, tag=73, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.EmptyQueryResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (EmptyQueryResponse).tag>, <SignedIntField (EmptyQueryResponse).len>]
class scapy.contrib.postgres.ErrorResponse(_pkt, /, *, tag=69, len=None, error_fields=[], terminator=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ErrorResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (ErrorResponse).tag>, <FieldLenField (ErrorResponse).len>, <FieldListField (ErrorResponse).error_fields>, <ByteField (ErrorResponse).terminator>]
class scapy.contrib.postgres.ErrorResponseField(name: str, default: I | None, fmt: str = 'H', remain: int = 0)[source]

Bases: StrNullField

m2i(pkt, x)[source]

Unpack into a tuple of Field, Value.

class scapy.contrib.postgres.Execute(_pkt, /, *, tag=69, len=None, portal=b'', rows=0)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Execute'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Execute).tag>, <FieldLenField (Execute).len>, <StrNullField (Execute).portal>, <SignedIntField (Execute).rows>]
class scapy.contrib.postgres.Flush(_pkt, /, *, tag=72, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Flush'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Flush).tag>, <SignedIntField (Flush).len>]
class scapy.contrib.postgres.FunctionCallResponse(_pkt, /, *, tag=86, len=None, result_len=None, result=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.FunctionCallResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (FunctionCallResponse).tag>, <FieldLenField (FunctionCallResponse).len>, <FieldLenField (FunctionCallResponse).result_len>, <StrLenField (FunctionCallResponse).result>]
class scapy.contrib.postgres.GSSENCRequest(_pkt, /, *, len=8, request_code=80877104)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.postgres.GSSENCRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<SignedIntField (GSSENCRequest).len>, <SignedIntField (GSSENCRequest).request_code>]
class scapy.contrib.postgres.KeepAlive(_pkt, /, *, len=4)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.postgres.KeepAlive'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<SignedIntField (KeepAlive).len>]
class scapy.contrib.postgres.NegotiateProtocolVersion(_pkt, /, *, tag=118, len=None, min_minor_version=0, unrecognized_options=0, option=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.NegotiateProtocolVersion'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (NegotiateProtocolVersion).tag>, <FieldLenField (NegotiateProtocolVersion).len>, <SignedIntField (NegotiateProtocolVersion).min_minor_version>, <SignedIntField (NegotiateProtocolVersion).unrecognized_options>, <StrNullField (NegotiateProtocolVersion).option>]
class scapy.contrib.postgres.NoData(_pkt, /, *, tag=110, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.NoData'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (NoData).tag>, <SignedIntField (NoData).len>]
class scapy.contrib.postgres.NoticeResponse(_pkt, /, *, tag=78, len=None, notice_fields=[], terminator=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.NoticeResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (NoticeResponse).tag>, <FieldLenField (NoticeResponse).len>, <FieldListField (NoticeResponse).notice_fields>, <ByteField (NoticeResponse).terminator>]
class scapy.contrib.postgres.NotificationResponse(_pkt, /, *, tag=65, len=None, process_id=0, channel=None, payload=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.NotificationResponse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (NotificationResponse).tag>, <_FieldsLenField (NotificationResponse).len>, <SignedIntField (NotificationResponse).process_id>, <StrNullField (NotificationResponse).channel>, <StrNullField (NotificationResponse).payload>]
class scapy.contrib.postgres.ParameterDescription(_pkt, /, *, tag=116, len=None, dtypes_len=0, dtypes=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ParameterDescription'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (ParameterDescription).tag>, <FieldLenField (ParameterDescription).len>, <SignedShortField (ParameterDescription).dtypes_len>, <FieldListField (ParameterDescription).dtypes>]
class scapy.contrib.postgres.ParameterStatus(_pkt, /, *, tag=83, len=None, parameter=b'', value=b'')[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ParameterStatus'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (ParameterStatus).tag>, <FieldLenField (ParameterStatus).len>, <StrNullField (ParameterStatus).parameter>, <StrNullField (ParameterStatus).value>]
class scapy.contrib.postgres.Parse(_pkt, /, *, tag=80, len=None, destination=b'', query=b'', num_param_dtypes=None, params=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Parse'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Parse).tag>, <FieldLenField (Parse).len>, <StrNullField (Parse).destination>, <StrNullField (Parse).query>, <FieldLenField (Parse).num_param_dtypes>, <FieldListField (Parse).params>]
class scapy.contrib.postgres.ParseComplete(_pkt, /, *, tag=49, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ParseComplete'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (ParseComplete).tag>, <SignedIntField (ParseComplete).len>]
class scapy.contrib.postgres.PasswordMessage(_pkt, /, *, tag=112, len=None, password=None)[source]

Bases: _ZeroPadding

Identifies the message as a password response. Note that this is also used for GSSAPI, SSPI and SASL response messages. The exact message type can be deduced from the context.

aliastypes = [<class 'scapy.contrib.postgres.PasswordMessage'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (PasswordMessage).tag>, <FieldLenField (PasswordMessage).len>, <StrLenField (PasswordMessage).password>]
class scapy.contrib.postgres.PortalSuspended(_pkt, /, *, tag=115, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.PortalSuspended'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (PortalSuspended).tag>, <SignedIntField (PortalSuspended).len>]
class scapy.contrib.postgres.PostgresBackend(_pkt, /, *, contents=[])[source]

Bases: _BasePostgres

aliastypes = [<class 'scapy.contrib.postgres.PostgresBackend'>, <class 'scapy.contrib.postgres._BasePostgres'>, <class 'scapy.packet.Packet'>]
cls_mapping = {b'1': <class 'scapy.contrib.postgres.ParseComplete'>, b'2': <class 'scapy.contrib.postgres.BindComplete'>, b'3': <class 'scapy.contrib.postgres.CloseComplete'>, b'A': <class 'scapy.contrib.postgres.NotificationResponse'>, b'C': <class 'scapy.contrib.postgres.CommandComplete'>, b'D': <class 'scapy.contrib.postgres.DataRow'>, b'E': <class 'scapy.contrib.postgres.ErrorResponse'>, b'G': <class 'scapy.contrib.postgres.CopyInResponse'>, b'H': <class 'scapy.contrib.postgres.CopyOutResponse'>, b'I': <class 'scapy.contrib.postgres.EmptyQueryResponse'>, b'K': <class 'scapy.contrib.postgres.BackendKeyData'>, b'N': <class 'scapy.contrib.postgres.NoticeResponse'>, b'R': <class 'scapy.contrib.postgres.Authentication'>, b'S': <class 'scapy.contrib.postgres.ParameterStatus'>, b'T': <class 'scapy.contrib.postgres.RowDescription'>, b'V': <class 'scapy.contrib.postgres.FunctionCallResponse'>, b'W': <class 'scapy.contrib.postgres.CopyBothResponse'>, b'Z': <class 'scapy.contrib.postgres.ReadyForQuery'>, b'c': <class 'scapy.contrib.postgres.CopyDone'>, b'd': <class 'scapy.contrib.postgres.CopyData'>, b'n': <class 'scapy.contrib.postgres.NoData'>, b's': <class 'scapy.contrib.postgres.PortalSuspended'>, b't': <class 'scapy.contrib.postgres.ParameterDescription'>, b'v': <class 'scapy.contrib.postgres.NegotiateProtocolVersion'>}
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (_BasePostgres,PostgresFrontend,PostgresBackend).contents>]
classmethod tcp_reassemble(data, metadata)[source]
class scapy.contrib.postgres.PostgresFrontend(_pkt, /, *, contents=[])[source]

Bases: _BasePostgres

aliastypes = [<class 'scapy.contrib.postgres.PostgresFrontend'>, <class 'scapy.contrib.postgres._BasePostgres'>, <class 'scapy.packet.Packet'>]
cls_mapping = {b'B': <class 'scapy.contrib.postgres.Bind'>, b'C': <class 'scapy.contrib.postgres.Close'>, b'D': <class 'scapy.contrib.postgres.Describe'>, b'E': <class 'scapy.contrib.postgres.Execute'>, b'F': <class 'scapy.contrib.postgres._Todo'>, b'H': <class 'scapy.contrib.postgres.Flush'>, b'P': <class 'scapy.contrib.postgres.Parse'>, b'Q': <class 'scapy.contrib.postgres.Query'>, b'S': <class 'scapy.contrib.postgres.Sync'>, b'X': <class 'scapy.contrib.postgres.Terminate'>, b'c': <class 'scapy.contrib.postgres.CopyDone'>, b'd': <class 'scapy.contrib.postgres.CopyData'>, b'f': <class 'scapy.contrib.postgres.CopyFail'>, b'p': <class 'scapy.contrib.postgres.PasswordMessage'>}
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<PacketListField (_BasePostgres,PostgresFrontend,PostgresBackend).contents>]
classmethod tcp_reassemble(data, metadata)[source]
class scapy.contrib.postgres.Query(_pkt, /, *, tag=81, len=None, query=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Query'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Query).tag>, <FieldLenField (Query).len>, <StrNullField (Query).query>]
class scapy.contrib.postgres.ReadyForQuery(_pkt, /, *, tag=90, len=6, status=b'I')[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.ReadyForQuery'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (ReadyForQuery).tag>, <SignedIntField (ReadyForQuery).len>, <CharEnumField (ReadyForQuery).status>]
class scapy.contrib.postgres.RowDescription(_pkt, /, *, tag=84, len=None, numfields=0, cols=[])[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.RowDescription'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (RowDescription).tag>, <FieldLenField (RowDescription).len>, <SignedShortField (RowDescription).numfields>, <PacketListField (RowDescription).cols>]
class scapy.contrib.postgres.SSLRequest(_pkt, /, *, length=None, request_code=80877103)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.postgres.SSLRequest'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<FieldLenField (SSLRequest).length>, <SignedIntField (SSLRequest).request_code>]
class scapy.contrib.postgres.SignedIntStrPair(_pkt, /, *, len=0, data=None)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.SignedIntStrPair'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<FieldLenField (SignedIntStrPair).len>, <StrLenField (SignedIntStrPair).data>]
class scapy.contrib.postgres.Startup(_pkt, /, *, len=None, protocol_version_major=3, protocol_version_minor=0, options=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.postgres.Startup'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<FieldLenField (Startup).len>, <ShortField (Startup).protocol_version_major>, <ShortField (Startup).protocol_version_minor>, <_DictStrField (Startup).options>]
class scapy.contrib.postgres.Sync(_pkt, /, *, tag=83, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Sync'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Sync).tag>, <SignedIntField (Sync).len>]
class scapy.contrib.postgres.Terminate(_pkt, /, *, tag=88, len=4)[source]

Bases: _ZeroPadding

aliastypes = [<class 'scapy.contrib.postgres.Terminate'>, <class 'scapy.contrib.postgres._ZeroPadding'>, <class 'scapy.packet.Packet'>]
fields_desc: List[Field[Any, Any] | _FieldContainer] = [<ByteTagField (Terminate).tag>, <SignedIntField (Terminate).len>]
scapy.contrib.postgres.determine_pg_field(pkt, lst, cur, remain)[source]