scapy.layers.tls.extensions¶
TLS handshake extensions.
-
class
scapy.layers.tls.extensions.OCSPStatusRequest(*args, **kargs)¶ Bases:
scapy.packet.PacketThis is the structure defined in RFC 6066, not in RFC 6960!
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPIDLEN | RESPID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | REQEXTLEN | REQEXT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. OCSPStatusRequestOCSPStatusRequest fields¶ respidlen
Nonerespid
[]reqextlen
Nonereqext
b''
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.ProtocolListField(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField-
i2repr(pkt, x)¶
-
-
class
scapy.layers.tls.extensions.ProtocolName(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LEN | PROTOCOL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ProtocolNameProtocolName fields¶ len
Noneprotocol
b''
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.ResponderID(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPIDLEN | RESPID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. ResponderIDResponderID fields¶ respidlen
Nonerespid
b''
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.ServerLenField(name, default, length_of=None, fmt='H', count_of=None, adjust=<function FieldLenField.<lambda>>, fld=None)¶ Bases:
scapy.fields.FieldLenFieldThere is no length when there are no servernames (as in a ServerHello).
-
addfield(pkt, s, val)¶
-
-
class
scapy.layers.tls.extensions.ServerListField(name, default, cls=None, count_from=None, length_from=None, next_cls_cb=None)¶ Bases:
scapy.fields.PacketListField-
i2repr(pkt, x)¶
-
-
class
scapy.layers.tls.extensions.ServerName(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAMETYPE | NAMELEN | SERVERNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. ServerNameServerName fields¶ nametype
0namelen
Noneservername
b''
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.TACertSHA1Hash(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDTYPE | ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TACertSHA1HashTACertSHA1Hash fields¶ idtype
3id
None
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.TAKeySHA1Hash(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDTYPE | ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TAKeySHA1HashTAKeySHA1Hash fields¶ idtype
1id
None
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.TAPreAgreed(*args, **kargs)¶ Bases:
scapy.packet.Packet-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDTYPE | +-+-+-+-+-+-+-+-+ Fig. TAPreAgreedTAPreAgreed fields¶ idtype
0
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.TAX509Name(*args, **kargs)¶ Bases:
scapy.packet.PacketXXX Section 3.4 of RFC 4366. Implement a more specific DNField rather than current StrLenField.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDTYPE | DNLEN | DN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. TAX509NameTAX509Name fields¶ idtype
2dnlen
Nonedn
b''
-
guess_payload_class(p)¶
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ALPN(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOCOLSLEN | PROTOCOLS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ALPNTLS_Ext_ALPN fields¶ type
16len
Noneprotocolslen
Noneprotocols
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_CSR(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | STYPE | REQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_CSRTLS_Ext_CSR fields¶ type
5len
Nonestype
Nonereq
_StatusReqField[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ClientAuthz(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownXXX Unsupported
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ClientAuthzTLS_Ext_ClientAuthz fields¶ type
7len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ClientCertType(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CTYPESLEN | CTYPES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ClientCertTypeTLS_Ext_ClientCertType fields¶ type
9len
Nonectypeslen
Nonectypes
[0, 1]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ClientCertURL(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ClientCertURLTLS_Ext_ClientCertURL fields¶ type
2len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_Cookie(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
aliastypes¶
-
build()¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIELEN | COOKIE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_CookieTLS_Ext_Cookie fields¶ type
44len
Nonecookielen
Nonecookie
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_EarlyDataIndication(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_EarlyDataIndicationTLS_Ext_EarlyDataIndication fields¶ type
42len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_EarlyDataIndicationTicket(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX EARLY DATA SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_EarlyDataIndicationTicketTLS_Ext_EarlyDataIndicationTicket fields¶ type
42len
Nonemax_early_data_size
0
-
-
class
scapy.layers.tls.extensions.TLS_Ext_EncryptThenMAC(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_EncryptThenMACTLS_Ext_EncryptThenMAC fields¶ type
22len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_EncryptedServerName(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CIPHER | KEY EXCHANGE GROUP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEY EXCHANGE LEN | KEY EXCHANGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RECORD DIGEST LEN | RECORD DIGEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ENCRYPTED SNI LEN | ENCRYPTED SNI | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_EncryptedServerNameTLS_Ext_EncryptedServerName fields¶ type
65486len
Nonecipher
Nonekey_exchange_group
Nonekey_exchange_len
Nonekey_exchange
b''record_digest_len
Nonerecord_digest
b''encrypted_sni_len
Noneencrypted_sni
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ExtendedMasterSecret(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ExtendedMasterSecretTLS_Ext_ExtendedMasterSecret fields¶ type
23len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_Heartbeat(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HEARTBEAT MODE| +-+-+-+-+-+-+-+-+ Fig. TLS_Ext_HeartbeatTLS_Ext_Heartbeat fields¶ type
15len
Noneheartbeat_mode
2
-
Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownDisplay 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_KeyShareTLS_Ext_KeyShare fields¶ type
51len
None
-
class
scapy.layers.tls.extensions.TLS_Ext_MaxFragLen(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAXFRAGLEN | +-+-+-+-+-+-+-+-+ Fig. TLS_Ext_MaxFragLenTLS_Ext_MaxFragLen fields¶ type
1len
Nonemaxfraglen
4
-
-
class
scapy.layers.tls.extensions.TLS_Ext_NPN(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_PrettyPacketListDefined in RFC-draft-agl-tls-nextprotoneg-03. Deprecated in favour of ALPN.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PROTOCOLS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_NPNTLS_Ext_NPN fields¶ type
13172len
Noneprotocols
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_PSKKeyExchangeModes(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KXMODESLEN | KXMODES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_PSKKeyExchangeModesTLS_Ext_PSKKeyExchangeModes fields¶ type
45len
Nonekxmodeslen
Nonekxmodes
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_Padding(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PADDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_PaddingTLS_Ext_Padding fields¶ type
21len
Nonepadding
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_PostHandshakeAuth(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_PostHandshakeAuthTLS_Ext_PostHandshakeAuth fields¶ type
49len
None
-
Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownDisplay 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_PreSharedKeyTLS_Ext_PreSharedKey fields¶ type
41len
None
-
class
scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownDummy extension used for server_name/ALPN/NPN for a lighter representation: the final field is showed as a 1-line list rather than as lots of packets. XXX Define a new condition for packet lists in Packet._show_or_dump?
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_PrettyPacketListTLS_Ext_PrettyPacketList fields¶ type
Nonelen
Noneval
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_RecordSizeLimit(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RECORD SIZE LIMIT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_RecordSizeLimitTLS_Ext_RecordSizeLimit fields¶ type
28len
Nonerecord_size_limit
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_RenegotiationInfo(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RENEG CONN LEN| RENEGOTIATED CONNECTION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_RenegotiationInfoTLS_Ext_RenegotiationInfo fields¶ type
65281len
Nonereneg_conn_len
Nonerenegotiated_connection
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ServerAuthz(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownXXX Unsupported
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ServerAuthzTLS_Ext_ServerAuthz fields¶ type
8len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ServerCertType(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CTYPE | +-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ServerCertTypeTLS_Ext_ServerCertType fields¶ type
9len
Nonectype
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_ServerName(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SERVERNAMESLEN | SERVERNAMES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_ServerNameTLS_Ext_ServerName fields¶ type
0len
Noneservernameslen
Noneservernames
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SessionTicket(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownRFC 5077 updates RFC 4507 according to most implementations, which do not use another (useless) ‘ticketlen’ field after the global ‘len’ field.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TICKET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SessionTicketTLS_Ext_SessionTicket fields¶ type
35len
Noneticket
b''
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SignatureAlgorithms(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIG ALGS LEN | SIG ALGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SignatureAlgorithmsTLS_Ext_SignatureAlgorithms fields¶ type
13len
Nonesig_algs_len
Nonesig_algs
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SignatureAlgorithmsCert(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIG ALGS LEN | SIG ALGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SignatureAlgorithmsCertTLS_Ext_SignatureAlgorithmsCert fields¶ type
49len
Nonesig_algs_len
Nonesig_algs
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedEllipticCurves(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_SupportedGroups-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GROUPSLEN | GROUPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedEllipticCurvesTLS_Ext_SupportedEllipticCurves fields¶ type
10len
Nonegroupslen
Nonegroups
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedGroups(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_UnknownThis extension was known as ‘Supported Elliptic Curves’ before TLS 1.3 merged both group selection mechanisms for ECDH and FFDH.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GROUPSLEN | GROUPS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedGroupsTLS_Ext_SupportedGroups fields¶ type
10len
Nonegroupslen
Nonegroups
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedPointFormat(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ECPLLEN | ECPL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedPointFormatTLS_Ext_SupportedPointFormat fields¶ type
11len
Noneecpllen
Noneecpl
[0]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedVersion_CH(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSIONSLEN | VERSIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedVersion_CHTLS_Ext_SupportedVersion_CH fields¶ type
43len
Noneversionslen
Noneversions
[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedVersion_SH(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedVersion_SHTLS_Ext_SupportedVersion_SH fields¶ type
43len
Noneversion
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_SupportedVersions(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_SupportedVersionsTLS_Ext_SupportedVersions fields¶ type
43len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_TicketEarlyDataInfo(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAX EARLY DATA SIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_TicketEarlyDataInfoTLS_Ext_TicketEarlyDataInfo fields¶ type
46len
Nonemax_early_data_size
0
-
-
class
scapy.layers.tls.extensions.TLS_Ext_TruncatedHMAC(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_TruncatedHMACTLS_Ext_TruncatedHMAC fields¶ type
4len
None
-
-
class
scapy.layers.tls.extensions.TLS_Ext_TrustedCAInd(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TALEN | TA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_TrustedCAIndTLS_Ext_TrustedCAInd fields¶ type
3len
Nonetalen
Noneta
_TAListField[]
-
-
class
scapy.layers.tls.extensions.TLS_Ext_Unknown(*args, **kargs)¶ Bases:
scapy.layers.tls.session._GenericTLSSessionInheritanceWe put this here rather than in extensions.py in order to avoid circular imports…
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VAL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_UnknownTLS_Ext_Unknown fields¶ type
Nonelen
Noneval
b''
-
post_build(p, pay)¶
-
-
class
scapy.layers.tls.extensions.TLS_Ext_UserMapping(*args, **kargs)¶ Bases:
scapy.layers.tls.extensions.TLS_Ext_Unknown-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | LEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UMLEN | UM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_UserMappingTLS_Ext_UserMapping fields¶ type
6len
Noneumlen
Noneum
[]
-