
xcrawl3r は、ウェブページを再帰的にクロールしてURLを発見するためのコマンドラインユーティリティです。ウェブサイトを能動的に巡回し、ウェブページ内のリンクをたどったり、ファイル(サイトマップや robots.txt を含む)を解析して、すべてのURLを明らかにします。
ターゲットと直接対話しない xurlfind3r とは異なり、xcrawl3r はページをリアルタイムでスパイダリングすることで、ターゲットと直接対話します。この能動的なアプローチにより、非表示やインデックスされていない可能性のあるURLを発見し、ウェブサイトのナビゲーションフローとコンテンツ配信の全体像を提供します。このため、xcrawl3r はセキュリティ研究者、ITプロフェッショナル、そしてウェブサイトに関連するURLに関する洞察を得たいと考えているすべての人にとって強力なツールとなります。
robots.txt を含む)からURLを抽出stdin と stdout をサポートリリースページ にアクセスし、お使いのOSとアーキテクチャに適したアーカイブを見つけてください。ブラウザからアーカイブをダウンロードするか、URLをコピーして wget または curl で取得してください:
wget を使用する場合:
wget https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
または curl を使用する場合:
curl -OL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz
次に、バイナリを展開します:
tar xf xcrawl3r-<version>-linux-amd64.tar.gz
[!TIP] 上記のダウンロードと展開の手順は、次の一行でまとめて実行できます:
curl -sL https://github.com/hueristiq/xcrawl3r/releases/download/v<version>/xcrawl3r-<version>-linux-amd64.tar.gz | tar -xzv
[!NOTE] Windowsシステムでは、zipアーカイブをダブルクリックして
xcrawl3r実行可能ファイルを展開できます。
...xcrawl3r バイナリを PATH の通っている場所に移動します。例えば、GNU/Linux および OS X システムでは:
sudo mv xcrawl3r /usr/local/bin/
[!NOTE] Windowsユーザーは、「方法: ツールの場所を PATH 環境変数に追加する」に従って
xcrawl3rをPATHに追加できます。
ソースからインストールする前に、システムにGoがインストールされていることを確認してください。Goのインストール方法は、公式の手順に従ってください。ここでは、Goが既にインストールされているものと仮定します。
go install ...go install -v github.com/hueristiq/xcrawl3r/cmd/xcrawl3r@latest
go build ... 開発バージョンリポジトリをクローンします
git clone https://github.com/hueristiq/xcrawl3r.git
ユーティリティをビルドします
cd xcrawl3r/cmd/xcrawl3r && \
go build .
xcrawl3r バイナリを PATH の通っている場所に移動します。例えば、GNU/Linux および OS X システムでは:
sudo mv xcrawl3r /usr/local/bin/
Windowsユーザーは、「方法: ツールの場所を PATH 環境変数に追加する」に従って xcrawl3r を PATH に追加できます。
[!CAUTION] 開発バージョンは
xcrawl3rの最新機能をいち早く試すには良い方法ですが、バグが含まれている可能性があることに注意してください。公式リリース版は一般的に安定しています。
xcrawl3r をDockerでインストールするには:
Dockerイメージをプルします:
docker pull hueristiq/xcrawl3r:latest
イメージを使用して xcrawl3r を実行します:
docker run --rm hueristiq/xcrawl3r:latest -h
xcrawl3r はインストール後すぐに使用できます。ただし、初回実行時に作成される設定ファイル $HOME/.config/xcrawl3r/config.yaml に設定を追加したり、環境変数として設定することもできます。
環境変数の例:
XCRAWL3R_REQUEST_TIMEOUT=10
xcrawl3r の使用を開始するには、ターミナルを開き、以下のコマンドを実行してオプションの一覧を表示します:
xcrawl3r -h
ヘルプメッセージは次のようになります:
_ _____
__ _____ _ __ __ ___ _| |___ / _ __
\ \/ / __| '__/ _` \ \ /\ / / | |_ \| '__|
> < (__| | | (_| |\ V V /| |___) | |
/_/\_\___|_| \__,_| \_/\_/ |_|____/|_|
v1.2.0
使用法:
xcrawl3r [オプション]
設定:
-c, --configuration string (デフォルト: $HOME/.config/xcrawl3r/config.yaml)
入力:
-u, --url string[] 対象URL
-l, --list string 対象URLのファイルパス
複数のURLを指定するには、`--url` でカンマ区切り、複数回 `--url` を指定、
`--list` でファイルから読み込む、または標準入力から読み込みます。
スコープ:
-d, --domain string[] 一致させるドメインのURL
複数のドメインを指定するには、`--domain` でカンマ区切り、または複数回 `--domain` を指定します。
--include-subdomains bool ドメインと共に、サブドメインのURLも一致させる
リクエスト:
--delay int リクエスト間の遅延(秒)
-H, --header string[] 追加するヘッダー('header:value' 形式)
複数のヘッダーを指定するには、`--header` でカンマ区切り、または複数回 `--header` を指定します。
--timeout int リクエストの待機時間(秒)(デフォルト: 10)
プロキシ:
-p, --proxy string[] プロキシ(例: http://127.0.0.1:8080)
複数のプロキシを指定するには、`--proxy` でカンマ区切り、または複数回 `--proxy` を指定します。
最適化:
--depth int クロールする最大深度、`0` は無制限(デフォルト: 1)
-C, --concurrency int 同時に処理する入力数(デフォルト: 5)
-P, --parallelism int 同時に使用するフェッチャーの数(デフォルト: 5)
デバッグ:
--debug bool デバッグモードを有効にする
出力:
--jsonl bool 出力をJSON Lines形式にする
-o, --output string 出力書き込みファイルパス
-m, --monochrome bool 標準出力をモノクロにする
-s, --silent bool 標準出力をサイレントモードにする
-v, --verbose bool 標準出力を詳細モードにする
貢献は大歓迎です!プルリクエストの送信やイシューの報告をお気軽にどうぞ。詳細は貢献ガイドラインをご覧ください。
すべての貢献者の皆様に多大なる感謝を申し上げます!
このパッケージはMITライセンスの下で提供されています。ライセンスの条件に従う限り、自由に使用、変更、配布することができます。完全なライセンステキストはリポジトリ内にあります – 完全なMITライセンステキスト。