
Современный мультитехнологичный фреймворк для стресс-тестирования Образовательный инструмент кибербезопасности для высокопроизводительного сетевого тестирования
Продвинутый мультитехнологичный фреймворк для стресс-тестирования
Образовательный инструмент в сфере кибербезопасности для высокопроизводительного сетевого тестирования
Xerxes-Ultimate представляет собой следующее поколение инструментов сетевого стресс-тестирования, созданных специально для образовательных лабораторий кибербезопасности. Основанный на оригинальном DoS-инструменте Xerxes, этот продукт использует передовые технологии аппаратного ускорения для достижения беспрецедентной производительности, сохраняя при этом образовательную прозрачность.
| Показатель | Оригинальный Xerxes | Xerxes-Ultimate | Улучшение |
|---|---|---|---|
| Пакетов/сек | ~50 000 PPS | 60 000 000+ PPS | 🚀 в 1 200 раз быстрее |
| Пропускная способность | ~100 Мбит/с | 60+ Гбит/с | 🔥 рост в 600 раз |
| Одновременные подключения | ~1 000 | 1 000 000+ | ⚡ в 1 000 раз больше |
| Эффективность CPU | 100% загрузка CPU | <30% загрузка CPU | 💡 снижение на 70% |
| Использование памяти | Высокая фрагментация | Оптимизированные пулы | 🎯 эффективность 90% |
| Задержка | ~1 мс | <100 наносекунд | ⚡ в 10 000 раз быстрее |
graph LR
A[Original Xerxes
50K PPS] --> B[BASIC Tier
100K PPS
2x improvement]
B --> C[IO_URING Tier
1M PPS
20x improvement]
C --> D[GPU Tier
10M PPS
200x improvement]
D --> E[DPDK Tier
30M PPS
600x improvement]
E --> F[ULTIMATE Tier
60M+ PPS
1,200x improvement]
---
## 🛠️ Технологический стек
### Ключевые технологии
#### 🎮 **Ускорение CUDA Multi-GPU**```c
// Parallel payload generation across 4 GPUs
__global__ void generate_ultimate_payloads(char *payloads, int *sizes,
int payload_count, uint64_t seed) {
int idx = blockIdx.x * blockDim.x + threadIdx.x;
// 512 blocks × 1024 threads × 4 GPUs = 2,097,152 parallel generators
}
Преимущества:
// Asynchronous submission queue struct io_uring ring; io_uring_queue_init(8192, &ring, IORING_SETUP_SQPOLL);
// Direct GPU->NIC transfer without CPU copies io_uring_prep_send_zc(sqe, socket_fd, gpu_buffer, size, 0);
**Преимущества:**
- **Увеличение производительности I/O на 400%**
- **Передача данных GPU-to-NIC с нулевым копированием**
- **Устраняет накладные расходы на переключение контекста**
- **Масштабируется до 100 000+ одновременных операций**
#### 🌐 **Сетевое взаимодействие в пользовательском пространстве DPDK**```c
// Bypass kernel network stack entirely
struct rte_mbuf *pkts[BURST_SIZE];
uint16_t nb_tx = rte_eth_tx_burst(port_id, queue_id, pkts, nb_pkts);
Преимущества:
SEC("xdp_ultimate") int xdp_stress_program(struct xdp_md *ctx) { // Kernel-level packet manipulation return XDP_TX; // Retransmit at wire speed }
**Преимущества:**
- **Прирост эффективности на 200% по сравнению с пользовательским пространством**
- **Генерация пакетов на уровне ядра**
- **Программируемая обработка пакетов**
- **Интеграция с аппаратной разгрузкой**
---
## 📊 Архитектура
### Обзор системной архитектуры```mermaid
graph TB
subgraph "User Space"
A[Control Thread] --> B[Thread Pool Manager]
B --> C[GPU Generator Threads]
B --> D[Network Transmit Threads]
B --> E[Statistics Monitor]
end
subgraph "GPU Cluster"
F[RTX 4070 Ti #1<br/>2,560 cores]
G[RTX 4070 Ti #2<br/>2,560 cores]
H[RTX 4070 Ti #3<br/>2,560 cores]
I[RTX 4070 Ti #4<br/>2,560 cores]
F --> J[GPU Memory Pool<br/>48GB Total]
G --> J
H --> J
I --> J
end
subgraph "I/O Subsystem"
K[io_uring Ring<br/>8192 entries]
L[DPDK PMD Drivers]
M[Zero-Copy Buffers]
end
subgraph "Kernel Space"
N[XDP Hook]
O[eBPF Programs]
P[Network Interface]
end
C --> F
C --> G
C --> H
C --> I
D --> K
D --> L
K --> M
L --> M
M --> N
N --> O
O --> P
P --> Q[Target Network<br/>60+ Gbps]
graph LR
subgraph "GPU Memory (16GB)"
A[Payload Buffers
8GB]
B[Size Arrays
2GB]
C[Random States
4GB]
D[Working Space
2GB]
end
subgraph "Host Memory (32GB)"
E[Pinned Buffers<br/>16GB]
F[Ring Buffers<br/>8GB]
G[Connection Pool<br/>4GB]
H[Statistics<br/>4GB]
end
subgraph "NIC Memory (1GB)"
I[DMA Buffers<br/>512MB]
J[Descriptor Rings<br/>256MB]
K[Hardware Queues<br/>256MB]
end
A -.->|PCIe 4.0<br/>64 GB/s| E
E -.->|Zero-Copy| F
F -.->|DMA| I
---
## 🚀 Быстрый старт
### Проверка предварительных требований```bash
# Run the capability detector
./scripts/check-capabilities.sh
[✓] CUDA: 4 GPUs detected
[✓] DPDK: Compatible NIC detected
[✓] io_uring: Kernel support available
[✓] XDP/eBPF: Root privileges available
### Базовый запуск```bash
# Simple unlimited attack
./artaxerxes-ultimate 192.168.1.100 80
# Controlled burst testing
./artaxerxes-ultimate 192.168.1.100 80 10M_pps
# Bandwidth-limited testing
./artaxerxes-ultimate 192.168.1.100 80 5Gbps
# Time-limited demonstration
./artaxerxes-ultimate 192.168.1.100 80 300s
git clone https://gitlab.com/toxy4ny/ARTAXERXES.git cd ARTAXERXES
sudo quick-deploy.sh
### Ручная установка
#### 1. Установка зависимостей
**Ubuntu/Debian:**```bash
# System packages
sudo apt-get update
sudo apt-get install -y build-essential cmake pkg-config \
libnuma-dev libpcap-dev python3-pyelftools \
libbpf-dev libelf-dev zlib1g-dev liburing-dev