Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
knockpy — ノック サブドメイン スキャン | Kitploit
ツール/GitHubGitHub/guelfoweb/knockpy
OSINT (オープンソースインテリジェンス)偵察情報収集ペネトレーションテストサブドメイン列挙DNS分析
GitHubguelfoweb/knockpy

knockpy

ノック サブドメイン スキャン

リポジトリを見る
4.2k8736ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🔍 Knockpy サブドメインスキャン v9.0

✅ 高速 & 非同期 • 🔐 リコン + ブルートフォース • 🔧 拡張容易

KnockPy は、パッシブリコンネサンスとブルートフォースによりサブドメインを列挙するモジュール式のPython 3ツールです。async/await対応、パフォーマンス向上、最新のHTTP/TLS処理を備えています。


🚀 機能 (v9)

  • ✅ 非同期スキャン(httpx と DNS 解決を使用)
  • ✅ モジュール式: 新しいパッシブソースを簡単に追加可能
  • 🔍 パッシブリコンネサンス、ブルートフォース、または両方をサポート
  • 🎨 Rich によるフォーマット済みターミナル出力(テーブル、プログレス、パネル)
  • 📜 HTTP/HTTPSステータス、TLS証明書、IP を検証
  • ⚠️ レガシーTLSサポート(TLS 1.0/1.1)をCLI/verbose/HTMLレポートで警告として検出
  • 🧾 ドメインモードスキャン中にルートドメインの AXFR(ゾーン転送) をチェック
  • 🔎 --verbose 単一ドメイン診断(DNS/TCP/TLS/リダイレクトチェーン/リクエストエラー + セキュリティチェック)
  • 💡 ワイルドカードDNS 検出をサポート
  • 🧪 インタラクティブカタログ付きSQLiteレポート(show/delete/export/search)
  • 🔐 VirusTotal および Shodan APIをサポート
  • 🚀 TLSプローブエンドポイントキャッシュによりブルートフォースの実行時間を最適化(タイムアウト変更不要)

📦 インストール

GitHubソースから(推奨)

root@kitploit:~
git clone https://github.com/guelfoweb/knockpy.git
cd knockpy
# recommended: install in a virtual environment
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install -U pip
pip install .

# alternative: install for the current user (no 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           # 除外ルール、リコンテスト、ワイルドカードヘルパー
  core.py                  # 公開コアファサード(互換性)
  engine/
    runtime.py             # スキャンエンジンの実装
  storage.py               # 公開ストレージファサード(互換性)
  storage_parts/
    db.py                  # SQLite永続化/設定
    export.py              # レポートエクスポートのオーケストレーション
    html_report.py         # HTMLレポートのレンダリング
  output.py                # ターミナル出力のレンダリング
  server_versions.py       # Webサーバーバージョンカタログ
  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 [options]

オプション

パフォーマンスチューニング: --threads と --timeout

これらの2つのオプションは、大規模スキャンの実行時間に最も大きな影響を与えます。

  • --threads は同時実行数を制御(並列処理されるターゲット数)
  • --timeout は各ネットワークステップが諦めるまでの待機時間を制御

トレードオフ:

  • threads が高い = スキャンは高速だが、CPU/ネットワーク/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

🔄 Webサーバー最新バージョンカタログの更新

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=your-virustotal-api-key
export API_KEY_SHODAN=your-shodan-api-key

.env ファイルを使用できます:

root@kitploit:~
API_KEY_VIRUSTOTAL=your-virustotal-api-key
API_KEY_SHODAN=your-shodan-api-key

💾 レポート(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

🧪 ワイルドカードテストのみ

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

# (optional) smoke-run example script
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ワイルドカードDNSをテストして終了
--test--recon と併用、各リコンソースをテスト(失敗/空/データ)
--setupインタラクティブセットアップ(DB内の実行時デフォルト + APIキー)
--update-versionsローカルの最新Webサーバーバージョンカタログを更新
--report [ID|latest|list]レポートモード(インタラクティブなshow/delete/export/search/reset db、HTMLエクスポート)
--check-updatePyPIで新しいKnockpyリリースが利用可能かオンラインチェック
--wordlistワードリストの実行時オーバーライド
--dnsDNSリゾルバの実行時オーバーライド
--useragentHTTP User-Agentの実行時オーバーライド
--timeoutタイムアウト(秒)の実行時オーバーライド
--threads並列ワーカーの実行時オーバーライド
--silentプログレスバーを非表示
--jsonJSONのみの出力(--silent を強制)
--status実行時ステータスを表示して続行
-h, --helpヘルプメッセージを表示