Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
knockpy — Knock Subdomain Scan | Kitploit
Инструменты/GitHubGitHub/guelfoweb/knockpy
OSINT (Разведка открытых источников)РазведкаСбор информацииТестирование на ПроникновениеПеречисление ПоддоменовАнализ DNS
GitHubguelfoweb/knockpy

knockpy

Knock Subdomain Scan

Репозиторий
4.2k8736 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

🔍 Knockpy Subdomain Scan v9.0

✅ Быстро и асинхронно • 🔐 Разведка + Брутфорс • 🔧 Легко расширять

KnockPy — это модульный инструмент на Python 3 для перечисления поддоменов с помощью пассивной разведки и брутфорса, теперь с поддержкой async/await, улучшенной производительностью и современной обработкой HTTP/TLS.


🚀 Возможности (v9)

  • ✅ Асинхронное сканирование с помощью httpx и DNS-разрешения
  • ✅ Модульная архитектура: легко подключать новые пассивные источники
  • 🔍 Поддерживает пассивную разведку, брутфорс или оба режима
  • 🎨 Форматированный вывод в терминал с помощью Rich (таблицы, прогресс, панели)
  • 📜 Проверяет статус HTTP/HTTPS, TLS-сертификат и IP
  • ⚠️ Обнаруживает поддержку устаревших версий TLS (TLS 1.0/1.1) как предупреждение в CLI/подробном режиме/HTML-отчёте
  • 🧾 Проверяет AXFR (передачу зоны) на корневом домене при сканировании в режиме домена
  • 🔎 --verbose — диагностика одного домена (DNS/TCP/TLS/цепочки перенаправлений/ошибки запроса + проверки безопасности)
  • 💡 Поддерживает обнаружение wildcard DNS
  • 🧪 Отчёты в SQLite с интерактивным каталогом (show/delete/export/search)
  • 🔐 Поддерживает API VirusTotal и Shodan
  • 🚀 Оптимизированное время выполнения брутфорса с кэшированием конечных точек TLS-проверки (без изменения таймаутов)

📦 Установка

Из исходного кода GitHub (рекомендуется)

root@kitploit:~
git clone https://github.com/guelfoweb/knockpy.git
cd knockpy
# рекомендуется: установка в виртуальное окружение
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -U pip
pip install .

# альтернатива: установка для текущего пользователя (без venv)
# python3 -m pip install --user .

⚠️ Рекомендуемая версия Python: 3.9+

🧱 Структура проекта

Кодовая база организована по ответственности, со стабильными фасадами для обратной совместимости:

root@kitploit:~
knockpy/
  cli.py                   # Точка входа CLI (фасад/оркестровка)
  cli_parts/
    status.py              # Отрисовка панели состояния/выполнения
    setup.py               # Интерактивная настройка и сохраняемые настройки по умолчанию
    report.py              # Интерактивный режим отчёта
    scan_flow.py           # Правила исключения, проверка разведки, wildcard-вспомогатели
  core.py                  # Публичный фасад ядра (совместимость)
  engine/
    runtime.py             # Реализация движка сканирования
  storage.py               # Публичный фасад хранилища (совместимость)
  storage_parts/
    db.py                  # Постоянное хранение/настройки в SQLite
    export.py              # Оркестровка экспорта отчётов
    html_report.py         # Отрисовка HTML-отчёта
  output.py                # Отрисовка вывода в терминал
  server_versions.py       # Каталог версий веб-серверов
  knockpy.py               # Экспорты модулей для совместимости

Примечание о совместимости:

  • Предпочтительный внешний импорт: import knockpy или from knockpy import KNOCKPY.
  • Внутренние модули разделены на engine/, cli_parts/ и storage_parts/.

Установка через pip

Только после выпуска стабильной версии на GitHub

root@kitploit:~
pip install knock-subdomains

🧪 Использование

root@kitploit:~
knockpy -d domain.com [опции]

Опции

Тонкая настройка производительности: --threads и --timeout

Эти две опции оказывают наибольшее влияние на время выполнения для больших сканирований.

  • --threads управляет конкурентностью (сколько целей обрабатывается параллельно)
  • --timeout управляет тем, сколько времени каждый сетевой шаг ждёт перед сдачей

Компромисс:

  • выше threads = более быстрое сканирование, но большая нагрузка на ЦП/сеть/DNS и выше риск удаленных ограничений скорости
  • меньше timeout = более быстрое сканирование, но выше риск пропустить медленные, но действительные цели (ложноотрицательные результаты)

Рекомендуемые профили:

  • небольшое/точное сканирование (несколько доменов): --threads 50 --timeout 5
  • сбалансированное сканирование: --threads 150 --timeout 4
  • большое сканирование (10k+ доменов): начните с --threads 250 --timeout 3

Если вам нужны и скорость, и полнота для очень больших списков, используйте стратегию в 2 прохода:

  1. быстрый проход: --threads 250 --timeout 3
  2. повторный проход только для пропущенных/неопределённых целей: --threads 80 --timeout 5 (или больше)

