Python 的 Scapy 无法打印负载

Python's Scapy can't print load

我是 Scapy 的新手,我最近尝试创建一个程序来搜索数据包并打印它们。

当我运行程序,

from scapy.all import *
a = sniff(iface='enp0s3', count=1)
l = a[0].load
print l

它给出了

的输出
!f��B    2�.�I�b��"�����.�KS���

但是,当运行程序在交互Scapy时shell,运行

a[0].load

它给出:

\x17\x03\x03\x00!f\x1d\xf3\xb0B\x15\t2\x86.\xcbI\xddb\xaa\xf1"\x03\xf1\x8c\x91\xda\xd3.\xf3\x08\xe7K\x05S\xfe\x96\xac

这是数据包的有效负载。如何将脚本输出的符号转换为我在交互式 运行 中得到的符号 shell?

也许你可以试试这个:

print " ".join(hex(ord(n)) for n in a[0].load)

来源:Print a variable in hexadecimal in Python