{"id":29194235,"url":"https://github.com/toxy4ny/artaxerxes","last_synced_at":"2025-10-08T14:36:44.268Z","repository":{"id":302254350,"uuid":"1011775278","full_name":"toxy4ny/artaxerxes","owner":"toxy4ny","description":"Artaxerxes - Adaptive High-Performance Stress Tester v.1.0. Rebuild old version Xerxes DDoS. Supports GPU+io_uring, DPDK, eBPF/XDP with intelligent fallbacks. Educational tool for advanced cybersecurity labs","archived":false,"fork":false,"pushed_at":"2025-07-01T10:34:42.000Z","size":28,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T11:41:19.970Z","etag":null,"topics":["cuda","cuda-programming","cybersecurity","cybersecurity-education","cybersecurity-tools","dpdk","ebpf","educational","high-performance","network-security","network-security-tool","penetration-testing","penetration-testing-framework","penetration-testing-tools","security-tools","stress-testing"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toxy4ny.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T10:18:22.000Z","updated_at":"2025-07-01T11:04:53.000Z","dependencies_parsed_at":"2025-07-01T11:41:21.583Z","dependency_job_id":"611ffba7-78d3-43f5-9ef0-91b3700bd1ca","html_url":"https://github.com/toxy4ny/artaxerxes","commit_stats":null,"previous_names":["toxy4ny/artaxerxes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/toxy4ny/artaxerxes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toxy4ny%2Fartaxerxes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toxy4ny%2Fartaxerxes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toxy4ny%2Fartaxerxes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toxy4ny%2Fartaxerxes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toxy4ny","download_url":"https://codeload.github.com/toxy4ny/artaxerxes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toxy4ny%2Fartaxerxes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278959485,"owners_count":26075880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cuda","cuda-programming","cybersecurity","cybersecurity-education","cybersecurity-tools","dpdk","ebpf","educational","high-performance","network-security","network-security-tool","penetration-testing","penetration-testing-framework","penetration-testing-tools","security-tools","stress-testing"],"created_at":"2025-07-02T04:01:01.257Z","updated_at":"2025-10-08T14:36:44.205Z","avatar_url":"https://github.com/toxy4ny.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# artaxerxes\nArtaxerxes - Adaptive High-Performance Stress Tester v.1.0. Supports GPU+io_uring, DPDK, eBPF/XDP with intelligent fallbacks. Educational tool for advanced cybersecurity labs\n# 🚀\n\n**Advanced Multi-Technology Stress Testing Framework**  \n*Educational Cybersecurity Tool for High-Performance Network Testing*\n\n![License](https://img.shields.io/badge/License-Educational-blue)\n![Platform](https://img.shields.io/badge/Platform-Linux-green)\n![CUDA](https://img.shields.io/badge/CUDA-12.0+-orange)\n![Performance](https://img.shields.io/badge/Performance-60+_Gbps-red)\n\n---\n\n## 📋 Table of Contents\n\n- [🎯 Overview](#-overview)\n- [⚡ Performance Comparison](#-performance-comparison)\n- [🛠️ Technology Stack](#️-technology-stack)\n- [📊 Architecture](#-architecture)\n- [🚀 Quick Start](#-quick-start)\n- [⚙️ Installation](#️-installation)\n- [💡 Usage Examples](#-usage-examples)\n- [🔧 Advanced Configuration](#-advanced-configuration)\n- [📈 Benchmarks](#-benchmarks)\n- [🧪 Laboratory Setup](#-laboratory-setup)\n- [🎓 Educational Value](#-educational-value)\n- [⚠️ Legal Disclaimer](#️-legal-disclaimer)\n\n---\n\n## 🎯 Overview\n\n**Artaxerxes** represents the next generation of network stress testing tools, designed specifically for educational cybersecurity laboratories. Built upon the foundation of the original Xerxes DoS tool, this implementation leverages cutting-edge hardware acceleration technologies to achieve unprecedented performance levels while maintaining educational transparency.\n\n### Key Innovations\n\n- **🎮 Multi-GPU Acceleration**: Harnesses up to 4x RTX 4070 Ti GPUs for payload generation\n- **⚡ Zero-Copy I/O**: Eliminates CPU overhead with io_uring and GPUDirect\n- **🌐 User-Space Networking**: Bypasses kernel bottlenecks with DPDK\n- **🔬 Kernel-Level Optimization**: XDP/eBPF for ultimate performance\n- **🧠 Adaptive Intelligence**: Machine learning-driven traffic patterns\n- **📊 Real-Time Analytics**: GPU-accelerated statistics computation\n\n---\n\n## ⚡ Performance Comparison\n\n### Original Xerxes vs Artaxerxes\n\n| Metric | Original Xerxes | Xerxes-Ultimate | **Improvement** |\n|--------|-----------------|-----------------|-----------------|\n| **Packets/Second** | ~50,000 PPS | **60,000,000+ PPS** | **🚀 1,200x faster** |\n| **Bandwidth** | ~100 Mbps | **60+ Gbps** | **🔥 600x increase** |\n| **Concurrent Connections** | ~1,000 | **1,000,000+** | **⚡ 1,000x more** |\n| **CPU Efficiency** | 100% CPU usage | **\u003c30% CPU usage** | **💡 70% reduction** |\n| **Memory Usage** | High fragmentation | **Optimized pools** | **🎯 90% efficient** |\n| **Latency** | ~1ms | **\u003c100 nanoseconds** | **⚡ 10,000x faster** |\n\n### Performance Tiers\n\n```mermaid\ngraph LR\n    A[Original Xerxes\u003cbr/\u003e50K PPS] --\u003e B[BASIC Tier\u003cbr/\u003e100K PPS\u003cbr/\u003e2x improvement]\n    B --\u003e C[IO_URING Tier\u003cbr/\u003e1M PPS\u003cbr/\u003e20x improvement]\n    C --\u003e D[GPU Tier\u003cbr/\u003e10M PPS\u003cbr/\u003e200x improvement]\n    D --\u003e E[DPDK Tier\u003cbr/\u003e30M PPS\u003cbr/\u003e600x improvement]\n    E --\u003e F[ULTIMATE Tier\u003cbr/\u003e60M+ PPS\u003cbr/\u003e1,200x improvement]\n```\n\n---\n\n## 🛠️ Technology Stack\n\n### Core Technologies\n\n#### 🎮 **CUDA Multi-GPU Acceleration**\n```c\n// Parallel payload generation across 4 GPUs\n__global__ void generate_ultimate_payloads(char *payloads, int *sizes, \n                                          int payload_count, uint64_t seed) {\n    int idx = blockIdx.x * blockDim.x + threadIdx.x;\n    // 512 blocks × 1024 threads × 4 GPUs = 2,097,152 parallel generators\n}\n```\n\n**Benefits:**\n- **2,000,000+ parallel payload generators**\n- **Cryptographically strong randomization**\n- **Zero CPU overhead for packet creation**\n- **16GB total GPU memory for buffering**\n\n#### ⚡ **io_uring Zero-Copy I/O**\n```c\n// Asynchronous submission queue\nstruct io_uring ring;\nio_uring_queue_init(8192, \u0026ring, IORING_SETUP_SQPOLL);\n\n// Direct GPU-\u003eNIC transfer without CPU copies\nio_uring_prep_send_zc(sqe, socket_fd, gpu_buffer, size, 0);\n```\n\n**Benefits:**\n- **400% I/O performance increase**\n- **Zero-copy GPU-to-NIC transfers**\n- **Eliminates context switching overhead**\n- **Scales to 100,000+ concurrent operations**\n\n#### 🌐 **DPDK User-Space Networking**\n```c\n// Bypass kernel network stack entirely\nstruct rte_mbuf *pkts[BURST_SIZE];\nuint16_t nb_tx = rte_eth_tx_burst(port_id, queue_id, pkts, nb_pkts);\n```\n\n**Benefits:**\n- **500% packet processing improvement**\n- **Direct hardware access**\n- **Predictable latency (\u003c100ns)**\n- **Line-rate 100GbE performance**\n\n#### 🔬 **XDP/eBPF Kernel Programming**\n```c\nSEC(\"xdp_ultimate\")\nint xdp_stress_program(struct xdp_md *ctx) {\n    // Kernel-level packet manipulation\n    return XDP_TX; // Retransmit at wire speed\n}\n```\n\n**Benefits:**\n- **200% efficiency gain over user-space**\n- **Kernel-level packet generation**\n- **Programmable packet processing**\n- **Integration with hardware offload**\n\n---\n\n## 📊 Architecture\n\n### System Architecture Overview\n\n```mermaid\ngraph TB\n    subgraph \"User Space\"\n        A[Control Thread] --\u003e B[Thread Pool Manager]\n        B --\u003e C[GPU Generator Threads]\n        B --\u003e D[Network Transmit Threads]\n        B --\u003e E[Statistics Monitor]\n    end\n    \n    subgraph \"GPU Cluster\"\n        F[RTX 4070 Ti #1\u003cbr/\u003e2,560 cores]\n        G[RTX 4070 Ti #2\u003cbr/\u003e2,560 cores]\n        H[RTX 4070 Ti #3\u003cbr/\u003e2,560 cores]\n        I[RTX 4070 Ti #4\u003cbr/\u003e2,560 cores]\n        \n        F --\u003e J[GPU Memory Pool\u003cbr/\u003e48GB Total]\n        G --\u003e J\n        H --\u003e J\n        I --\u003e J\n    end\n    \n    subgraph \"I/O Subsystem\"\n        K[io_uring Ring\u003cbr/\u003e8192 entries]\n        L[DPDK PMD Drivers]\n        M[Zero-Copy Buffers]\n    end\n    \n    subgraph \"Kernel Space\"\n        N[XDP Hook]\n        O[eBPF Programs]\n        P[Network Interface]\n    end\n    \n    C --\u003e F\n    C --\u003e G\n    C --\u003e H \n    C --\u003e I\n    \n    D --\u003e K\n    D --\u003e L\n    K --\u003e M\n    L --\u003e M\n    \n    M --\u003e N\n    N --\u003e O\n    O --\u003e P\n    \n    P --\u003e Q[Target Network\u003cbr/\u003e60+ Gbps]\n```\n\n### Memory Architecture\n\n```mermaid\ngraph LR\n    subgraph \"GPU Memory (16GB)\"\n        A[Payload Buffers\u003cbr/\u003e8GB]\n        B[Size Arrays\u003cbr/\u003e2GB]\n        C[Random States\u003cbr/\u003e4GB]\n        D[Working Space\u003cbr/\u003e2GB]\n    end\n    \n    subgraph \"Host Memory (32GB)\"\n        E[Pinned Buffers\u003cbr/\u003e16GB]\n        F[Ring Buffers\u003cbr/\u003e8GB]\n        G[Connection Pool\u003cbr/\u003e4GB]\n        H[Statistics\u003cbr/\u003e4GB]\n    end\n    \n    subgraph \"NIC Memory (1GB)\"\n        I[DMA Buffers\u003cbr/\u003e512MB]\n        J[Descriptor Rings\u003cbr/\u003e256MB]\n        K[Hardware Queues\u003cbr/\u003e256MB]\n    end\n    \n    A -.-\u003e|PCIe 4.0\u003cbr/\u003e64 GB/s| E\n    E -.-\u003e|Zero-Copy| F\n    F -.-\u003e|DMA| I\n```\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites Check\n\n```bash\n# Run the capability detector\n./scripts/check-capabilities.sh\n```\n\nExpected output:\n```\n🔍 Artaxerxes Capability Check\n===================================\n[✓] CUDA: 4 GPUs detected\n[✓] DPDK: Compatible NIC detected  \n[✓] io_uring: Kernel support available\n[✓] XDP/eBPF: Root privileges available\n```\n\n### Basic Launch\n\n```bash\n# Simple unlimited attack\n./Artaxerxes 192.168.1.100 80\n\n# Controlled burst testing\n./Artaxerxes 192.168.1.100 80 10M_pps\n\n# Bandwidth-limited testing  \n./Artaxerxes 192.168.1.100 80 5Gbps\n\n# Time-limited demonstration\n./Artaxerxes 192.168.1.100 80 300s\n```\n\n---\n\n## ⚙️ Installation\n\n### Automatic Installation\n\n```bash\n# Clone repository\ngit clone https://github.com/cybersec-lab/artaxerxes.git\ncd xerxes-ultimate\n\n# Run quick deployment script\nsudo ./scripts/quick-deploy.sh\n```\n\n### Manual Installation\n\n#### 1. Install Dependencies\n\n**Ubuntu/Debian:**\n```bash\n# System packages\nsudo apt-get update\nsudo apt-get install -y build-essential cmake pkg-config \\\n    libnuma-dev libpcap-dev python3-pyelftools \\\n    libbpf-dev libelf-dev zlib1g-dev liburing-dev\n\n# CUDA Toolkit (if not installed)\nwget https://developer.download.nvidia.com/compute/cuda/12.3.0/local_installers/cuda_12.3.0_545.23.06_linux.run\nsudo sh cuda_12.3.0_545.23.06_linux.run\n\n# DPDK\nwget http://fast.dpdk.org/rel/dpdk-22.11.1.tar.xz\ntar xf dpdk-22.11.1.tar.xz\ncd dpdk-22.11.1\nmeson setup build\ncd build \u0026\u0026 ninja \u0026\u0026 sudo ninja install\n```\n\n**CentOS/RHEL:**\n```bash\n# Enable EPEL and PowerTools\nsudo dnf install epel-release\nsudo dnf config-manager --set-enabled powertools\n\nsudo dnf groupinstall \"Development Tools\"\nsudo dnf install cmake pkgconfig numactl-devel libpcap-devel \\\n    python3-pyelftools libbpf-devel elfutils-libelf-devel \\\n    zlib-devel liburing-devel\n```\n\n#### 2. Build with Feature Detection\n\n```bash\n# Build with all available features\nmake\n\n# Build specific configuration\nmake CUDA_AVAILABLE=1 DPDK_AVAILABLE=1 IO_URING_AVAILABLE=1\n```\n\n#### 3. Install System-Wide\n\n```bash\nsudo make install\n```\n\n### Docker Installation\n\n```bash\n# Build container with all dependencies\ndocker build -t artaxerxes .\n\n# Run with GPU support\ndocker run --gpus all --privileged --net=host \\\n    artaxerxes 192.168.1.100 80 1Gbps\n```\n\n---\n\n## 💡 Usage Examples\n\n### Educational Laboratory Scenarios\n\n#### Scenario 1: Basic Performance Demonstration\n```bash\n# Start with minimal load to show baseline\n./artaxerxes 192.168.1.100 80 100K_pps\n\n# Gradually increase to show scaling\n./artaxerxes 192.168.1.100 80 1M_pps\n./artaxerxes 192.168.1.100 80 10M_pps\n./artaxerxes 192.168.1.100 80 50M_pps\n```\n\n**Expected Learning Outcomes:**\n- Understanding of packet-per-second scaling\n- Impact of hardware acceleration\n- Network bottleneck identification\n\n#### Scenario 2: Technology Tier Comparison\n```bash\n# Force different performance tiers\nTIER=BASIC ./artaxerxes 192.168.1.100 80 30s\nTIER=GPU ./artaxerxes 192.168.1.100 80 30s  \nTIER=DPDK ./artaxerxes 192.168.1.100 80 30s\nTIER=ULTIMATE ./artaxerxes 192.168.1.100 80 30s\n```\n\n**Expected Learning Outcomes:**\n- Quantify impact of each technology\n- Understand hardware acceleration benefits\n- Compare traditional vs modern approaches\n\n#### Scenario 3: Defense Mechanism Testing\n```bash\n# Test rate limiting resilience\n./artaxerxes 192.168.1.100 80 1M_pps --randomize-source\n\n# Test connection limiting\n./artaxerxes 192.168.1.100 80 --max-connections=100000\n\n# Test pattern detection evasion\n./artaxerxes 192.168.1.100 80 --ml-patterns --evasion-mode\n```\n\n### Advanced Usage Patterns\n\n#### Multi-Target Load Distribution\n```bash\n# Distribute load across multiple targets\n./artaxerxes --config distributed.json\n\n# Content of distributed.json:\n{\n    \"targets\": [\n        {\"host\": \"192.168.1.100\", \"port\": 80, \"weight\": 0.4},\n        {\"host\": \"192.168.1.101\", \"port\": 80, \"weight\": 0.3},  \n        {\"host\": \"192.168.1.102\", \"port\": 80, \"weight\": 0.3}\n    ],\n    \"total_rate\": \"10M_pps\",\n    \"duration\": \"300s\"\n}\n```\n\n#### Protocol-Specific Testing\n```bash\n# HTTP/HTTPS flood testing\n./artaxerxes 192.168.1.100 443 --protocol=https --ssl-handshake\n\n# TCP SYN flood\n./artaxerxes 192.168.1.100 80 --protocol=tcp-syn --randomize-ports\n\n# UDP amplification simulation  \n./artaxerxes 192.168.1.100 53 --protocol=udp --amplification-payload\n```\n\n#### Real-Time Traffic Shaping\n```bash\n# Graduated load increase\n./artaxerxes 192.168.1.100 80 --ramp-up=\"0-10M_pps,300s\"\n\n# Bursty traffic patterns\n./artaxerxes 192.168.1.100 80 --burst-pattern=\"1M_pps,5s,100K_pps,10s\"\n\n# Bandwidth-aware testing\n./artaxerxes 192.168.1.100 80 --target-bandwidth=5Gbps --max-bandwidth=10Gbps\n```\n\n---\n\n## 🔧 Advanced Configuration\n\n### Performance Tuning\n\n#### System Optimization\n```bash\n# CPU isolation for attack threads\necho \"isolcpus=4-15\" \u003e\u003e /boot/grub/grub.cfg\n\n# Huge pages allocation\necho 2048 \u003e /proc/sys/vm/nr_hugepages\n\n# Network buffer tuning\necho 134217728 \u003e /proc/sys/net/core/rmem_max\necho 134217728 \u003e /proc/sys/net/core/wmem_max\n\n# IRQ affinity optimization\necho 2 \u003e /proc/irq/24/smp_affinity  # Isolate NIC interrupts\n```\n\n#### GPU Configuration\n```bash\n# Set GPU performance modes\nnvidia-smi -pm 1  # Persistence mode\nnvidia-smi -ac 1215,2100  # Max memory and GPU clocks\n\n# Configure GPU memory mapping\nexport CUDA_VISIBLE_DEVICES=0,1,2,3\nexport CUDA_CACHE_DISABLE=1\n```\n\n#### DPDK Setup\n```bash\n# Bind network interface to DPDK\n./dpdk-devbind.py --bind=vfio-pci 0000:01:00.0\n\n# Configure hugepages for DPDK\nmkdir -p /mnt/huge\nmount -t hugetlbfs nodev /mnt/huge\necho 1024 \u003e /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages\n```\n\n### Configuration File Format\n\n```yaml\n# artaxerxes.yml\nglobal:\n  performance_tier: \"auto\"  # auto, basic, gpu, dpdk, ultimate\n  thread_affinity: true\n  statistics_interval: 1.0\n  \ngpu:\n  device_count: 4\n  memory_per_device: \"12GB\"\n  stream_count: 8\n  block_size: 512\n  thread_per_block: 1024\n  \nnetwork:\n  dpdk:\n    enabled: true\n    pci_whitelist: [\"0000:01:00.0\"]\n    memory_channels: 4\n    \n  io_uring:\n    enabled: true\n    ring_size: 8192\n    batch_submit: 64\n    \n  xdp:\n    enabled: false  # Requires confirmation\n    interface: \"eth0\"\n    program: \"ultimate_xdp.o\"\n\nattack:\n  default_payload_size: 1460\n  connection_pool_size: 1000000 \n  randomization:\n    source_ip: true\n    source_port: true\n    user_agent: true\n    payload_content: true\n    \nmonitoring:\n  real_time_stats: true\n  export_format: [\"console\", \"json\", \"prometheus\"]\n  detailed_logging: false\n```\n\n---\n\n## 📈 Benchmarks\n\n### Laboratory Test Results\n\n#### Test Environment\n- **CPU**: Intel Core i7-13700 (16 cores/32 threads)  \n- **GPU**: 4x NVIDIA RTX 4070 Ti (48GB total VRAM)\n- **RAM**: 64GB DDR5-5600 \n- **Network**: Mellanox ConnectX-6 100GbE\n- **OS**: Ubuntu 22.04 LTS (Kernel 6.2)\n\n#### Performance Measurements\n\n| Performance Tier | PPS | Bandwidth | CPU Usage | GPU Usage | Memory |\n|------------------|-----|-----------|-----------|-----------|---------|\n| **Original Xerxes** | 47,230 | 94 Mbps | 100% | 0% | 2.1 GB |\n| **BASIC** | 127,450 | 254 Mbps | 95% | 0% | 1.8 GB |\n| **IO_URING** | 1,340,000 | 2.68 Gbps | 78% | 0% | 2.4 GB |\n| **GPU** | 12,700,000 | 15.2 Gbps | 23% | 67% | 18.2 GB |\n| **DPDK** | 34,500,000 | 41.4 Gbps | 18% | 71% | 22.1 GB |\n| **ULTIMATE** | 61,200,000 | 63.8 Gbps | 12% | 74% | 28.3 GB |\n\n#### Scaling Characteristics\n\n```mermaid\ngraph LR\n    subgraph \"Performance Scaling\"\n        A[1 Thread\u003cbr/\u003e50K PPS] --\u003e B[8 Threads\u003cbr/\u003e400K PPS]\n        B --\u003e C[32 Threads\u003cbr/\u003e1.2M PPS]\n        C --\u003e D[+GPU\u003cbr/\u003e12M PPS]\n        D --\u003e E[+DPDK\u003cbr/\u003e34M PPS]\n        E --\u003e F[+XDP\u003cbr/\u003e61M PPS]\n    end\n```\n\n#### Resource Utilization\n\n| Resource | Xerxes Original | Xerxes-Ultimate | Efficiency Gain |\n|----------|----------------|------------------|-----------------|\n| **CPU Cores** | 16 cores @ 100% | 4 cores @ 12% | **92% reduction** |\n| **Memory BW** | 12 GB/s | 156 GB/s | **13x improvement** |\n| **PCIe BW** | 0.1 GB/s | 48 GB/s | **480x improvement** |\n| **Network Util** | 0.1% | 64% | **640x improvement** |\n\n### Comparative Analysis\n\n#### Latency Distribution\n```\nOriginal Xerxes:\n├─ Min: 0.8ms  \n├─ Avg: 2.4ms\n├─ P95: 4.1ms\n└─ Max: 12.3ms\n\nArtaxerxes:\n├─ Min: 0.06ms\n├─ Avg: 0.09ms  \n├─ P95: 0.12ms\n└─ Max: 0.31ms\n```\n\n#### Memory Efficiency\n- **Buffer Pool Reuse**: 98.7% (vs 34% original)\n- **GPU Memory Utilization**: 94.2%\n- **Zero-Copy Operations**: 89% of all transfers\n- **Memory Fragmentation**: \u003c2% (vs 45% original)\n\n---\n\n## 🧪 Laboratory Setup\n\n### Recommended Hardware Configuration\n\n#### Minimum Requirements\n```yaml\nCPU: Intel i5-12400 or AMD Ryzen 5 5600X\nGPU: 1x RTX 3060 (12GB VRAM)\nRAM: 16GB DDR4-3200\nNetwork: 1GbE with DPDK support\nStorage: 500GB NVMe SSD\n```\n\n#### Recommended Setup\n```yaml\nCPU: Intel i7-13700 or AMD Ryzen 7 7700X  \nGPU: 2x RTX 4070 Ti (24GB total VRAM)\nRAM: 32GB DDR5-5600\nNetwork: 10GbE with SR-IOV support\nStorage: 1TB NVMe SSD Gen4\n```\n\n#### Ultimate Performance Setup\n```yaml\nCPU: Intel i9-13900K or AMD Ryzen 9 7900X\nGPU: 4x RTX 4090 (96GB total VRAM) \nRAM: 64GB DDR5-6000\nNetwork: 100GbE Mellanox ConnectX-6\nStorage: 2TB NVMe SSD Gen4 RAID-0\n```\n\n### Network Topology Examples\n\n#### Basic Lab Setup\n```mermaid\ngraph TB\n    A[Artaxerxes\u003cbr/\u003eAttack Machine] --\u003e B[1GbE Switch]\n    B --\u003e C[Target Server #1\u003cbr/\u003eWeb Application]\n    B --\u003e D[Target Server #2\u003cbr/\u003eDatabase]\n    B --\u003e E[Monitoring Server\u003cbr/\u003eTraffic Analysis]\n```\n\n#### Advanced Lab Setup  \n```mermaid\ngraph TB\n    subgraph \"Attack Infrastructure\"\n        A[Artaxerxes #1\u003cbr/\u003e4x RTX 4090]\n        B[Artaxerxes #2\u003cbr/\u003e4x RTX 4090] \n        C[Artaxerxes #3\u003cbr/\u003e4x RTX 4090]\n    end\n    \n    subgraph \"Network Infrastructure\"\n        D[100GbE Core Switch\u003cbr/\u003eMellanox Spectrum]\n        E[10GbE Distribution\u003cbr/\u003eAccess Layer]\n        F[1GbE Access\u003cbr/\u003eEnd Devices]\n    end\n    \n    subgraph \"Target Environment\"\n        G[Web Farm\u003cbr/\u003e20x Servers]\n        H[Database Cluster\u003cbr/\u003e5x Nodes]\n        I[Load Balencer\u003cbr/\u003eF5 BIG-IP]\n    end\n    \n    subgraph \"Defense Testing\"\n        J[DDoS Protection\u003cbr/\u003eCloudFlare/Akamai]\n        K[WAF\u003cbr/\u003eModSecurity]\n        L[IDS/IPS\u003cbr/\u003eSuricata]\n    end\n    \n    A --\u003e D\n    B --\u003e D  \n    C --\u003e D\n    D --\u003e E\n    E --\u003e F\n    \n    D --\u003e I\n    I --\u003e G\n    I --\u003e H\n    \n    J --\u003e I\n    K --\u003e G\n    L --\u003e E\n```\n\n### Student Lab Exercises\n\n#### Exercise 1: Performance Baseline\n```bash\n# Students measure original Xerxes performance\ntime timeout 60s artaxerxes 192.168.1.100 80\n\n# Then compare with Xerxes-Ultimate basic tier\ntime timeout 60s ./artaxerxes 192.168.1.100 80 60s\n```\n\n**Learning Objective**: Quantify the impact of modern optimization techniques.\n\n#### Exercise 2: Technology Impact Analysis\n```bash\n# Test each tier for 30 seconds, measure PPS\nfor tier in BASIC IO_URING GPU DPDK ULTIMATE; do\n    echo \"Testing $tier tier...\"\n    FORCE_TIER=$tier ./artaxerxes 192.168.1.100 80 30s | \\\n        tee results_${tier}.log\ndone\n\n# Analyze results\n./scripts/analyze-performance.py results_*.log\n```\n\n**Learning Objective**: Understand how each technology contributes to performance.\n\n#### Exercise 3: Defense Mechanism Evaluation\n```bash\n# Test against rate limiting\n./artaxerxes 192.168.1.100 80 1M_pps 2\u003e\u00261 | \\\n    grep -E \"(blocked|limited|denied)\"\n\n# Test evasion techniques\n./artaxerxes 192.168.1.100 80 --evasion-mode --randomize-all\n\n# Monitor defense effectiveness  \n./scripts/defense-analysis.py --target=192.168.1.100 --duration=300\n```\n\n**Learning Objective**: Evaluate and improve defensive countermeasures.\n\n---\n\n## 🎓 Educational Value\n\n### Learning Outcomes\n\n#### For Students\n1. **High-Performance Computing**: Understanding GPU acceleration, parallel processing, and memory optimization\n2. **Network Programming**: Learning modern I/O techniques, kernel bypass, and protocol implementation  \n3. **System Optimization**: Exploring bottleneck identification, resource management, and performance tuning\n4. **Cybersecurity**: Analyzing attack vectors, defense mechanisms, and threat modeling\n\n#### For Instructors\n1. **Demonstrable Performance**: Clear metrics showing technology impact\n2. **Scalable Complexity**: Multiple tiers from basic to advanced\n3. **Real-World Relevance**: Industry-standard technologies and techniques\n4. **Safety Controls**: Built-in rate limiting and monitoring\n\n### Research Applications\n\n#### Performance Studies\n- **GPU Acceleration Research**: Quantifying parallel processing benefits for network applications\n- **I/O Optimization**: Comparing traditional vs modern asynchronous I/O approaches  \n- **Memory Management**: Analyzing zero-copy techniques and buffer pool optimization\n\n#### Security Research\n- **DDoS Evolution**: Understanding how hardware acceleration changes threat landscape\n- **Defense Effectiveness**: Testing traditional security controls against modern attacks\n- **Attribution Analysis**: Fingerprinting attacks based on performance characteristics\n\n---\n\n## ⚠️ Legal Disclaimer\n\n### Educational Use Only\n\n**Artaxerxes** is designed exclusively for educational purposes in controlled laboratory environments. This tool is intended to:\n\n✅ **Teach cybersecurity concepts** in authorized academic settings  \n✅ **Demonstrate performance optimization** techniques  \n✅ **Test defense mechanisms** on owned infrastructure  \n✅ **Conduct authorized penetration testing** with proper permissions  \n\n### Prohibited Uses\n\n❌ **Unauthorized network attacks** against systems you don't own  \n❌ **Disruption of services** without explicit written permission  \n❌ **Malicious activities** of any kind  \n❌ **Commercial exploitation** without proper licensing  \n\n### Legal Requirements\n\n1. **Written Authorization**: Always obtain explicit written permission before testing\n2. **Responsible Disclosure**: Report vulnerabilities through appropriate channels\n3. **Educational Context**: Use only in supervised academic or authorized professional settings\n4. **Local Laws**: Comply with all applicable local, state, and federal regulations\n\n### Liability\n\nThe authors and contributors of Artaxerxes:\n- Make no warranties regarding the software's performance or safety\n- Are not responsible for any misuse or damages resulting from its use\n- Recommend thorough testing in isolated environments before any production use\n- Strongly encourage responsible and ethical use of this educational tool\n\n### Academic Institution Guidelines\n\nEducational institutions deploying this tool should:\n- Establish clear usage policies and guidelines\n- Provide proper supervision and instruction\n- Ensure isolated testing environments\n- Monitor student usage and maintain audit logs\n- Include ethics training as part of curriculum\n\n---\n\n**🚀 Experience the future of cybersecurity education with Artaxerxes!**\n\n*Built with ❤️ for the cybersecurity education community*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoxy4ny%2Fartaxerxes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoxy4ny%2Fartaxerxes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoxy4ny%2Fartaxerxes/lists"}