dpkt解析数据包
问题描述:
我用python抓包,数据包格式是TCP包用GRE包了一层,用dpkt可以解析,结果抓包的目标交换机系统版本变动了,所以包虽然还是那个包,却多了一层ERSPAN的东西,然后就解析不了了,看图:
老版本可以解析,但是新版本到Encapsulated Remote Switch Packet ANalysis Type I
这一层就往下解析不了了,我之前用的wireShark
解析,也解析不了,然后升级了wireShark
后可以解析了
# 获取以太网部分数据
Ethernet_pack = dpkt.ethernet.Ethernet(buf)
# 协议类型 25944,35006
ptype = Ethernet_pack.data.data.p
要获取每一层数据用.data就可以了,但是新版本的这种格式解析不了
dpkt
有没有办法解析这种数据包?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我试了 dpkt 是可以的。
解析文件 2019_0416_1558_38.pcap 第一个报文是成功的,与 WireShark 展示一致。
因为要解析 GRE.proto = (ETH_TYPE_ERSPAN1 = 0x88be),现有dpkt (1.9.2) 不支持此协议,因此要仿照此次 commit https://github.com/kbandla/dp... 增加 patch
然后就成功解析了。
输出