我尝试解码使用已知端口(TCP 5061)的SIP TLS v1.0流量。 我有权访问我的私钥来提取信息(TCP原始数据) 我已创建了访问TCP流量的代码,我现在可以读取该信息。
packet = socket.recv(sipLocatorConfig.NETWORK_TCP_MAX_SIZE)
我的目标是能够读取加密流量(我已经可以使用)并使用我的私钥对其进行解密,以便我可以在此之后对其进行分析。 如何将TLS转换为TCP /原始数据?我能够启动SSL服务器,但是如何使用SSL库解析原始数据。
import socket
from OpenSSL import SSL
context = SSL.Context(SSL.SSLv23_METHOD)
context.use_privatekey_file('key')
context.use_certificate_file('cert')
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s = SSL.Connection(context, s)
s.bind(('', 12345))
s.listen(5)
(connection, address) = s.accept()
while True:
print repr(connection.recv(65535))
答案 0 :(得分:0)
编写python脚本来解密原始捕获是一项艰巨的任务。我建议您尝试使用wireshark,它是一个图形网络分析器,当您拥有密钥时,它已经decrypt SSL / TLS。
请记住:完美的前向保密可以防止wirehark和脚本中的解密。见Decrypting HTTPS traffic in Wireshark not working