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

Get specific bytes in payload from a pcap file

我有一个 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库来实现?

你是说

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

或者可能是十六进制和字符

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

当然你也可以和hexdump一起使用

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