scapy.layers.tls.handshake_sslv2

SSLv2 handshake fields & logic.

class scapy.layers.tls.handshake_sslv2.SSLv2ClientCertificate(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

SSLv2 ClientCertificate.

aliastypes
build(*args, **kargs)
fields_desc
SSLv2ClientCertificate fields

msgtype

ByteEnumField

8

certtype

ByteEnumField

1

certlen

FieldLenField

None

responselen

FieldLenField

None

certdata

_SSLv2CertDataField

b''

responsedata

_TLSSignatureField

None

post_dissection_tls_session_update(msg_str)
tls_session_update(msg_str)
class scapy.layers.tls.handshake_sslv2.SSLv2ClientFinished(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

In order to parse a ClientFinished, the exact message string should be fed to the class. SSLv2 does not offer any other way to know the c_id length.

aliastypes
build(*args, **kargs)
fields_desc
SSLv2ClientFinished fields

msgtype

ByteEnumField

3

connection_id

XStrField

b''

post_dissection(pkt)
class scapy.layers.tls.handshake_sslv2.SSLv2ClientHello(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

SSLv2 ClientHello.

aliastypes
fields_desc
SSLv2ClientHello fields

msgtype

ByteEnumField

1

version

_TLSVersionField

2

cipherslen

FieldLenField

None

sidlen

FieldLenField

None

challengelen

FieldLenField

None

sid

XStrLenField

b''

ciphers

_SSLv2CipherSuitesField

[458944]

challenge

XStrLenField

b''

tls_session_update(msg_str)
class scapy.layers.tls.handshake_sslv2.SSLv2ClientMasterKey(*args, **kargs)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

SSLv2 ClientMasterKey.

aliastypes
decryptedkey
fields_desc
SSLv2ClientMasterKey fields

msgtype

ByteEnumField

2

cipher

_SSLv2CipherSuiteField

None

clearkeylen

FieldLenField

None

encryptedkeylen

FieldLenField

None

keyarglen

FieldLenField

None

clearkey

XStrLenField

b''

encryptedkey

_SSLv2EncryptedKeyField

b''

keyarg

XStrLenField

b''

post_build(pkt, pay)
pre_dissect(s)
tls_session_update(msg_str)
class scapy.layers.tls.handshake_sslv2.SSLv2Error(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

SSLv2 Error.

aliastypes
fields_desc
SSLv2Error fields

msgtype

ByteEnumField

0

code

ShortEnumField

None

class scapy.layers.tls.handshake_sslv2.SSLv2RequestCertificate(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

In order to parse a RequestCertificate, the exact message string should be fed to the class. This is how SSLv2 defines the challenge length…

aliastypes
fields_desc
SSLv2RequestCertificate fields

msgtype

ByteEnumField

7

authtype

ByteEnumField

1

challenge

XStrField

b''

tls_session_update(msg_str)
class scapy.layers.tls.handshake_sslv2.SSLv2ServerFinished(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

In order to parse a ServerFinished, the exact message string should be fed to the class. SSLv2 does not offer any other way to know the sid length.

aliastypes
build(*args, **kargs)
fields_desc
SSLv2ServerFinished fields

msgtype

ByteEnumField

6

sid

XStrField

b''

post_dissection_tls_session_update(msg_str)
class scapy.layers.tls.handshake_sslv2.SSLv2ServerHello(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

SSLv2 ServerHello.

aliastypes
fields_desc
SSLv2ServerHello fields

msgtype

ByteEnumField

4

sid_hit

ByteField

0

certtype

ByteEnumField

1

version

_TLSVersionField

2

certlen

FieldLenField

None

cipherslen

FieldLenField

None

connection_idlen

FieldLenField

None

cert

_SSLv2CertDataField

b''

ciphers

_SSLv2CipherSuitesField

[]

connection_id

XStrLenField

b''

tls_session_update(msg_str)

XXX Something should be done about the session ID here.

class scapy.layers.tls.handshake_sslv2.SSLv2ServerVerify(_pkt='', post_transform=None, _internal=0, _underlayer=None, tls_session=None, **fields)

Bases: scapy.layers.tls.handshake_sslv2._SSLv2Handshake

In order to parse a ServerVerify, the exact message string should be fed to the class. This is how SSLv2 defines the challenge length…

aliastypes
build(*args, **kargs)
fields_desc
SSLv2ServerVerify fields

msgtype

ByteEnumField

5

challenge

XStrField

b''

post_dissection(pkt)