scapy.layers.tls.handshake_sslv2¶
SSLv2 handshake fields & logic.
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ClientCertificate(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeSSLv2 ClientCertificate.
-
aliastypes¶
-
build(*args, **kargs)¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | CERTTYPE | CERTLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPONSELEN | CERTDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESPONSEDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ClientCertificateSSLv2ClientCertificate fields¶ msgtype
8certtype
1certlen
Noneresponselen
Nonecertdata
_SSLv2CertDataFieldb''responsedata
_TLSSignatureFieldNone
-
post_dissection_tls_session_update(msg_str)¶
-
tls_session_update(msg_str)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ClientFinished(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeIn 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¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | CONNECTION ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ClientFinishedSSLv2ClientFinished fields¶ msgtype
3connection_id
b''
-
post_dissection(pkt)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ClientHello(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeSSLv2 ClientHello.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | VERSION | CIPHERSLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SIDLEN | CHALLENGELEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | SID | CIPHERS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CHALLENGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ClientHelloSSLv2ClientHello fields¶ msgtype
1version
_TLSVersionField2cipherslen
Nonesidlen
Nonechallengelen
Nonesid
b''ciphers
_SSLv2CipherSuitesField[458944]challenge
b''
-
tls_session_update(msg_str)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ClientMasterKey(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeSSLv2 ClientMasterKey.
-
aliastypes¶
-
decryptedkey¶
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | CIPHER | CLEARKEYLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | ENCRYPTEDKEYLEN | KEYARGLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CLEARKEY | ENCRYPTEDKEY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | KEYARG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ClientMasterKeySSLv2ClientMasterKey fields¶ msgtype
2cipher
_SSLv2CipherSuiteFieldNoneclearkeylen
Noneencryptedkeylen
Nonekeyarglen
Noneclearkey
b''encryptedkey
_SSLv2EncryptedKeyFieldb''keyarg
b''
-
post_build(pkt, pay)¶
-
pre_dissect(s)¶
-
tls_session_update(msg_str)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2Error(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeSSLv2 Error.
-
aliastypes¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2RequestCertificate(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeIn 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¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | AUTHTYPE | CHALLENGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2RequestCertificateSSLv2RequestCertificate fields¶ msgtype
7authtype
1challenge
b''
-
tls_session_update(msg_str)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ServerFinished(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeIn 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¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | SID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ServerFinishedSSLv2ServerFinished fields¶ msgtype
6sid
b''
-
post_dissection_tls_session_update(msg_str)¶
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ServerHello(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeSSLv2 ServerHello.
-
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | SID HIT | CERTTYPE | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CERTLEN | CIPHERSLEN | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CONNECTION IDLEN | CERT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | CIPHERS | CONNECTION ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+ Fig. SSLv2ServerHelloSSLv2ServerHello fields¶ msgtype
4sid_hit
0certtype
1version
_TLSVersionField2certlen
Nonecipherslen
Noneconnection_idlen
Nonecert
_SSLv2CertDataFieldb''ciphers
_SSLv2CipherSuitesField[]connection_id
b''
-
tls_session_update(msg_str)¶ XXX Something should be done about the session ID here.
-
-
class
scapy.layers.tls.handshake_sslv2.SSLv2ServerVerify(*args, **kargs)¶ Bases:
scapy.layers.tls.handshake_sslv2._SSLv2HandshakeIn 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¶ 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSGTYPE | CHALLENGE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. SSLv2ServerVerifySSLv2ServerVerify fields¶ msgtype
5challenge
b''
-
post_dissection(pkt)¶
-