scapy.layers.tls.handshake_sslv2
SSLv2 handshake fields & logic.
- class scapy.layers.tls.handshake_sslv2.SSLv2ClientCertificate(*args, **kargs)
Bases:
scapy.layers.tls.handshake_sslv2._SSLv2Handshake
SSLv2 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. SSLv2ClientCertificate
SSLv2ClientCertificate fields msgtype
8
certtype
1
certlen
None
responselen
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(*args, **kargs)
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
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. SSLv2ClientFinished
SSLv2ClientFinished fields msgtype
3
connection_id
b''
- post_dissection(pkt)
- class scapy.layers.tls.handshake_sslv2.SSLv2ClientHello(*args, **kargs)
Bases:
scapy.layers.tls.handshake_sslv2._SSLv2Handshake
SSLv2 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. SSLv2ClientHello
SSLv2ClientHello fields msgtype
1
version
_TLSVersionField
2
cipherslen
None
sidlen
None
challengelen
None
sid
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._SSLv2Handshake
SSLv2 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. SSLv2ClientMasterKey
SSLv2ClientMasterKey fields msgtype
2
cipher
_SSLv2CipherSuiteField
None
clearkeylen
None
encryptedkeylen
None
keyarglen
None
clearkey
b''
encryptedkey
_SSLv2EncryptedKeyField
b''
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._SSLv2Handshake
SSLv2 Error.
- aliastypes
- class scapy.layers.tls.handshake_sslv2.SSLv2RequestCertificate(*args, **kargs)
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
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. SSLv2RequestCertificate
SSLv2RequestCertificate fields msgtype
7
authtype
1
challenge
b''
- tls_session_update(msg_str)
- class scapy.layers.tls.handshake_sslv2.SSLv2ServerFinished(*args, **kargs)
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
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. SSLv2ServerFinished
SSLv2ServerFinished fields msgtype
6
sid
b''
- post_dissection_tls_session_update(msg_str)
- class scapy.layers.tls.handshake_sslv2.SSLv2ServerHello(*args, **kargs)
Bases:
scapy.layers.tls.handshake_sslv2._SSLv2Handshake
SSLv2 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. SSLv2ServerHello
SSLv2ServerHello fields msgtype
4
sid_hit
0
certtype
1
version
_TLSVersionField
2
certlen
None
cipherslen
None
connection_idlen
None
cert
_SSLv2CertDataField
b''
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._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
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. SSLv2ServerVerify
SSLv2ServerVerify fields msgtype
5
challenge
b''
- post_dissection(pkt)