Closed ahsan-tariq closed 7 years ago
Hi @ahsan-tariq,
The lenghts are set automatically. If you need to view them before sending the packet, you need to use show2()
(which exactly reflects what is sent on the wire). show()
shows the packet pre-serialization, before all dynamic fields are updated. It's a scapy
thing, we just follow along ;):
>>> (SSLv2Record()/SSLv2ClientHello(challenge='A'*16)).show2()
###[ SSLv2 Record ]###
length= 0x18
content_type= client_hello
###[ SSLv2 Client Hello ]###
version= SSL_2_0
cipher_suites_length= 0x0
session_id_length= 0x0
challenge_length= 0x10
cipher_suites= []
session_id= ''
challenge= 'AAAAAAAAAAAAAAAA'
Hi, While scanning a site for sslv2 support I am seeing the following issue:
The TLS/SSL records in response are empty:
However, when I manually set the lengths of pkt like this:
The sslv2 connection is successful. The response (pasted partial) I get is:
Are the length fields in packet being set correctly ? Because when I do
pkt.show()
, the length fields in all layers areNone
. I thought this would be set by scapy before packet is transmitted but this does not appear to be the case ? Also, this maybe happening with other protocols as well. This does not result in dropped connections always, but only in some site cases and not others. Is their a way to set the lenghts in different layers dynamically ?Thanks