怎样用python读取超大的pcap文件

qq_29770305 2017-04-04 07:55:33
大四狗,毕业设计导师让我的软件要能分析超大pcap文件。。
于是我从CAIDA网站上找了一个2G的pcap文件,
发现根本软件根本读不了啊!!
我用的是scapy, 要读的话只能一次性全部读出来pcap里的包,或者读前n个rdpcap("xxx.pcap",n)
一次性读出来,我跑了1个小时没有反应。读前n个倒是可以,但是读完前n个,怎么从第n+1个开始再读n个呢?
而且读前n个的话,可能只有一个完整流的一部分,不能分析啊。
我目前想法是过滤一下pcap文件,得到完整的一个flow。
上网搜了tshark命令,用它过滤一个pcap文件,结果....又是一个小时过去了,依然没有完成过滤。
而且我还不知道到底是它仍然在过滤,还是已经崩了。。
想问一下有没有更好的方法,从一个超大pcap文件里 过滤出我想要的flow。。
(wireshark打开超大pcap文件是可以的,速度也不错,而且也能过滤,它是怎么做到的呢。。)

http://blog.csdn.net/dog250/article/details/52134146 这篇文章里给出了一种方法,感觉我可以试一下,但是有没有更简便的方法呢。
...全文
1005 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuipuke 2020-09-24
  • 打赏
  • 举报
回复

import dpkt
from scapy import *

f = open('file_name.pcap','rb')
pcap = dpkt.pcap.Reader(f)

for ts,buf in pcap:
    eth = dpkt.ethernet.Ethernet(buf)
    print(str(eth.data))

huihui_1_ 2019-04-19
  • 打赏
  • 举报
回复
Wireshark怎么过滤已有的pcap数据集呢?我在CIADA 下载了一个pcap数据集,文件太大1.6个G,默认打开方式是用Wireshark,但打开也打开不了,内存占用太大,本子直接崩掉。同大四毕设狗诚信发问。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