Sonic Engine is a python package for the AtlasSonic project
Project description
Sonic Engine: Stream Processing and Reporting Extensions Manager
Sonic Engine is a robust extension manager tailored for stream processing and reporting in the realm of Network Traffic Analysis (NTA). Powered by Python, Sonic Engine excels at efficiently managing and coordinating a diverse range of extensions designed for various analytical tasks related to network traffic.
Key Features
-
Extension-Based Architecture: Sonic Engine embraces a modular architecture, allowing users to extend its capabilities through extensions. Each extension is carefully crafted to address specific aspects of network traffic analysis.
-
Efficient Extension Coordination: The engine excels in orchestrating communication between extensions, ensuring a cohesive and efficient workflow. This seamless coordination enhances the overall performance of the analysis.
-
Python-Powered: Implemented as a Python package, Sonic Engine leverages the flexibility and power of Python programming, making it accessible and extensible for users with diverse skill sets.
Use Cases
Sonic Engine finds its application in a variety of scenarios related to Network Traffic Analysis:
-
Real-time Stream Processing: Process incoming network data in real-time, enabling rapid analysis and insights.
-
Custom Reporting: Generate customized reports based on the analyzed network traffic, facilitating comprehensive insights and trend analysis.
-
Task-Specific Analysis: Tailor the engine's capabilities by selecting and configuring extensions designed for specific analysis tasks, ensuring a focused and efficient analysis.
Templates
| Template | Description | Link |
|---|---|---|
| Hello World | This template includes a config.yaml file, acting as the orchestrator for Hello World extensions within the Sonic Engine ecosystem. Developers can customize the configuration to specify how the extensions interact and contribute to the overall functionality. The config.yaml file serves as a central hub for managing the collaboration and coordination between different extensions. | GitHub |
How to use the template
Clone the template repository:
git clone https://github.com/AhmedCoolProjects/sonic-engine-template-hello-world.git
Install Sonic Engine package:
pip install sonic-engine
Run the template:
python app.py
You can check the logs in real-time on the terminal or in the logs folder in the reporting extension
Extensions
| Extension | Description | Link |
|---|---|---|
| Hello World Feature Extension | A tiny extension that uses scapy package to extract packets infos from a pcap file. For now, it's only intended to extract the src_ip and dst_ip from each packet and publish them as a dictionary object to the dedicated redis channel. | GitHub |
| Hello World Inference Extension | A tiny extension that uses VirusTotal API to request a complete analysis and predictions for src_ip addresses extracted by Hello World Feature Extension. After each response, the extension publish an object includes an id, timestamp, the data, result and the requested url into another redis channel to provide this object for other extensions that may use it. | GitHub |
| Hello World Reporting Extension | A tiny extension that subscribe a redis channel and log the data in a specific loggin format. The extension write the logs in a log text file logs/log.txt. | GitHub |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sonic_engine-2.1.15.tar.gz.
File metadata
- Download URL: sonic_engine-2.1.15.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c007e004e259de8d78a4d09447e242fca5eb2c427ed37bec5b14c5e3b3d849f
|
|
| MD5 |
5765676086347747b190ce6816673eae
|
|
| BLAKE2b-256 |
dfbe0af0078c1eede6397c51be250313fbbabbb376aad0544dae5550ee696daa
|