用于读取/写入各种数据包嗅探器使用的PCAP NG格式的库

python-pcapng的Python项目详细描述


python pcapng

python库解析新版本使用的pcap ng格式 dumpcap和类似工具(wireshark、winpcap,…)的。

文件

如果您喜欢RTD主题,或者想要任何版本的文档 除最新版本外,请点击此处:

http://python-pcapng.readthedocs.org/en/latest/

如果你喜欢更舒适的,页面宽度,默认的狮身人面像主题, github页面上有一个文档镜像:

http://rshk.github.io/python-pcapng/

CI构建状态

BranchStatus
masterhttps://travis-ci.org/rshk/python-pcapng.svg?branch=master
develophttps://travis-ci.org/rshk/python-pcapng.svg?branch=develop

源代码

github上的源代码、问题跟踪程序等:https://github.com/rshk/python-pcapng

从git获取源代码:

git clone https://github.com/rshk/python-pcapng

下载最新版本的zip:

https://github.com/rshk/python-pcapng/archive/master.zip

从pypi安装:

pip install python-pcapng

PYPI状态

python包索引的官方页面是:https://pypi.python.org/pypi/python-pcapng

Latest PyPI versionNumber of PyPI downloadsSupported Python versionsDevelopment StatusLicense

为什么是这个图书馆?

  • 我需要从一堆PCAP NG中提取一些信息 文件,但显然tcpdump在读取这些文件时遇到了一些问题,

    我找不到其他好的工具,也找不到python绑定到库 能够解析此格式,因此..

  • 一般来说,似乎有(相当多!)Python模块 解析旧的(更简单的)格式,但对新的格式没有解析。

  • 而且,他们通常完全缺乏任何形式的文档。

不是很慢吗?

是的,我想它比用c写的要慢得多, 但我在python方面比c好得多。

。我需要把事情做完,而且CPU时间没有那么贵:)

(也许我可以试着把它移植到cython来加快速度,但是 不管怎样,纯python库总是有用的,例如对于pypy)。

我怎么用?

基本用法如下:

frompcapngimportFileScannerwithopen('/tmp/mycapture.pcap')asfp:scanner=FileScanner(fp)forblockinscanner:pass# do something with the block...

查看块文档以了解它们的作用;此外,还有 examples目录包含一些使用库的示例脚本。

黑客攻击

格式说明如下:

http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html

欢迎投稿,如有需要请与我联系 一些大的变化,这样我们就能找到整合它的最佳方式。

或者更好的是,打开一个问题,让全世界都能参与进来 讨论:)

PCAP NG写入支持

对编写pcap ng文件的支持是“有计划的”;这意味着:我已经 关于如何写这部分的一些想法 对库的更改。

我还没有添加那个部分,因为我现在不需要它,我 想知道是否有人可能(可能的用例是 用python或其他类型的 捕获文件操作)。

如果你需要这个功能,我想听听你的意见(否则,我 别以为我会花很多时间 一个人需要……)。

历史记录

v0.1

  • 支持“扫描”PCAP NG数据流
  • 支持解码“标准”pcap ng块:
    • 节标题
    • 接口说明
    • 增强数据包
    • 简单数据包(不推荐)
    • 数据包(不推荐)
    • 名称分辨率
    • 接口统计

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我的int值在SharedReferences中不被记住   java如何编辑Spring可分页对象?   java如何在gradle中单独调用任务   jvm以编程方式设置最大java堆大小   java如果满足多个条件,如何使用If语句计算数字?   如何在java中从json文件中获取特定值   如何在Sphinx4中为Java语音识别添加自定义语法?   java int[]copy=data;//当数据是数组时会发生什么?   java豪猪管理器。停下来。destroy()不起作用   安卓在API级别28中找不到画布变量   基于SOLID的java冗余   用于talend作业的java Liferay和portlet   从java到安卓的视频流   java获取在控件的类定义中添加自定义控件的场景大小   awt Java IndexOutOfBoundsException   java如何使用Spring JmsTemplate更改MQ头   java遍历数组并打印每个对象   java Google Map api v2标记在我旋转手机和地图“刷新”之前不会移动