scapy.layers.tls.extensions

TLS handshake extensions.

class scapy.layers.tls.extensions.OCSPStatusRequest(*args, **kargs)

Bases: scapy.packet.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

FieldLenField

'None'

respid

PacketListField

'[]'

reqextlen

FieldLenField

'None'

reqext

PacketField

"b''"

guess_payload_class(p)
class scapy.layers.tls.extensions.ProtocolListField(*args, **kwds)

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. ProtocolName                         
ProtocolName fields

len

FieldLenField

'None'

protocol

StrLenField

"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. ResponderID                         
ResponderID fields

respidlen

FieldLenField

'None'

respid

StrLenField

"b''"

guess_payload_class(p)
class scapy.layers.tls.extensions.ServerLenField(*args, **kwds)

Bases: scapy.fields.FieldLenField

There is no length when there are no servernames (as in a ServerHello).

addfield(pkt, s, val)
class scapy.layers.tls.extensions.ServerListField(*args, **kwds)

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. ServerName                          
ServerName fields

nametype

ByteEnumField

'0'

namelen

FieldLenField

'None'

servername

StrLenField

"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. TACertSHA1Hash                        
TACertSHA1Hash fields

idtype

ByteEnumField

'3'

id

StrFixedLenField

'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. TAKeySHA1Hash                        
TAKeySHA1Hash fields

idtype

ByteEnumField

'1'

id

StrFixedLenField

'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. TAPreAgreed                         
TAPreAgreed fields

idtype

ByteEnumField

'0'

guess_payload_class(p)
class scapy.layers.tls.extensions.TAX509Name(*args, **kargs)

Bases: scapy.packet.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

ByteEnumField

'2'

dnlen

FieldLenField

'None'

dn

StrLenField

"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_ALPN                         
TLS_Ext_ALPN fields

type

ShortEnumField

'16'

len

ShortField

'None'

protocolslen

FieldLenField

'None'

protocols

ProtocolListField

'[]'

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_CSR                         
TLS_Ext_CSR fields

type

ShortEnumField

'5'

len

ShortField

'None'

stype

ByteEnumField

'None'

req

_StatusReqField

'[]'

