如何解码IEX DEEP pcap文件

问题描述 投票:1回答:1

我正在尝试解码来自IEX(投资者交易所)的DEEP数据,这是pcap形式。我目前正在使用Python。

我目前正在使用Scapy来解析pcap文件。问题是我不知道如何将原始负载(二进制形式)解码为人类可读的文本。这是一个例子。

from scapy.all import *

packets = rdpcap(r'20171104_IEXTP1_DEEP1.0.pcap')
packets[0].show()

结果是这样的

###[ Ethernet ]### 
  dst       = 01:00:5e:57:15:04
  src       = 00:1e:67:f2:62:24
  type      = 0x800
###[ IP ]### 
     version   = 4
     ihl       = 5
     tos       = 0x0
     len       = 68
     id        = 16005
     flags     = DF
     frag      = 0
     ttl       = 64
     proto     = udp
     chksum    = 0x49e2
     src       = 23.226.155.132
     dst       = 233.215.21.4
     \options   \
###[ UDP ]### 
        sport     = 10378
        dport     = 10378
        len       = 48
        chksum    = 0x6c15
###[ Raw ]### 
           load      = '\x01\x00\x04\x80\x01\x00\x00\x00\x00\x00BD\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xce/\xec:\x98\xde\xf3\x14'

有什么方法可以知道原始负载的内容吗?它应该是关于订单簿数据的信息。我没有看到任何现有工具来解码它。

如果有兴趣,您可以从IEX官方网站(https://iextrading.com/trading/market-data/#deep)访问这些文件。那些pcap文件通常都很大,所以我正在尝试一个小的20171104_IEXTP1_DEEP1.0.pcap。

python scapy pcap
1个回答
0
投票

如果您正在寻找更可读的负载转储,请尝试使用Scapy hexdump方法:

from scapy.all import *
from scapy.utils import hexdump

packets = rdpcap(r'20180127_IEXTP1_DEEP1.0.pcap')
packets[0].show()

raw = packets[0].lastlayer()
hexdump(raw)

这将输出如下内容:

###[ Ethernet ]### 
  dst       = 01:00:5e:57:15:04
  src       = 00:1e:67:f2:62:24
  type      = 0x800
###[ IP ]### 
     version   = 4
     ihl       = 5
     tos       = 0x0
     len       = 68
     id        = 53693
     flags     = DF
     frag      = 0
     ttl       = 64
     proto     = udp
     chksum    = 0xb6a9
     src       = 23.226.155.132
     dst       = 233.215.21.4
     \options   \
###[ UDP ]### 
        sport     = 10378
        dport     = 10378
        len       = 48
        chksum    = 0x955b
###[ Raw ]### 
           load      = '\x01\x00\x04\x80\x01\x00\x00\x00\x00\x00\x96D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x91\x08\xf0M:\xac\r\x15'

0000  01000480010000000000964400000000 ...........D....
0010  00000000000000000100000000000000 ................
0020  9108F04D3AAC0D15                 ...M:...
© www.soinside.com 2019 - 2024. All rights reserved.