Замечания:

  • значения CLI всегда переопределяют сохранённые настройки
  • сохранённые настройки (--setup) переопределяют встроенные значения по умолчанию
  • текущие встроенные значения по умолчанию: threads=250, timeout=3

📌 Примеры

🔎 Разведка + Брутфорс

root@kitploit:~
knockpy -d example.com --recon --bruteforce

🧪 Тестирование сервисов разведки

root@kitploit:~
knockpy -d example.com --recon --test

🔄 Обновить каталог последних версий веб-серверов

root@kitploit:~
knockpy --update-versions

🆕 Проверить наличие обновлений Knockpy

root@kitploit:~
knockpy --check-update

⚙️ Конфигурация источников разведки (редактируемая)

При первом запуске KnockPy создаёт:

root@kitploit:~
~/.knockpy/recon_services.json

Вы можете добавлять/отключать источники, редактируя массив services. Вы также можете указать путь к пользовательскому файлу без изменения кода:

root@kitploit:~
export KNOCK_RECON_SERVICES=/path/to/recon_services.json

Каждый сервис поддерживает:

  • name
  • enabled (true/false)
  • parser
  • url_template (поддерживает {domain}, {virustotal_key}, {shodan_key})
  • requires_api (virustotal или shodan, опционально)

Поддерживаемые парсеры:

  • csv_first_column
  • rapiddns_html_td
  • json_list
  • virustotal_subdomains
  • shodan_subdomains

📥 Домен из stdin

root@kitploit:~
echo "example.com" | knockpy -d

🧠 API-ключи (опционально)

root@kitploit:~
export API_KEY_VIRUSTOTAL=ваш-ключ-virustotal
export API_KEY_SHODAN=ваш-ключ-shodan

Вы можете использовать файл .env:

root@kitploit:~
API_KEY_VIRUSTOTAL=ваш-ключ-virustotal
API_KEY_SHODAN=ваш-ключ-shodan

💾 Отчёты (SQLite + интерактивный экспорт в HTML)

root@kitploit:~
knockpy -d example.com --recon --bruteforce
knockpy --report list
knockpy --report latest
knockpy --report

Интерактивное меню отчёта:

  • 1 show
  • 2 delete
  • 3 export
  • 4 search
  • 0 reset db (запрашивает явное подтверждение)

Выход из режима отчёта:

  • нажмите Enter при пустой подсказке действия
  • или нажмите CTRL+C

🔍 Диагностика одного домена

root@kitploit:~
knockpy -d forum.example.com --verbose

🧪 Только проверка wildcard

root@kitploit:~
knockpy -d example.com --wildcard

🧬 Использование Python API

KnockPy можно использовать как модуль Python:

root@kitploit:~
import knockpy

result = knockpy.KNOCKPY("example.com", timeout=5.0, threads=20)
print(result["domain"], result["ip"])

или:

root@kitploit:~
from knockpy import KNOCKPY

domain = 'example.com'

results = KNOCKPY(
    domain,
    dns="8.8.8.8",
    useragent="Mozilla/5.0",
    timeout=5,
    threads=10,
    recon=True,
    bruteforce=True,
    wordlist=None,
    silent=False
)

for entry in results:
    print(entry['domain'], entry['ip'], entry['http'], entry['cert'])

📂 Словарь

Словарь по умолчанию включён в knockpy/wordlist/wordlist.txt. Вы можете указать свой собственный с помощью --wordlist.

Тестирование

root@kitploit:~
python3 -m pytest

# (опционально) быстрый запуск примера скрипта
python3 examples/poc.py

📖 Лицензия

Лицензировано под GPLv3.

Gianni Amato (@guelfoweb)

Скачать инструмент
ФлагОписание
-d, --domainЦелевой домен (или stdin, если используется без значения)
-f, --fileФайл со списком доменов
--reconВключить пассивную разведку
--bruteforce, --bruteВключить брутфорс с использованием словаря
--exclude TYPE VALUEИсключить совпадения (status, length/lenght, body)
--verboseГлубокая диагностика только для сканирования одного домена
--wildcardПроверить wildcard DNS и выйти
--testС --recon проверить каждый источник разведки (неудачные/пустые/данные)
--setupИнтерактивная настройка (настройки по умолчанию + ключи API в БД)
--update-versionsОбновить локальный каталог последних версий веб-серверов
--report [ID|latest|list]Режим отчёта (интерактивный показ/удаление/экспорт/поиск/сброс БД, экспорт HTML)
--check-updateПроверить онлайн, доступна ли новая версия Knockpy на PyPI
--wordlistПереопределение словаря во время выполнения
--dnsПереопределение DNS-резолвера во время выполнения
--useragentПереопределение HTTP user-agent во время выполнения
--timeoutПереопределение таймаута (секунды) во время выполнения
--threadsПереопределение количества параллельных рабочих процессов
--silentСкрыть индикатор прогресса
--jsonВывод только в JSON (вынуждает --silent)
--statusВывести текущий статус и продолжить
-h, --helpПоказать справочное сообщение