scapy.layers.tls.extensions

TLS握手扩展.

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

Bases: scapy.packet.Packet

这是RFC 6066中定义的结构,而不是RFC 6960中定义的结构!

aliastypes
fields_desc
显示类似RFC的架构
 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字段

respidlen

FieldLenField

None

respid

PacketListField

[]

reqextlen

FieldLenField

None

reqext

PacketField

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

respidlen

FieldLenField

None

respid

StrLenField

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.FieldLenField

没有服务器名时(例如,在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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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                        
TACertSHA1哈希字段

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
显示类似RFC的架构
 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                        
TAKeySHA1哈希字段

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
显示类似RFC的架构
 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                         
TAPre同意的字段

idtype

ByteEnumField

0

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

Bases: scapy.packet.Packet

RFC 4366的XXX第3.4节.实现一个更具体的DNField而不是当前的StrLenField.

aliastypes
fields_desc
显示类似RFC的架构
 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                          
TAX509名称字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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不受支持

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

type

ShortEnumField

2

len

ShortField

None

Bases: scapy.layers.tls.extensions.TLS_Ext_Unknown

aliastypes
build()
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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

在RFC-draft-agl-tls-nextprotoneg-03中定义. 不赞成使用ALPN.

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

type

ShortEnumField

41

len

ShortField

None

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

Bases: scapy.layers.tls.extensions.TLS_Ext_Unknown

虚拟扩展名,用于server_name / ALPN / NPN,表示形式更简洁:最后一个字段显示为1行列表,而不是大量数据包. XXX为Packet._show_or_dump中的数据包列表定义新条件.

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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不受支持

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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根据大多数实现对RFC 4507进行更新,该实现在全局" len"字段之后不使用另一个(无用的)" ticketlen"字段.

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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

在TLS 1.3合并ECDH和FFDH的两个组选择机制之前,此扩展被称为"支持的椭圆曲线".

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

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

为了避免循环导入,我们将其放在此处而不是extensions.py中.

aliastypes
fields_desc
显示类似RFC的架构
 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字段

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
显示类似RFC的架构
 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字段

type

ShortEnumField

6

len

ShortField

None

umlen

FieldLenField

None

um

FieldListField

[]