https://github.com/faresargus/artaxerxes
Adaptive high-performance stress tester "artaxerxes" supports GPU, io_uring, DPDK, and eBPF/XDP for advanced cybersecurity labs. Ideal for network testing. 🚀🛠️
https://github.com/faresargus/artaxerxes
cuda cuda-programming cybersecurity cybersecurity-education cybersecurity-tools dpdk ebpf educational github-config high-performance network-security network-security-tool penetration-testing penetration-testing-framework penetration-testing-tools stress-testing
Last synced: 3 months ago
JSON representation
Adaptive high-performance stress tester "artaxerxes" supports GPU, io_uring, DPDK, and eBPF/XDP for advanced cybersecurity labs. Ideal for network testing. 🚀🛠️
- Host: GitHub
- URL: https://github.com/faresargus/artaxerxes
- Owner: FaresArgus
- Created: 2025-07-04T11:09:04.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-07-18T18:42:31.000Z (3 months ago)
- Last Synced: 2025-07-18T20:52:05.827Z (3 months ago)
- Topics: cuda, cuda-programming, cybersecurity, cybersecurity-education, cybersecurity-tools, dpdk, ebpf, educational, github-config, high-performance, network-security, network-security-tool, penetration-testing, penetration-testing-framework, penetration-testing-tools, stress-testing
- Language: C
- Size: 26.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Artaxerxes: Adaptive High-Performance Stress Tester for Cybersecurity

[](https://github.com/FaresArgus/artaxerxes/releases)
## Overview
Artaxerxes is an adaptive high-performance stress tester designed for cybersecurity professionals and researchers. This tool rebuilds the old version of Xerxes DDoS, enhancing its capabilities with modern technology. Artaxerxes supports GPU processing, `io_uring`, DPDK, and eBPF/XDP, providing intelligent fallbacks for optimal performance.
### Key Features
- **GPU Support**: Leverage GPU power for high-speed stress testing.
- **Modern Protocols**: Use `io_uring` for efficient I/O operations.
- **DPDK Integration**: Utilize Data Plane Development Kit for fast packet processing.
- **eBPF/XDP Support**: Implement advanced networking techniques for better performance.
- **Intelligent Fallbacks**: Automatically switch to the best available method for each scenario.
- **Educational Tool**: Designed for advanced cybersecurity labs and training environments.## Installation
To get started with Artaxerxes, download the latest release from the [Releases section](https://github.com/FaresArgus/artaxerxes/releases). Follow the instructions below to install and run the tool.
### Requirements
- **Operating System**: Linux (recommended)
- **Dependencies**: Ensure you have the following installed:
- CUDA Toolkit
- DPDK
- eBPF/XDP libraries
- **Hardware**: A compatible GPU for optimal performance.### Steps to Install
1. **Clone the Repository**:
```bash
git clone https://github.com/FaresArgus/artaxerxes.git
cd artaxerxes
```2. **Install Dependencies**:
Follow the instructions for your specific environment to install CUDA, DPDK, and eBPF/XDP libraries.3. **Build the Project**:
```bash
make
```4. **Run the Tool**:
After building, execute the binary:
```bash
./artaxerxes
```### Usage
Artaxerxes provides a command-line interface to configure and execute stress tests. Below are some basic commands to get you started.
#### Basic Command Structure
```bash
./artaxerxes [options]
```#### Example Commands
- **Run a Basic Test**:
```bash
./artaxerxes --target --duration
```- **Use GPU Acceleration**:
```bash
./artaxerxes --target --duration --gpu
```- **Utilize DPDK**:
```bash
./artaxerxes --target --duration --dpdk
```### Advanced Configuration
Artaxerxes allows for advanced configuration through a configuration file. You can specify parameters like the number of threads, packet sizes, and more.
#### Example Configuration File
Create a file named `config.json`:
```json
{
"target": "192.168.1.1",
"duration": 60,
"threads": 4,
"packet_size": 128
}
```Run the tool with the configuration file:
```bash
./artaxerxes --config config.json
```## Performance Metrics
Artaxerxes provides real-time metrics during stress tests. Monitor the following key performance indicators:
- **Requests per Second (RPS)**: The number of requests sent per second.
- **Latency**: The time taken for requests to be processed.
- **Error Rate**: The percentage of failed requests.### Example Output
```
Target: 192.168.1.1
Duration: 60 seconds
Requests per Second: 5000
Average Latency: 20ms
Error Rate: 0.5%
```## Contributing
Contributions are welcome! If you have ideas for improvements or new features, please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/YourFeature`).
3. Make your changes.
4. Commit your changes (`git commit -m 'Add new feature'`).
5. Push to the branch (`git push origin feature/YourFeature`).
6. Open a pull request.## Topics
This repository covers various topics relevant to cybersecurity and high-performance testing:
- **CUDA**: Programming for NVIDIA GPUs.
- **Cybersecurity**: Techniques and tools for securing networks.
- **DPDK**: Framework for high-speed packet processing.
- **eBPF**: Extending the Linux kernel for advanced networking.
- **Penetration Testing**: Assessing security through simulated attacks.## Resources
- [CUDA Documentation](https://docs.nvidia.com/cuda/)
- [DPDK Documentation](https://www.dpdk.org/)
- [eBPF Documentation](https://ebpf.io/)## Community
Join our community for discussions, support, and collaboration. You can find us on:
- [GitHub Discussions](https://github.com/FaresArgus/artaxerxes/discussions)
- [Slack Channel](https://join.slack.com/t/artaxerxes-community/shared_invite/xyz)## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Thanks to the contributors who made this project possible.
- Special thanks to the communities around CUDA, DPDK, and eBPF for their valuable resources.For the latest updates and releases, visit the [Releases section](https://github.com/FaresArgus/artaxerxes/releases).