Tool
Scapy
Script packet dissection, construction, request/reply matching and capture-file analysis in Python. Custom packet fields and layer bindings let analysts encode understood wire formats and investigate protocol behavior.
Requirements and limitations
- Reviewed stable release: 2.8.0, published 2026-10-02. Its package metadata requires Python >=3.7,<4; upstream says the 2.8 major version is the last to support Python 3.7 and 3.8. Use release-matched documentation rather than older cached version pages.
- Linux, macOS and BSD have documented platform support; Windows requires Npcap. Live capture or packet transmission needs suitable interfaces and privileges. Offline capture analysis is a separate workflow, and libpcap requirements vary by platform and feature.
- Optional features have additional dependencies, such as cryptography for cryptographic functionality and plotting tools for visual reports. Unknown formats require suitable custom Packet/Field definitions and bindings; dissection does not automatically infer complete protocol semantics or peer implementations.
- GPL-2.0-only in the reviewed package metadata, with dependency and capture-driver licenses separate. The 2.8.0 release notes describe security fixes; this entry is source-reviewed, not an independent runtime or security assessment. No installation, capture or packet transmission was performed.
About this entry
- Type
- Tool
- Category
- Protocol analysis tools
- Relationship
- Foundation tool
- Targets
- Protocol
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- https://github.com/secdev/scapy/blob/e2e35c07bce2f40e7513e1b29a6d300d5329dbc3/README.md
- https://github.com/secdev/scapy/blob/e2e35c07bce2f40e7513e1b29a6d300d5329dbc3/pyproject.toml
- https://github.com/secdev/scapy/blob/e2e35c07bce2f40e7513e1b29a6d300d5329dbc3/LICENSE
- https://github.com/secdev/scapy/blob/e2e35c07bce2f40e7513e1b29a6d300d5329dbc3/doc/scapy/installation.rst
- https://github.com/secdev/scapy/blob/e2e35c07bce2f40e7513e1b29a6d300d5329dbc3/doc/scapy/build_dissect.rst
- https://scapy.readthedocs.io/en/stable/introduction.html
- https://github.com/secdev/scapy/releases/tag/v2.8.0
- https://pypi.org/project/scapy/2.8.0/