JarryShaw/PyPCAPKit

GitHub: JarryShaw/PyPCAPKit

PyPCAPKit 是一个基于 Python 的功能全面的网络数据包分析库,专注于 PCAP 文件的提取、构建与深度解析。

Stars: 262 | Forks: 33

# PyPCAPKit - 综合网络数据包分析库 如需任何技术和/或维护信息, 请参阅 |docs|_。 .. |docs| replace:: **官方文档** .. _docs: https://jarryshaw.github.io/PyPCAPKit/ PyPCAPKit 项目是一个专注于网络数据包 解析和分析的开源 Python 程序,它作为一个全面的 `PCAP`_ 文件提取、 构建和分析库运作。 ## 整个项目支持 **Python 3.6** 或更高版本。 ## 关于 PyPCAPKit 是一个全面的 Python 原生网络数据包分析库, 使用 `DictDumper`_ 作为其格式化输出转储器。 与流行的 PCAP 文件提取器(如 `Scapy`_、`DPKT`_、`PyShark`_ 等)不同,``pcapkit`` 的设计更加全面,这意味着 它能够提供有关数据包的更详细信息,并为用户提供 更具 *Pythonic* 风格的交互接口。 ## 模块结构 在 ``pcapkit`` 中,所有文件可以描述为以下八个部分。 - 接口 (``pcapkit.interface``) ``pcapkit`` 库的用户界面,用于 标准化并简化该库的使用。 - 基础 (``pcapkit.foundation``) 综合文件 I/O 和协议分析,协调 所有网络层中的信息交换,并为 ``pcapkit`` 提供基础功能。 - 协议 (``pcapkit.protocols``) 所有协议族的集合,包含详细的 实现和方法。 - 工具 (``pcapkit.utilities``) ``pcapkit`` 的辅助函数和工具。 - 核心工具包 (``pcapkit.corekit``) ``pcapkit`` 实现的核心工具,主要用于 内部数据处理和数据结构。 - 工具包 (``pcapkit.toolkit``) ``pcapkit`` 的辅助工具,支持通过统一接口 使用多种提取引擎。 - 转储工具包 (``pcapkit.dumpkit``) ``pcapkit`` 的文件输出格式化程序。 - 常量 (``pcapkit.const``) ``pcapkit`` 中使用的常量枚举,用于协议族的提取和表示。 ## 引擎对比 由于 ``pcapkit`` 的一般开销,其提取过程 大约每个数据包耗时 *0.2* 毫秒,这虽然令人印象深刻,但考虑到 ``pcapkit`` 是一个**全面**的数据包处理模块,与市场上其他流行的提取引擎相比还不够快。 此外,``pcapkit`` 引入了替代提取引擎来加速 此过程。目前 ``pcapkit`` 支持 `Scapy`_、`DPKT`_ 和 `PyShark`_。 ### 测试环境 .. list-table:: * - 操作系统 - macOS Ventura 13.4.1 * - 芯片 - Apple M2 Pro * - 内存 - 16 GB ### 测试结果 ============= =========================== 引擎 性能 (毫秒/数据包) ============= =========================== ``dpkt`` 0.010390_056723 ``scapy`` 0.091690_233567 ``pcapkit`` 0.200390_390390 ``pyshark`` 24.682185_018351 ## ============= =========================== ## 安装 .. note:: ``pcapkit`` 支持 **3.6 及以上** 的 Python 版本。 只需运行以下命令即可从 PyPI 安装当前版本: .. code-block:: shell pip install pypcapkit 或者从 git 仓库安装最新版本: .. code-block:: shell git clone https://github.com/JarryShaw/PyPCAPKit.git cd pypcapkit pip install -e . # 并可随时更新 git pull 由于 ``pcapkit`` 支持多种提取引擎和广泛的 插件功能,您可能需要安装可选组件: .. code-block:: shell # 仅安装 DPKT pip install pypcapkit[DPKT] # 仅安装 Scapy pip install pypcapkit[Scapy] # 仅安装 PyShark pip install pypcapkit[PyShark] # 安装所有可选包 pip install pypcapkit[all] # 或显式执行此操作 pip install pypcapkit dpkt scapy pyshark 对于 CLI 用法,您需要安装可选包: .. code-block:: shell pip install pypcapkit[cli] # 或显式安装... pip install pypcapkit emoji .. _PCAP: https://en.wikipedia.org/wiki/Pcap .. _Scapy: https://scapy.net .. _DPKT: https://dpkt.readthedocs.io .. _PyShark: https://kiminewt.github.io/pyshark .. _DictDumper: https://github.com/JarryShaw/DictDumper
标签:DPKT替代, PCAP, Scapy替代, 二进制发布, 协议分析, 协议栈, 开源工具, 数据包解析, 文件提取, 权限提升, 流量取证, 网络嗅探, 网络安全, 网络流量分析, 网络编程, 逆向工具, 隐私保护