scapy.layers.tls.extensions
TLS handshake extensions.
- class scapy.layers.tls.extensions.OCSPStatusRequest(*args: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.ProtocolListField(name: str, default: Optional[List[BasePacket]], pkt_cls: Optional[Union[Callable[[bytes], Packet], Type[Packet]]] # noqa: E501 = None, count_from: Optional[Callable[[Packet], int]] = None, length_from: Optional[Callable[[Packet], int]] = None, next_cls_cb: Optional[Callable[[Packet, List[BasePacket], Optional[Packet], bytes], Type[Packet]]] # noqa: E501 = None)[source]
Bases:
scapy.fields.PacketListField
- class scapy.layers.tls.extensions.ProtocolName(*args: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.ResponderID(*args: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.ServerLenField(name: str, default: Optional[Any], length_of: Optional[str] = None, fmt: str = 'H', count_of: Optional[str] = None, adjust: Callable[[Packet, int], int] = <function FieldLenField.<lambda>>)[source]
Bases:
scapy.fields.FieldLenFieldThere is no length when there are no servernames (as in a ServerHello).
- class scapy.layers.tls.extensions.ServerListField(name: str, default: Optional[List[BasePacket]], pkt_cls: Optional[Union[Callable[[bytes], Packet], Type[Packet]]] # noqa: E501 = None, count_from: Optional[Callable[[Packet], int]] = None, length_from: Optional[Callable[[Packet], int]] = None, next_cls_cb: Optional[Callable[[Packet, List[BasePacket], Optional[Packet], bytes], Type[Packet]]] # noqa: E501 = None)[source]
Bases:
scapy.fields.PacketListField
- class scapy.layers.tls.extensions.ServerName(*args: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.TACertSHA1Hash(*args: Any, **kargs: Any)[source]
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
- class scapy.layers.tls.extensions.TAKeySHA1Hash(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.tls.extensions.TAPreAgreed(*args: Any, **kargs: Any)[source]
Bases:
scapy.packet.Packet- aliastypes
- class scapy.layers.tls.extensions.TAX509Name(*args: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.TLS_Ext_ALPN(*args: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COOKIELEN | COOKIE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TLS_Ext_CookieTLS_Ext_Cookie fields type
44len
Nonecookielen
Nonecookie
b''
- class scapy.layers.tls.extensions.TLS_Ext_EarlyDataIndication(*args: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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
50len
Nonesig_algs_len
Nonesig_algs
[]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedEllipticCurves(*args: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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: Any, **kargs: Any)[source]
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''
- class scapy.layers.tls.extensions.TLS_Ext_UserMapping(*args: Any, **kargs: Any)[source]
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
[]