{"library":"python-pcapng","title":"Python pcap-ng Library","description":"Python-pcapng is a pure-Python library designed to read and write the pcap-ng file format, which is an evolution of the traditional pcap format used by packet sniffers like Wireshark and tcpdump. It is currently at version 2.1.1 and has an active development cycle, with the last release in August 2022. The library focuses on parsing and generating pcap-ng files, providing a programmatic way to interact with these capture files where other tools might fall short.","language":"python","status":"active","last_verified":"Sun May 17","install":{"commands":["pip install python-pcapng"],"cli":null},"imports":["from pcapng import FileScanner","from pcapng.writer import FileWriter","from pcapng.blocks import SectionHeaderBlock"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import io\nfrom pcapng import FileScanner\n\n# For demonstration, simulate a pcap-ng file in memory\ndummy_pcapng_data = b'\\n\\r\\r\\n\\x1a\\x2b\\x3c\\x4d\\x00\\x00\\x00\\x00\\x1c\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\x1c\\x00\\x00\\x00'\n# This is a minimal, invalid SHB; a real file would be much larger and structured.\n# For a proper example, generate a file using the library's writing capabilities.\n\ntry:\n    with io.BytesIO(dummy_pcapng_data) as fp:\n        scanner = FileScanner(fp)\n        for block in scanner:\n            print(f\"Found block: {type(block).__name__}, Length: {block.block_len}\")\n            # You can access block attributes here, e.g., block.options, block.timestamp\nexcept Exception as e:\n    print(f\"Error reading dummy pcap-ng: {e}\")\n    print(\"Note: The dummy_pcapng_data is highly simplified and likely incomplete for full parsing.\")\n    print(\"For a functional example, use a real pcap-ng file or generate one using FileWriter.\")","lang":"python","description":"The primary use case for `python-pcapng` is to read and parse existing pcap-ng files. This quickstart demonstrates how to open a file-like object and iterate through its blocks using `FileScanner`. Each `block` object will be an instance of a specific pcap-ng block type, allowing access to its parsed data. To handle actual network traffic, replace `io.BytesIO` with `open('your_capture.pcapng', 'rb')`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-17","installed_version":"2.1.1","pypi_latest":"2.1.1","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.5,"avg_import_s":0.02,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.9,"disk_size":"18.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.01,"mem_mb":0.9,"disk_size":"19M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.9,"disk_size":"19.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.02,"mem_mb":0.9,"disk_size":"20M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"11.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"12M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.8,"disk_size":"11.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.4,"import_time_s":0.02,"mem_mb":0.7,"disk_size":"12M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.02,"mem_mb":0.9,"disk_size":"17.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"python-pcapng","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.01,"mem_mb":0.9,"disk_size":"18M"}]}}