必要なページだけJavaScriptをレンダリングする、Rust製の並行処理重視のWebクローラー・スクレイピングエンジン。
projectdiscovery/katana
ProjectDiscovery製の高速で設定可能なWebクローラー/スパイダーフレームワーク。エンドポイントの発見に標準モードとヘッドレスブラウザーモードを利用できます。
- スター
- 17,811
- フォーク
- 1,218
- 未解決の Issue
- 21
- 最終コミット
- 昨日
これは何?
Katanaは、WebサイトのURLやエンドポイントを発見するためのGo製コマンドラインクローラーです。2つのモードを備えています。標準モードではGoのHTTPクライアントを使ってレスポンスの生データのみを解析し、ヘッドレスモードではChromeを操作してJavaScriptやXHRリクエストによって生成されるエンドポイントも取得します。
クロール範囲はルートドメイン、完全修飾ドメイン、またはカスタム正規表現ルールで指定できます。出力先には標準出力、ファイル、JSONLを選べ、出力フィールドも指定できます。入力は単一のURL、リストファイル、標準入力に対応しているため、httpxなどのツールと簡単に連携できます。
JavaScriptのエンドポイント解析、自動フォーム入力、既知ファイル(robots.txtやsitemap.xml)のクロール、類似URL・類似ページのフィルタリング、レート制限のほか、ページ種別の分類やシークレット/APIエンドポイントの検出を行う機械学習ベースのナレッジベースも備えています。
主な機能
- 01標準HTTPクロールとヘッドレスChromeクロールのモード
- 02JavaScriptファイルを解析してエンドポイントを発見
- 03ルートドメイン、FQDN、正規表現による範囲指定
- 04ヘッドレスモードでの自動フォーム入力と記録済みフローのログイン再生
- 05類似URL・類似ページのフィルタリングによる重複クロールの削減
- 06フィールドを指定して標準出力、ファイル、JSONLに出力
ユースケース
- セキュリティテストでWebアプリケーションの攻撃対象領域やエンドポイントを把握する
- 自動化パイプラインで後続のスキャンに使うURLリストを作成する
- JavaScriptで描画されるコンテンツに依存するシングルページアプリケーションをクロールする
- 対象ドメインに範囲を限定しながらサイト構造を収集する
クイックスタート
- 1
Go(Go 1.26 以降が必要)で katana をインストールする
CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest - 2
対象の URL をクロールする
katana -u https://tesla.com
使う前に知っておきたいこと
- インストールには Go 1.26 以降が必要です。
- Headless モードを使うには、ローカルにインストールするか、自分で用意した Chrome ブラウザーが必要です。
- フォームの自動入力や Headless ハイブリッドクロールなど、複数の機能は実験的とされています。
収録されている特集
トピック
よくある質問
- katana とは?
- ProjectDiscovery製の高速で設定可能なWebクローラー/スパイダーフレームワーク。エンドポイントの発見に標準モードとヘッドレスブラウザーモードを利用できます。 Katanaは、WebサイトのURLやエンドポイントを発見するためのGo製コマンドラインクローラーです。2つのモードを備えています。標準モードではGoのHTTPクライアントを使ってレスポンスの生データのみを解析し、ヘッドレスモードではChromeを操作してJavaScriptやXHRリクエストによって生成されるエンドポイントも取得します。
- katana は無料で使えますか?ライセンスは?
- katana は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- katana は今もメンテナンスされていますか?
- 活発にメンテナンス中。katana の最終コミットは 2026年11月6日 です。
- katana は何に使えますか?
- セキュリティテストでWebアプリケーションの攻撃対象領域やエンドポイントを把握する 自動化パイプラインで後続のスキャンに使うURLリストを作成する JavaScriptで描画されるコンテンツに依存するシングルページアプリケーションをクロールする 対象ドメインに範囲を限定しながらサイト構造を収集する
- katana のインストール方法は?
- Go(Go 1.26 以降が必要)で katana をインストールする: CGO_ENABLED=1 go install github.com/projectdiscovery/katana/cmd/katana@latest 対象の URL をクロールする: katana -u https://tesla.com
- katana はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/projectdiscovery/katana
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Webサイトから構造化データを抽出するスクレイパーやクローラーを作成するためのGoフレームワーク。
asyncioとaiohttpを基盤とするPython向けの非同期Webスクレイピング用マイクロフレームワーク。URLのクロールをできるだけ手軽にします。
Webサイトをクロールし、リンク切れやリダイレクト、メタタグの欠落・重複などの技術的な問題を報告するオープンソースのSEO監査ツール。
単発のHTTPリクエストからステルスブラウザー、解析、並行クロールとエクスポートまで対応するPython製Webスクレイピングフレームワーク。
WebサイトをLLM向けのMarkdownに変換するオープンソースのPythonクローラー。構造化抽出やホスト型APIにも対応。