scapy.layers.tls.extensions
TLS handshake extensions.
- class scapy.layers.tls.extensions.OCSPStatusRequest(*args: Any, **kargs: Any)[source]
Bases:
Packet
This 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. OCSPStatusRequest
OCSPStatusRequest fields respidlen
None
respid
[]
reqextlen
None
reqext
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:
PacketListField
- class scapy.layers.tls.extensions.ProtocolName(*args: Any, **kargs: Any)[source]
Bases:
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. ProtocolName
ProtocolName fields len
None
protocol
b''
- class scapy.layers.tls.extensions.ResponderID(*args: Any, **kargs: Any)[source]
Bases:
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. ResponderID
ResponderID fields respidlen
None
respid
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:
FieldLenField
There 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:
PacketListField
- class scapy.layers.tls.extensions.ServerName(*args: Any, **kargs: Any)[source]
Bases:
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. ServerName
ServerName fields nametype
0
namelen
None
servername
b''
- class scapy.layers.tls.extensions.TACertSHA1Hash(*args: Any, **kargs: Any)[source]
Bases:
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. TACertSHA1Hash
TACertSHA1Hash fields idtype
3
id
None
- class scapy.layers.tls.extensions.TAKeySHA1Hash(*args: Any, **kargs: Any)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.tls.extensions.TAPreAgreed(*args: Any, **kargs: Any)[source]
Bases:
Packet
- aliastypes
- class scapy.layers.tls.extensions.TAX509Name(*args: Any, **kargs: Any)[source]
Bases:
Packet
XXX 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. TAX509Name
TAX509Name fields idtype
2
dnlen
None
dn
b''
- class scapy.layers.tls.extensions.TLS_Ext_ALPN(*args: Any, **kargs: Any)[source]
Bases:
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_ALPN
TLS_Ext_ALPN fields type
16
len
None
protocolslen
None
protocols
[]
- class scapy.layers.tls.extensions.TLS_Ext_CSR(*args: Any, **kargs: Any)[source]
Bases:
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_CSR
TLS_Ext_CSR fields type
5
len
None
stype
None
req
_StatusReqField
[]
- class scapy.layers.tls.extensions.TLS_Ext_ClientAuthz(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_Unknown
XXX 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_ClientAuthz
TLS_Ext_ClientAuthz fields type
7
len
None
- class scapy.layers.tls.extensions.TLS_Ext_ClientCertType(*args: Any, **kargs: Any)[source]
Bases:
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_ClientCertType
TLS_Ext_ClientCertType fields type
9
len
None
ctypeslen
None
ctypes
[0, 1]
- class scapy.layers.tls.extensions.TLS_Ext_ClientCertURL(*args: Any, **kargs: Any)[source]
Bases:
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_ClientCertURL
TLS_Ext_ClientCertURL fields type
2
len
None
- class scapy.layers.tls.extensions.TLS_Ext_Cookie(*args: Any, **kargs: Any)[source]
Bases:
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_Cookie
TLS_Ext_Cookie fields type
44
len
None
cookielen
None
cookie
b''
- class scapy.layers.tls.extensions.TLS_Ext_EarlyDataIndication(*args: Any, **kargs: Any)[source]
Bases:
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_EarlyDataIndication
TLS_Ext_EarlyDataIndication fields type
42
len
None
- class scapy.layers.tls.extensions.TLS_Ext_EarlyDataIndicationTicket(*args: Any, **kargs: Any)[source]
Bases:
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_EarlyDataIndicationTicket
TLS_Ext_EarlyDataIndicationTicket fields type
42
len
None
max_early_data_size
0
- class scapy.layers.tls.extensions.TLS_Ext_EncryptThenMAC(*args: Any, **kargs: Any)[source]
Bases:
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_EncryptThenMAC
TLS_Ext_EncryptThenMAC fields type
22
len
None
- class scapy.layers.tls.extensions.TLS_Ext_EncryptedServerName(*args: Any, **kargs: Any)[source]
Bases:
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_EncryptedServerName
TLS_Ext_EncryptedServerName fields type
65486
len
None
cipher
None
key_exchange_group
None
key_exchange_len
None
key_exchange
b''
record_digest_len
None
record_digest
b''
encrypted_sni_len
None
encrypted_sni
b''
- class scapy.layers.tls.extensions.TLS_Ext_ExtendedMasterSecret(*args: Any, **kargs: Any)[source]
Bases:
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_ExtendedMasterSecret
TLS_Ext_ExtendedMasterSecret fields type
23
len
None
- class scapy.layers.tls.extensions.TLS_Ext_Heartbeat(*args: Any, **kargs: Any)[source]
Bases:
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_Heartbeat
TLS_Ext_Heartbeat fields type
15
len
None
heartbeat_mode
2
Bases:
TLS_Ext_Unknown
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_KeyShare
TLS_Ext_KeyShare fields type
51
len
None
- class scapy.layers.tls.extensions.TLS_Ext_MaxFragLen(*args: Any, **kargs: Any)[source]
Bases:
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_MaxFragLen
TLS_Ext_MaxFragLen fields type
1
len
None
maxfraglen
4
- class scapy.layers.tls.extensions.TLS_Ext_NPN(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_PrettyPacketList
Defined 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_NPN
TLS_Ext_NPN fields type
13172
len
None
protocols
[]
- class scapy.layers.tls.extensions.TLS_Ext_PSKKeyExchangeModes(*args: Any, **kargs: Any)[source]
Bases:
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_PSKKeyExchangeModes
TLS_Ext_PSKKeyExchangeModes fields type
45
len
None
kxmodeslen
None
kxmodes
[]
- class scapy.layers.tls.extensions.TLS_Ext_Padding(*args: Any, **kargs: Any)[source]
Bases:
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_Padding
TLS_Ext_Padding fields type
21
len
None
padding
b''
- class scapy.layers.tls.extensions.TLS_Ext_PostHandshakeAuth(*args: Any, **kargs: Any)[source]
Bases:
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_PostHandshakeAuth
TLS_Ext_PostHandshakeAuth fields type
49
len
None
Bases:
TLS_Ext_Unknown
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_PreSharedKey
TLS_Ext_PreSharedKey fields type
41
len
None
- class scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_Unknown
Dummy 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_PrettyPacketList
TLS_Ext_PrettyPacketList fields type
None
len
None
val
b''
- class scapy.layers.tls.extensions.TLS_Ext_RecordSizeLimit(*args: Any, **kargs: Any)[source]
Bases:
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_RecordSizeLimit
TLS_Ext_RecordSizeLimit fields type
28
len
None
record_size_limit
None
- class scapy.layers.tls.extensions.TLS_Ext_RenegotiationInfo(*args: Any, **kargs: Any)[source]
Bases:
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_RenegotiationInfo
TLS_Ext_RenegotiationInfo fields type
65281
len
None
reneg_conn_len
None
renegotiated_connection
b''
- class scapy.layers.tls.extensions.TLS_Ext_ServerAuthz(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_Unknown
XXX 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_ServerAuthz
TLS_Ext_ServerAuthz fields type
8
len
None
- class scapy.layers.tls.extensions.TLS_Ext_ServerCertType(*args: Any, **kargs: Any)[source]
Bases:
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_ServerCertType
TLS_Ext_ServerCertType fields type
9
len
None
ctype
None
- class scapy.layers.tls.extensions.TLS_Ext_ServerName(*args: Any, **kargs: Any)[source]
Bases:
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_ServerName
TLS_Ext_ServerName fields type
0
len
None
servernameslen
None
servernames
[]
- class scapy.layers.tls.extensions.TLS_Ext_SessionTicket(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_Unknown
RFC 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_SessionTicket
TLS_Ext_SessionTicket fields type
35
len
None
ticket
b''
- class scapy.layers.tls.extensions.TLS_Ext_SignatureAlgorithms(*args: Any, **kargs: Any)[source]
Bases:
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_SignatureAlgorithms
TLS_Ext_SignatureAlgorithms fields type
13
len
None
sig_algs_len
None
sig_algs
[]
- class scapy.layers.tls.extensions.TLS_Ext_SignatureAlgorithmsCert(*args: Any, **kargs: Any)[source]
Bases:
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_SignatureAlgorithmsCert
TLS_Ext_SignatureAlgorithmsCert fields type
50
len
None
sig_algs_len
None
sig_algs
[]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedEllipticCurves(*args: Any, **kargs: Any)[source]
Bases:
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_SupportedEllipticCurves
TLS_Ext_SupportedEllipticCurves fields type
10
len
None
groupslen
None
groups
[]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedGroups(*args: Any, **kargs: Any)[source]
Bases:
TLS_Ext_Unknown
This 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_SupportedGroups
TLS_Ext_SupportedGroups fields type
10
len
None
groupslen
None
groups
[]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedPointFormat(*args: Any, **kargs: Any)[source]
Bases:
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_SupportedPointFormat
TLS_Ext_SupportedPointFormat fields type
11
len
None
ecpllen
None
ecpl
[0]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedVersion_CH(*args: Any, **kargs: Any)[source]
Bases:
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_CH
TLS_Ext_SupportedVersion_CH fields type
43
len
None
versionslen
None
versions
[]
- class scapy.layers.tls.extensions.TLS_Ext_SupportedVersion_SH(*args: Any, **kargs: Any)[source]
Bases:
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_SH
TLS_Ext_SupportedVersion_SH fields type
43
len
None
version
None
- class scapy.layers.tls.extensions.TLS_Ext_SupportedVersions(*args: Any, **kargs: Any)[source]
Bases:
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_SupportedVersions
TLS_Ext_SupportedVersions fields type
43
len
None
- class scapy.layers.tls.extensions.TLS_Ext_TicketEarlyDataInfo(*args: Any, **kargs: Any)[source]
Bases:
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_TicketEarlyDataInfo
TLS_Ext_TicketEarlyDataInfo fields type
46
len
None
max_early_data_size
0
- class scapy.layers.tls.extensions.TLS_Ext_TruncatedHMAC(*args: Any, **kargs: Any)[source]
Bases:
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_TruncatedHMAC
TLS_Ext_TruncatedHMAC fields type
4
len
None
- class scapy.layers.tls.extensions.TLS_Ext_TrustedCAInd(*args: Any, **kargs: Any)[source]
Bases:
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_TrustedCAInd
TLS_Ext_TrustedCAInd fields type
3
len
None
talen
None
ta
_TAListField
[]
- class scapy.layers.tls.extensions.TLS_Ext_Unknown(*args: Any, **kargs: Any)[source]
Bases:
_GenericTLSSessionInheritance
We 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_Unknown
TLS_Ext_Unknown fields type
None
len
None
val
b''
- class scapy.layers.tls.extensions.TLS_Ext_UserMapping(*args: Any, **kargs: Any)[source]
Bases:
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_UserMapping
TLS_Ext_UserMapping fields type
6
len
None
umlen
None
um
[]