class scapy.layers.tls.extensions.TLS_Ext_ClientAuthz(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'7'

len

ShortField

'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_ClientCertType                    
TLS_Ext_ClientCertType fields

type

ShortEnumField

'9'

len

ShortField

'None'

ctypeslen

FieldLenField

'None'

ctypes

FieldListField

'[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_ClientCertURL                    
TLS_Ext_ClientCertURL fields

type

ShortEnumField

'2'

len

ShortField

'None'

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_Cookie                        
TLS_Ext_Cookie fields

type

ShortEnumField

'44'

len

ShortField

'None'

cookielen

FieldLenField

'None'

cookie

XStrLenField

"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_EarlyDataIndication                 
TLS_Ext_EarlyDataIndication fields

type

ShortEnumField

'42'

len

ShortField

'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_EarlyDataIndicationTicket              
TLS_Ext_EarlyDataIndicationTicket fields

type

ShortEnumField

'42'

len

ShortField

'None'

max_early_data_size

IntField

'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_EncryptThenMAC                    
TLS_Ext_EncryptThenMAC fields

type

ShortEnumField

'22'

len

ShortField

'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_EncryptedServerName                 
TLS_Ext_EncryptedServerName fields

type

ShortEnumField

'65486'

len

ShortField

'None'

cipher

EnumField

'None'

key_exchange_group

ShortEnumField

'None'

key_exchange_len

FieldLenField

'None'

key_exchange

XStrLenField

"b''"

record_digest_len

FieldLenField

'None'

record_digest

XStrLenField

"b''"

encrypted_sni_len

FieldLenField

'None'

encrypted_sni

XStrLenField

"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_ExtendedMasterSecret                 
TLS_Ext_ExtendedMasterSecret fields

type

ShortEnumField

'23'

len

ShortField

'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_Heartbeat                      
TLS_Ext_Heartbeat fields

type

ShortEnumField

'15'

len

ShortField

'None'

heartbeat_mode

ByteEnumField

'2'

class scapy.layers.tls.extensions.TLS_Ext_KeyShare(*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_KeyShare                       
TLS_Ext_KeyShare fields

type

ShortEnumField

'51'

len

ShortField

'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_MaxFragLen                      
TLS_Ext_MaxFragLen fields

type

ShortEnumField

'1'

len

ShortField

'None'

maxfraglen

ByteEnumField

'4'

class scapy.layers.tls.extensions.TLS_Ext_NPN(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'13172'

len

FieldLenField

'None'

protocols

ProtocolListField

'[]'

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_PSKKeyExchangeModes                 
TLS_Ext_PSKKeyExchangeModes fields

type

ShortEnumField

'45'

len

ShortField

'None'

kxmodeslen

FieldLenField

'None'

kxmodes

FieldListField

'[]'

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_Padding                       
TLS_Ext_Padding fields

type

ShortEnumField

'21'

len

FieldLenField

'None'

padding

StrLenField

"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_PostHandshakeAuth                  
TLS_Ext_PostHandshakeAuth fields

type

ShortEnumField

'49'

len

ShortField

'None'

class scapy.layers.tls.extensions.TLS_Ext_PreSharedKey(*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_PreSharedKey                     
TLS_Ext_PreSharedKey fields

type

ShortEnumField

'41'

len

ShortField

'None'

class scapy.layers.tls.extensions.TLS_Ext_PrettyPacketList(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'None'

len

FieldLenField

'None'

val

StrLenField

"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_RecordSizeLimit                   
TLS_Ext_RecordSizeLimit fields

type

ShortEnumField

'28'

len

ShortField

'None'

record_size_limit

ShortField

'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_RenegotiationInfo                  
TLS_Ext_RenegotiationInfo fields

type

ShortEnumField

'65281'

len

ShortField

'None'

reneg_conn_len

FieldLenField

'None'

renegotiated_connection

StrLenField

"b''"

class scapy.layers.tls.extensions.TLS_Ext_ServerAuthz(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'8'

len

ShortField

'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_ServerCertType                    
TLS_Ext_ServerCertType fields

type

ShortEnumField

'9'

len

ShortField

'None'

ctype

ByteEnumField

'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_ServerName                      
TLS_Ext_ServerName fields

type

ShortEnumField

'0'

len

FieldLenField

'None'

servernameslen

ServerLenField

'None'

servernames

ServerListField

'[]'

class scapy.layers.tls.extensions.TLS_Ext_SessionTicket(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'35'

len

FieldLenField

'None'

ticket

StrLenField

"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_SignatureAlgorithms                 
TLS_Ext_SignatureAlgorithms fields

type

ShortEnumField

'13'

len

ShortField

'None'

sig_algs_len

SigAndHashAlgsLenField

'None'

sig_algs

SigAndHashAlgsField

'[]'

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_SignatureAlgorithmsCert               
TLS_Ext_SignatureAlgorithmsCert fields

type

ShortEnumField

'49'

len

ShortField

'None'

sig_algs_len

SigAndHashAlgsLenField

'None'

sig_algs

SigAndHashAlgsField

'[]'

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_SupportedEllipticCurves               
TLS_Ext_SupportedEllipticCurves fields

type

ShortEnumField

'10'

len

ShortField

'None'

groupslen

FieldLenField

'None'

groups

FieldListField

'[]'

class scapy.layers.tls.extensions.TLS_Ext_SupportedGroups(*args, **kargs)

Bases: scapy.layers.tls.extensions.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

ShortEnumField

'10'

len

ShortField

'None'

groupslen

FieldLenField

'None'

groups

FieldListField

'[]'

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_SupportedPointFormat                 
TLS_Ext_SupportedPointFormat fields

type

ShortEnumField

'11'

len

ShortField

'None'

ecpllen

FieldLenField

'None'

ecpl

FieldListField

'[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_CH                 
TLS_Ext_SupportedVersion_CH fields

type

ShortEnumField

'43'

len

ShortField

'None'

versionslen

FieldLenField

'None'

versions

FieldListField

'[]'

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_SH                 
TLS_Ext_SupportedVersion_SH fields

type

ShortEnumField

'43'

len

ShortField

'None'

version

ShortEnumField

'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_SupportedVersions                  
TLS_Ext_SupportedVersions fields

type

ShortEnumField

'43'

len

ShortField

'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_TicketEarlyDataInfo                 
TLS_Ext_TicketEarlyDataInfo fields

type

ShortEnumField

'46'

len

ShortField

'None'

max_early_data_size

IntField

'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_TruncatedHMAC                    
TLS_Ext_TruncatedHMAC fields

type

ShortEnumField

'4'

len

ShortField

'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_TrustedCAInd                     
TLS_Ext_TrustedCAInd fields

type

ShortEnumField

'3'

len

ShortField

'None'

talen

FieldLenField

'None'

ta

_TAListField

'[]'

class scapy.layers.tls.extensions.TLS_Ext_Unknown(*args, **kargs)

Bases: scapy.layers.tls.session._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

ShortEnumField

'None'

len

FieldLenField

'None'

val

StrLenField

"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_UserMapping                     
TLS_Ext_UserMapping fields

type

ShortEnumField

'6'

len

ShortField

'None'

umlen

FieldLenField

'None'

um

FieldListField

'[]'