我正在使用dpkt分析用python捕获的数据包。应用层使用ssl加密。我想解密ssl数据(即tcp有效负载)。我有私钥,所以我应该能够使用密钥来解密数据。这是我的剧本:
#!/bin/python
import sys
import dpkt
def main():
if not len(sys.argv) == 2:
print "need a pcap file"
return 1
filename = sys.argv[1]
f = open(filename)
pcap = dpkt.pcap.Reader(f)
framenum = 1
for ts, buf in pcap:
if framenum == 123:
eth = dpkt.ethernet.Ethernet(buf)
ip = eth.data
tcp = ip.data
ssl = tcp.data
# decrypt ssl
framenum += 1
if __name__ == '__main__':
sys.exit( main() )我可以用什么代替“解密ssl”注释来获得解密的ssl字节?我猜想应该有一些库可以为我做到这一点,但是我对ssl和python的所有搜索都提供了有关编写可以接收ssl连接的套接字程序的信息。我对此不感兴趣。相反,我需要解密使用ssl加密的数据。
谢谢!
发布于 2013-12-06 20:56:46
你不太可能找到现成的库来做这件事。从数据包转储中解密相当复杂,我相信现在最好的工具仍然是Wireshark。
请注意,您还需要从握手开始捕获整个TLS会话。此外,如果连接使用了提供前向保密(任何DHE或ECDHE)的临时模式,则无法对数据进行解密。
https://stackoverflow.com/questions/20432770
复制相似问题