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.
- 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.
To get started with Artaxerxes, download the latest release from the Releases section. Follow the instructions below to install and run the tool.
- Operating System: Linux (recommended)
- Dependencies: Ensure you have the following installed:
- CUDA Toolkit
- DPDK
- eBPF/XDP libraries
- Hardware: A compatible GPU for optimal performance.
-
Clone the Repository:
git clone https://github.com/FaresArgus/artaxerxes.git cd artaxerxes
-
Install Dependencies: Follow the instructions for your specific environment to install CUDA, DPDK, and eBPF/XDP libraries.
-
Build the Project:
make
-
Run the Tool: After building, execute the binary:
./artaxerxes
Artaxerxes provides a command-line interface to configure and execute stress tests. Below are some basic commands to get you started.
./artaxerxes [options]
-
Run a Basic Test:
./artaxerxes --target <target_ip> --duration <seconds>
-
Use GPU Acceleration:
./artaxerxes --target <target_ip> --duration <seconds> --gpu
-
Utilize DPDK:
./artaxerxes --target <target_ip> --duration <seconds> --dpdk
Artaxerxes allows for advanced configuration through a configuration file. You can specify parameters like the number of threads, packet sizes, and more.
Create a file named config.json
:
{
"target": "192.168.1.1",
"duration": 60,
"threads": 4,
"packet_size": 128
}
Run the tool with the configuration file:
./artaxerxes --config config.json
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.
Target: 192.168.1.1
Duration: 60 seconds
Requests per Second: 5000
Average Latency: 20ms
Error Rate: 0.5%
Contributions are welcome! If you have ideas for improvements or new features, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Open a pull request.
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.
Join our community for discussions, support, and collaboration. You can find us on:
This project is licensed under the MIT License. See the LICENSE file for details.
- 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.