如何访问 pyshark 中嗅探到的 http 数据包中包含的 xml 有效负载的文本表示?

How to access the text representation of a xml payload contained in a sniffed http packet in pyshark?

我需要对应用程序和服务器之间基于 XML 的通信进行逆向工程。

在 Wireshark 中,有一个选项可以将 http 数据包 xml 负载的原始文本导出到文本文件或剪贴板。

我想在 pyshark 中实现相同的目的,以便以编程方式记录所有 XML 通信。

下面是我目前所拥有的片段。不幸的是,我不知道如何访问数据包 xml 有效负载的未解析文本表示。相反,我只能访问 xml 或 pretty_print 的解析版本。

如何在 pyshark 中访问未解析的 xml?

import pyshark

filtered_cap2 = pyshark.LiveCapture(interface=['4'], bpf_filter='tcp port 80')

for packet in filtered_cap2.sniff_continuously(packet_count=500):
    try:
        packet.xml.pretty_print()
    except:
        pass

packet.http.file_data 是您的选择。你也可以试试 packet.http.file_data.raw_value.