Scapy:处理部分TLS段

问题描述 投票:0回答:1

我正在尝试使用Scapy从pcap提取TLS元数据。我能够成功解析数据包和单个消息,例如client-hello,server-hello等及其字段。我遇到的麻烦是TLS记录分布在多个TCP数据包/段中。对于大型TLS消息(例如应用程序数据)或服务器在一个TLS帧中发送多个TLS消息(服务器问候,证书等)时,通常会发生这种情况。 scapy表示,在这种情况下,它具有TLS / SSLv2层,但我无法从此类帧中提取任何有意义的信息。当我在wireshark中查看相同的pcap时,wireshark显示

Reassembled TCP segments (T bytes): #X (x), #Y(y), #Z(z)

其中T是总和; ]

我的代码中有类似的内容:

if pkt.haslayer(TCP) and pkt.haslayer(TLS):
  parseTLS(pkt)
elif pkt.haslayer(TCP) and pkt.haslayer(SSLv2):
  parseSSLv2(pkt)

[当遇到部分TLS数据包时,该代码始终落入SSLv2。有没有办法让我准确地将数据包标识为部分tls段并进行累积,然后像wireshark一样处理完整的TLS帧?如果是这样,我该怎么做。任何指针或帮助表示赞赏。谢谢。

我正在尝试使用Scapy从pcap提取TLS元数据。我能够成功解析数据包和单个消息,例如client-hello,server-hello等及其字段。我是什么...

python ssl tcp tls1.2 scapy
1个回答
0
投票

不确定是否有更好的解决方案,但这是我为解决问题所做的工作。当从多个数据包重新组合TLS帧时,累积的帧大小似乎与Wireshark的行为一致。

© www.soinside.com 2019 - 2024. All rights reserved.