从pcap文件中获取有效负载中的特定字节

时间:2016-11-19 03:09:49

标签: python parsing scapy pcap

我有一个PCAP文件,我正在使用Scapy解析,

我已设法使用下面的代码

将有效负载转储到hexdump
pkts = rdpcap('Sink.pcap')
print hexdump(pkts[0][2].load)

我得到了输出

0000   00 00 00 *01* 58 2F AC 47  01 D8 1E 5F 00 00 00 01   ....X/.G..._....
0010   00 0A 5E 32 08 00 08 00  08 00 08 00 08 00 08 00   ..^2............
0020   08 00 08 00 08 00 08 00  08 00 08 00 08 00 08 00   ................
0030   08 00 08 00 08 00 08 00  08 00 08 00               ............
None

我想要做的是例如只打印第4个字节(0x01)。 (被星星包围),我该怎么做?我是否将hexdump转换为字符串,然后进行字符串解析或者我可以使用Scapy库来实现此操作吗?

1 个答案:

答案 0 :(得分:1)

你的意思是

print pkts[0][2].load[3]

或者可能是hex和char

val = pkts[0][2].load[3]
print "%x %s" % (ord(val), val)

当然,您也可以将其与hexdump一起使用

print hexdump( pkts[0][2].load[3] )