
إطار عمل متقدم لاختبار الإجهاد متعدد التقنيات أداة تعليمية في مجال الأمن السيبراني لاختبار الشبكات عالي الأداء
إطار عمل متقدم لاختبار التحمل متعدد التقنيات
أداة تعليمية للأمن السيبراني لاختبار الشبكات عالية الأداء
Xerxes-Ultimate يمثل الجيل التالي من أدوات اختبار تحمل الشبكات، المصمم خصيصًا لمختبرات الأمن السيبراني التعليمية. مبني على أساس أداة Xerxes الأصلية لرفض الخدمة (DoS)، تستفيد هذه النسخة من أحدث تقنيات تسريع العتاد لتحقيق مستويات أداء غير مسبوقة مع الحفاظ على الشفافية التعليمية.
| المقياس | Xerxes الأصلي | Xerxes-Ultimate | التحسين |
|---|---|---|---|
| الحزم/ثانية | ~50,000 PPS | 60,000,000+ PPS | 🚀 أسرع بـ 1,200x |
| عرض النطاق | ~100 Mbps | 60+ Gbps | 🔥 زيادة بـ 600x |
| الاتصالات المتزامنة | ~1,000 | 1,000,000+ | ⚡ أكثر بـ 1,000x |
| كفاءة المعالج | استخدام 100% من المعالج | استخدام أقل من 30% من المعالج | 💡 تخفيض بنسبة 70% |
| استخدام الذاكرة | تجزئة عالية | تجمعات محسّنة | 🎯 كفاءة 90% |
| زمن الاستجابة | ~1ms | أقل من 100 نانوثانية | ⚡ أسرع بـ 10,000x |
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 متعدد 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);
**الفوائد:**
- **زيادة أداء الإدخال/الإخراج بنسبة 400%**
- **نقل بدون نسخ من GPU إلى 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
# CUDA Toolkit (if not installed)
wget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run
sudo sh cuda_12.3.0_545.23.06_linux.run
# DPDK
wget http://fast.dpdk.org/rel/dpdk-22.11.1.tar.xz
tar xf dpdk-22.11.1.tar.xz
cd dpdk-22.11.1
meson setup build
cd build && ninja && sudo ninja install
CentOS/RHEL:```bash
sudo dnf install epel-release sudo dnf config-manager --set-enabled powertools