An extensible Python framework for network forensic analysis through plugin-based dissection of packet captures.
Dshell is an extensible network forensic analysis framework written in Python. It enables security professionals and researchers to dissect network packet captures (PCAPs) through a plugin-based system, allowing for deep inspection of protocols, reassembly of network streams, and custom analysis workflows. The framework solves the problem of needing flexible, programmable tools for investigating network traffic in security incidents and research scenarios.
Network security analysts, forensic investigators, malware researchers, and penetration testers who need to analyze packet captures for threat detection, incident response, or protocol research.
Developers choose Dshell for its extensible plugin architecture that enables rapid creation of custom decoders, its support for complex analysis through plugin chaining, and its focus on providing a clean framework that abstracts low-level packet processing complexities.
Dshell is a network forensic analysis framework.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables rapid development of custom decoders for specific protocols or threats, as shown by the plugin-based system allowing external plugin packs and chaining.
Reconstructs TCP and UDP streams for full session analysis, demonstrated in examples like following HTTP sessions from sample PCAPs.
Supports multiple output handlers including JSON, PCAP, and Elasticsearch, with the ability to create custom outputs for integration into other tools.
Allows combining multiple plugins in processing workflows, such as using country+netflow plugins to filter traffic by geographic location.
Explicitly developed on Ubuntu 20.04 LTS, limiting use on other operating systems without significant workarounds or virtualization.
Requires installation of multiple Python packages and external data sets like MaxMind GeoIP, adding steps and potential configuration issues.
Developing new plugins requires deep understanding of the framework, as evidenced by the separate Developer Guide and need for Python programming skills.
Relies heavily on plugins for protocol support; without community or custom plugins, built-in decoders may not cover all use cases, unlike all-in-one tools.