Python 如何使用scapy和放弃ASCII值显示pcap文件(有效负载)的字节

Python 如何使用scapy和放弃ASCII值显示pcap文件(有效负载)的字节,python,byte,wireshark,scapy,pcap,Python,Byte,Wireshark,Scapy,Pcap,我正在读取pcap文件,我想使用scapy提取pcap文件的有效负载。当我提取信息时,我得到的是ASCII格式,而不是字节。例如:在一个包含100个数据包的pcap文件中,我提取第三个数据包的有效负载 pcap[2].load 这给了我一个结果: b'Beacon-v2|JCK|WindowsPC|03cde3a22ae9a70bb8c5137fa482a4e39888ebbc\nOpenSensor-v2|62190\n' 尽管如此,我只需要字节[hex format],而不是ASCII

我正在读取pcap文件,我想使用scapy提取pcap文件的有效负载。当我提取信息时,我得到的是ASCII格式,而不是字节。例如:在一个包含100个数据包的pcap文件中,我提取第三个数据包的有效负载

pcap[2].load 
这给了我一个结果:

b'Beacon-v2|JCK|WindowsPC|03cde3a22ae9a70bb8c5137fa482a4e39888ebbc\nOpenSensor-v2|62190\n'
尽管如此,我只需要字节[hex format],而不是ASCII字符。我想要对应的十六进制格式是(4265616f等等)

我试过使用:

bytes(pcap[2].load)

hexdump(pcap[2].load)

bytearray(pcap[2].load)

raw(pcap[2].payload)

如果您能帮助我以字节为单位显示此负载,那将是一个很大的帮助。谢谢

后缀
b
表示您收到的值是bytestring(
bytes
)。如果要将其打印为十六进制,可以使用:
hexlify(pcap[2]。load,sep=“”)
。要将其打印为“nice”,可以将结果保存到变量:
res=pcap[2]。加载
并分别每16个字节转换一次:
print(*(hexlify(res[i:i+16],sep=“”)用于范围(0,len(res),16)),sep=“\n”)
非常感谢!这真的很有帮助:)
bytes(pcap[2].load)

hexdump(pcap[2].load)

bytearray(pcap[2].load)

raw(pcap[2].payload)