libpcap C库的Python绑定。
项目描述
libpcap
libpcap C库的Python绑定。
概述
文档.
libpcap使用在libpcap.cfg中指定的底层libpcap C共享库(系统的libpcap共享库是默认值),但也可以通过以下方式之一程序化地指定它:
import libpcap
libpcap.config(LIBPCAP=None) # system's libpcap library will be used
# or
libpcap.config(LIBPCAP="npcap")
# or
libpcap.config(LIBPCAP="wpcap") # included wpcap library will be used
# or
libpcap.config(LIBPCAP="tcpdump") # included tcpdump library will be used
# or # (currently works only for Linux x64)
libpcap.config(LIBPCAP="libpcap shared library absolute path")
关于原始libpcap
由“Tcpdump组”提供的LIBPCAP 1.x.y
可以通过以下方式通过匿名Git获取
之前来自
此目录包含libpcap的源代码,这是一个系统无关的用户级数据包捕获接口。libpcap提供了一种低级网络监控的可移植框架。应用包括网络统计收集、安全监控、网络调试等。由于几乎每个系统供应商都提供不同的数据包捕获接口,并且我们已经开发了几种需要此功能的工具,因此我们创建了这个系统无关的API,以简化移植并减轻每个应用程序中需要多个系统依赖数据包捕获模块的需求。
特定平台和BPF的支持
对于某些平台,存在README.{system}文件,讨论了这些平台上操作系统接口的数据包捕获问题,例如如何在默认未构建的情况下启用该接口的支持。
libpcap接口支持基于BSD数据包过滤器的架构的过滤机制。BPF在1993年冬季Usenix论文“BSD数据包过滤器:用户级数据包捕获的新架构”中有描述(《The BSD Packet Filter: A New Architecture for User-level Packet Capture》 (压缩PostScript, gzip PostScript, PDF))。
尽管大多数数据包捕获接口支持内核过滤,但libpcap仅利用内核过滤的BPF接口。在不存在BPF的系统上,所有数据包都读取到用户空间,并在libpcap库中评估BPF过滤器,这会产生额外的开销(特别是对于选择性过滤器)。理想情况下,libpcap应将BPF过滤器转换为与底层内核子系统兼容的过滤程序,但这尚未实现。
BPF是4.4BSD、BSD/OS、NetBSD、FreeBSD、OpenBSD、DragonFly BSD和macOS的标准;一个较旧、修改未记录的版本是AIX的标准。DEC OSF/1、Digital UNIX、Tru64 UNIX使用packetfilter接口,但已扩展以接受BPF过滤器(libpcap使用)。此外,您可以使用内核源代码和/或对象补丁将BPF过滤器支持添加到Ultrix。
Linux有许多基于BPF的系统,尽管它支持许多内存映射接收机制,但libpcap目前尚不支持任何eBPF机制。有关更多信息,请参阅Linux特定README。
针对包含libpcap的Linux发行版和*BSD系统的说明
现在有一个规则用于创建共享库,它应该在Linux和*BSD等平台上工作。
它将库的soname设置为“libpcap.so.1”;这就是它应该有的,不是“libpcap.so.1.x”或“libpcap.so.1.x.y”或类似的东西。
我们已经维护了libpcap发布之间的二进制兼容性很长时间;没有理由将链接到libpcap的二进制文件绑定到特定版本的libpcap。
要求
- 这是一个完全独立的软件包。在正常安装过程中,所有必需的组件都会被安装。
注意:目前仅适用于Windows操作系统。
安装
先决条件
Python 3.9或更高版本
使用C libpcap 1.8.1作为主要测试环境。
pip和setuptools
要安装,请运行
python -m pip install --upgrade libpcap
开发
先决条件
开发严格基于tox。要安装它,请运行
python -m pip install --upgrade tox
访问开发页面。
从源代码安装
克隆源代码
git clone https://github.com/karpierz/libpcap.git libpcap
并运行
python -m pip install ./libpcap
或以开发模式运行
python -m pip install --editable ./libpcap
许可证
版权所有(c)2016-2024 Adam Karpierz根据BSD许可证授权请参阅随附的LICENSE文件。
变更日志
1.11.0b11 (2024-09-30)
停止支持Python 3.8
升级到最新的libpcap API 1.11.0-PRE
同步/升级测试到最新的libpcap API 1.11.0-PRE
设置(依赖项)更新。
1.11.0b10 (2024-08-13)
添加对Python 3.13的支持
对win32的改进和清理。
源代码重构和清理。
设置(依赖项)更新。
1.11.0b8 (2024-01-30)
升级到最新的libpcap API 1.11.0-PRE
同步/升级测试到最新的libpcap API 1.11.0-PRE
设置更新(现在基于tox >= 4.0)。
添加对Python 3.12的支持
停止支持Python 3.7
添加对PyPy 3.10的支持
停止支持PyPy 3.7和3.8
更新版权年份。
清理。
1.11.0b7 (2022-09-10)
升级到最新的libpcap API 1.11.0-PRE
同步/升级测试到最新的libpcap API 1.11.0-PRE
添加nonblocktest.py
tox配置已移动到pyproject.toml
1.11.0b6 (2022-08-25)
升级到最新的libpcap API 1.11.0-PRE
设置修复和更新。
1.11.0b5 (2022-07-28)
升级到最新的libpcap API 1.11.0-PRE
添加对macOS x64的支持(感谢Erik Rainey emrainey@Github 和 lydia-hogan@Github!)。
添加对Python 3.10和3.11的支持
添加对PyPy 3.7、3.8和3.9的支持
设置更新(目前主要基于pyproject.toml)。
1.11.0b4 (2022-01-10)
停止支持Python 3.6。
更新版权年份。
设置更新。
1.11.0b2 (2021-11-10)
升级到最新的libpcap API 1.11.0-PRE
更新版权年份。
向后不兼容 - libpcap.cfg现在是一个常规INI文件。
设置更新。
1.10.0b15 (2020-10-18)
添加对Python 3.9的支持。
停止支持Python 3.5。
移除对atpublic的依赖。
可以程序化地指定后端。
将系统libpcap设置为默认后端。
修复了一个关键的设置错误(感谢msrst@Github!)。
通用更新和清理。
修复了文档设置。
1.10.0b10 (2020-01-16)
添加对Python 3.8的支持。
停止支持Python 3.4。
停止支持Python 2。
升级到最新的libpcap API 1.10.0-PRE
将npcap设置为默认后端。
由于可能的许可证问题,已删除内部npcap的dll-s。
- 添加对Linux x64的支持添加内部tcpdump的libpcap.so v.1.9.1,支持远程捕获。也可以使用系统tcpdump的libpcap.so(通过libpcap.libpcap.cfg)。
添加ReadTheDocs配置文件。
设置更新和清理。
1.10.0b5 (2019-09-16)
升级到最新的libpcap API 1.10.0-PRE
将npcap的libpcap dll-s升级到0.996
轻微的设置修复和改进。
1.10.0b3 (2019-02-15)
升级到最新的libpcap API 1.10.0-PRE
将npcap的libpcap dll-s升级到0.99rc9
更新所需的setuptools版本。
轻微的设置改进。
测试更新。
1.10.0b1 (2018-11-08)
升级到最新的libpcap API 1.10.0-PRE
将npcap的libpcap dll-s升级到0.99rc7
更新所需的setuptools版本。
1.0.0b14 (2018-05-09)
更新所需的setuptools版本。
1.0.0b13 (2018-05-09)
将npcap的libpcap dll-s升级到0.99rc5
1.0.0b12 (2018-05-08)
升级到最新的libpcap。
1.0.0b10 (2018-03-31)
升级到最新的libpcap。
改进和简化设置和打包。
改进和更新测试。
1.0.0b9 (2018-02-26)
改进和简化设置和打包。
1.0.0b8 (2018-02-25)
升级到最新的libpcap API 1.9.0
设置改进。
1.0.0b7 (2017-12-18)
修复平台检测错误(感谢Dan ???)。
1.0.0b6 (2017-10-11)
升级到libpcap API 1.9.0
1.0.0b5 (2017-10-08)
升级到libpcap API 1.8.1
添加对Npcap libpcap 的支持。
1.0.0b4 (2017-10-04)
第四次Beta版本发布。
1.0.0b3 (2017-08-28)
第三次Beta版本发布。
1.0.0b1 (2017-08-27)
第一次Beta版本发布。
1.0.0a16 (2017-08-26)
下一个Alpha版本发布。
1.0.0a0 (2017-06-08)
第一个Alpha版本发布。
0.0.1 (2016-09-23)
初始版本。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
libpcap-1.11.0b11.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bdff44f67b62615c0b23047fc4c82d53e6bcefbe3602e25340c9e190e7968392 |
|
MD5 | 313a75c7cbf0f9748a828091e74f5a91 |
|
BLAKE2b-256 | 0999e086869a0718a6eeccd2f67a313d318eea9cd89fa7dd5d438c0f21485560 |
libpcap-1.11.0b11-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc76624eae6032e0a6bd3eeade36936f2a22f90792d2ffd60e6c009af5378445 |
|
MD5 | c1b65c663b700bf9da8bd7567fccabb8 |
|
BLAKE2b-256 | 845fefe1a9dda4449ac2f36d184a7ab77aed5bfa3bdcb5293522e300b3521c17 |