[Python][Scapy]使用Scapy解析pcap格式数据

本人使用win10系统,python3.6。

假设我们现在已经从Wireshark导出了test.pcap数据包。

读取pcap文件有两种方式,逐行读入内存和一次性读入内存。

第一种方式,一次性读入内存。

from scapy.all import *
pkts = rdpcap(‘test.pcap’)
这行代码将test.pcap文件一次性读入内存,pkt中是很多个数据包。pkt可以当做列表顺序访问。
访问第n个包:pkts[n],效果如图所示。
访问第一个包
循环读 for pkt in pkts:

第二种方式,逐行读
pr = PcapReader(‘test.pcap’)
pkt = pr.read_packet()
每次调用read_packet()都会读入下一个新的包到内存中

现在我们已经把数据包读入内存了,一个数据包装入了pkt变量中。
显示格式化数据包:pkt.show()
效果如图,协议已经分好层了
在这里插入图片描述

访问数据,如图所示
访问每层报文pkt[‘每层的名字’]
访问每层里面的内容pkt[‘每层的名字’].内容名,如pkt[‘IP’].dport
在这里插入图片描述

  • 9
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值