在Pyshark中获取已解析数据包的完整hexdump

时间:2014-12-11 17:43:13

标签: python pyshark

我正在使用Pyshark来解析来自pcap文件的数据包。
我有解析包的对象。另外,在将raw_mode属性更改为True之后,我可以获得每个字段的hex_value。

>>> packet = pyshark.FileCapture("ip_packet.pcap")
>>> packet_1 = packet[0]
>>> packet_1.layers()
[<ETH Layer>, <IP Layer>, <DATA Layer>]
>>> packet_1.ip.addr
'192.168.1.5'

>>> packet_1.ip.raw_mode = True
>>> packet_1.ip.addr
'c0a80105'

如何获得完整数据包的hexdump?

2 个答案:

答案 0 :(得分:1)

不幸的是,你现在还不能。 Pyshark解析tshark的输出,该输出不包含原始数据包字节。您可以自己尝试“重新组装”数据包,但我不会推荐它。

目前,这个功能可以添加,但目前是不可能的,如果您特别想要我建议您使用不同的包或仅自己解析数据包(没有任何协议)或使用construct (或其他类似的包裹)。

答案 1 :(得分:0)

如果您需要解析数据包(在使用完整数据包的hexdump之前),您可以查看pyshark_parser