在 python 中解码互联网数据包有效载荷

decoding internet packets payload in python

我已经使用 scapy 从我的计算机中嗅探互联网数据包,知道它们没有加密我如何解码正在发送的数据以便它以明文形式出现,就像 wireshark 一样,我想要一个代码示例它。 我不想使用 wireshark 我想自己编写代码以供学习。

我使用了以下简单的脚本来捕获数据包:

from scapy.all import *

def callback(pkt) :
    print pkt.summary()
    print pkt.show()

sniff(store=0, prn= callback)

这取决于发送流量的应用程序。如果它发送未加密的纯文本 (ascii) 数据,您可以使用数据包的属性 load 访问和显示它。例如:

def callback(pkt) :
    print pkt.load

如果数据不是纯文本,您需要了解应用程序如何对数据进行编码和解码。如果您正在寻找与 wireshark 更相似的输出,您可以尝试 hexdump(pkt).