用于读取/写入各种数据包嗅探器使用的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如何使用Spring和JSF向客户端授予临时权限   java除了Array/ArrayList之外,还有其他保存矩阵元素的方法吗   java BeanValidation不适用于单选按钮   通过java程序连接到配置单元数据库时出错   java如何使用maven解决二级依赖关系   JfreeChart/Java中带有图例的数据表   合并数组时发生java运行时错误   安全性如何在JavaEE中保护WebSocket端点?   java有没有一种方法可以使用insert方法为树插入值   java编程“静态”的另一种方式:代码可以吗?   java阅读文本文件时如何跳过3行   %04X在C中的含义以及如何在java中编写   java我如何验证一个方法不是仅在一个测试范围内对模拟调用的?   java如何在mac中使用启动appium desktop 1.6.1。球棒   仅匹配最多10位小数的java正则表达式