Comments (5)
Setting explicit = 1
does keep the content when converting via str()
but somehow sendp()
still does not send SSL layer content.
sendp(str(SSL('AAAAA')))
does work as a workaround.
from scapy-ssl_tls.
Settings explicit = 1
does not solve the problem entirely for me.
Example code (the get_payload function is from python-netfilterqueue but shouldn't be relevant here):
p = IP(pkt.get_payload())
if TLSClientHello in p:
p.show2()
Without explicit = 1
, this results in an output only containing IP and TCP header. If I apply your modification, it shows the SSL layer also. Fine so far.
But when I try to alter the packet, the SSL layer vanishes when using the show2 function. For example in
p = IP(pkt.get_payload())
if TLSClientHello in p:
del(p.chksum)
p.show2()
Some ideas?
from scapy-ssl_tls.
Should be fixed in #6.
from scapy-ssl_tls.
seems to work for me. nice! thanks
from scapy-ssl_tls.
merged #6 fixing this issue - thx eipiminus1.
- some background information on the actual bug:
the code did not take into account that by overriding scapy's default do_dissect() self.fields['records'] is never being initialized. Looking at scapy/packet.py::do_dissect() indicates that do_dissect() is responsible for this initialization. #6 fixes this inside the loop body as mentioned in the pr-comment it would be better to have this outside the loop. - in order to address this issue I've merged your pr and modified the code in order to feel more like the original scapy::do_dissect() even though it is a little bit more overhead and the fact that we only have one field in our fields_desc.
here's my testcase, it should read 'True' at the end:
p = TLSRecord()/TLSHandshake()/TLSClientHello(compression_methods=[0x00],
cipher_suites=[TLSCipherSuite.RSA_WITH_AES_128_CBC_SHA],
random_bytes='R'*28,
extensions=[TLSExtension()/TLSServerNameIndication(server_names=[TLSServerName()])])
sp = SSL(str(p))
print "--show--"
sp.show()
print "--show2--"
sp.show2()
print str(sp.show())==str(sp.show2())
from scapy-ssl_tls.
Related Issues (20)
- Does the security_scanner.py still work? HOT 1
- I need a help for Encrypt the communication of the Modbus protocol using AES and SSL Socket programming in python. HOT 2
- how can i control the condition to count how much TLS protocol packages HOT 1
- Trying to Encrypt and Decrypt the communication between Client and Server using Modbus/TCP protocol.
- How to send raw data in tls? HOT 3
- Bad record mac when using ECDHE_RSA_WITH_AES_256_CBC_SHA384 cipher
- Missing os import
- How to create the Certificate Status message from the server? Any examples would be appreciated. HOT 1
- 2.0.0 server_rsa.py quit with error HOT 1
- TLSSessionCtx support for DTLS
- how to generate completely arbitrary messages HOT 1
- TLS 1.3 support HOT 2
- Pip Install Error HOT 4
- Feature: How to analyse statemachines using scapy-ssl_tls?
- UserWarning: Verification of GCM tag failed: MAC check failed HOT 1
- Documentation is sparse HOT 1
- Feature request: Implement please SSLKEYLOG decryption HOT 5
- Handling of curve25519 and curve448 ServerKeyExchange
- Pip Install Error HOT 2
- any guide for gmtls?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scapy-ssl_tls.