Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
darc — リクエストとSeleniumワーカーを使用してページを取得し、ヘッダーとCookieをキャプチャし、リンクを抽出し、OSINT収集用のレンダリング済みスクリーンショットを保存するダークウェブクローラー。 | Kitploit
ツール/GitHubGitHub/jarryshaw/darc
OSINT (オープンソースインテリジェンス)偵察スクリプトと自動化情報収集ウェブセキュリティプライバシークローラー
GitHubjarryshaw/darc

darc

リクエストとSeleniumワーカーを使用してページを取得し、ヘッダーとCookieをキャプチャし、リンクを抽出し、OSINT収集用のレンダリング済みスクリーンショットを保存するダークウェブクローラー。

リポジトリを見る
239392918日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
ウェブサイト

darc - ダークウェブクローラープロジェクト

技術情報および/または保守情報については、 |docs|_ を参照してください。

.. |docs| replace:: 公式ドキュメント .. _docs: https://darc.jarryshaw.me

注記: バージョン 1.0.0 以降、プロジェクトの新機能は この公開リポジトリでは開発されません。更新および新リリースには バグ修正とセキュリティパッチのみが適用されます。

darc はダークウェブクローリングのための万能ツールとして設計されています。 requests を統合して、Cookie やヘッダーフィールドなどの HTTP リクエストおよび レスポンス情報を収集します。また selenium をバンドルして、 完全にレンダリングされた Web ページとそのビューのスクリーンショットを 提供します。

.. image:: https://darc.jarryshaw.me/en/latest/_images/darc.jpeg

darc の一般的な処理の流れは以下のように説明できます:

ワーカー には 2 つの種類があります:

  • crawler -- darc.crawl.crawler を実行し、リンクの 最新のビューを提供して接続可能性をテストします

  • loader -- darc.crawl.loader を実行し、リンクの 詳細なビューを提供してより多くの視覚情報を提供します

crawler タイプの ワーカー の一般的な処理の流れは以下のように説明できます:

  1. darc.process.process_crawler: requests リンクデータベース (darc.db.load_requests 参照) から URL を取得し、そのような URL を darc.crawl.crawler に渡します。

    注意:

    darc.const.FLAG_MP が True の場合、関数は マルチプロセッシング サポート付きで呼び出されます。darc.const.FLAG_TH が True の場合、関数は マルチスレッディング サポート付きで呼び出されます。どちらでもない場合、関数はシングルスレッドで呼び出されます。

  2. darc.crawl.crawler: darc.link.parse_link を使用して URL を解析し、 URL をクロールする必要があるかどうかを確認します (darc.const.PROXY_WHITE_LIST、darc.const.PROXY_BLACK_LIST、 darc.const.LINK_WHITE_LIST および darc.const.LINK_BLACK_LIST 参照)。 必要がある場合、requests を使用して URL をクロールします。

    URL がまったく新しいホストからのものである場合、darc はまず そのホストの robots.txt とサイトマップの取得および保存を試み (darc.proxy.null.save_robots および darc.proxy.null.save_sitemap 参照)、 その後サイトマップからリンクを抽出して将来のクロールのためにリンクデータベースに 保存します (darc.proxy.null.read_sitemap および darc.db.save_requests 参照)。 また、送信 API が提供されている場合、darc.submit.submit_new_host が呼び出され、取得したばかりのドキュメントを送信します。

    robots.txt が存在し、darc.const.FORCE が False の場合、darc は URL をクロールすることが許可されているかどうかを確認します。

    注意:

    ルートパス (例: https://www.example.com/ の /) は robots.txt を無視して常にクロールされます。

    この時点で、darc は darc.sites からカスタマイズされたフック関数を 呼び出してクロールし、最終的なレスポンスオブジェクトを取得します。 darc は darc.save.save_headers を使用して セッション Cookie とヘッダー情報を保存します。

    注意:

    requests.exceptions.InvalidSchema が発生した場合、リンクは darc.proxy.null.save_invalid によって保存されます。 それ以上の処理は中止されます。

    レスポンスドキュメントのコンテンツタイプが無視されない場合 (darc.const.MIME_WHITE_LIST および darc.const.MIME_BLACK_LIST 参照)、 darc.submit.submit_requests が呼び出され、取得したばかりの ドキュメントを送信します。

    レスポンスドキュメントが HTML (text/html および application/xhtml+xml) の場合、 darc.parse.extract_links が呼び出され、HTML ドキュメントから すべての可能なリンクを抽出し、そのようなリンクをデータベースに 保存します (darc.db.save_requests 参照)。

    また、レスポンスのステータスコードが 400 から 600 の間である場合、 URL はリンクデータベースに保存し直されます (darc.db.save_requests 参照)。そうでない場合、URL は 次のステップに進むために selenium リンクデータベースに保存されます (darc.db.save_selenium 参照)。

loader タイプの workers に対して、一般的なプロセスは次のように説明できます:

  1. darc.process.process_loader: その間、darc は selenium リンクデータベース(darc.db.load_selenium を参照)から URL を取得し、 それらの URL を darc.crawl.loader に渡します。

    注意:

    darc.const.FLAG_MP が True の場合、関数は マルチプロセス サポート付きで呼び出されます。darc.const.FLAG_TH が True の場合、関数は マルチスレッド サポート付きで呼び出されます。どちらでもない場合、関数はシングルスレッドで呼び出されます。

  2. darc.crawl.loader: darc.link.parse_link を使用して URL を解析し、 Google Chrome を備えた selenium を使用して URL の読み込みを開始します。

    この時点で、darc は darc.sites からカスタマイズされたフック関数を呼び出して、 元の selenium.webdriver.chrome.webdriver.WebDriver オブジェクトを読み込み、返します。

    成功した場合、レンダリングされたソース HTML ドキュメントが保存され、 フルページのスクリーンショットが撮影されて保存されます。

    送信 API が提供されている場合、darc.submit.submit_selenium が呼び出され、読み込んだばかりのドキュメントを送信します。

    その後、darc.parse.extract_links が呼び出され、 HTML ドキュメントから可能なすべてのリンクを抽出し、それらの リンクを requests データベースに保存します(darc.db.save_requests を参照)。


インストール

注意:

darc は 3.6 を含む、それ以上のすべての Python バージョンをサポートしています。 現在、Linux(Ubuntu 18.04)および macOS(Catalina)でのみ サポートおよびテストされています。

3.8 未満の Python バージョンでインストールする場合、darc は バックポート互換性のために |walrus|_ を使用して自身をコンパイルします。

.. |walrus| replace:: walrus .. _walrus: https://github.com/pybpc/walrus

.. code-block:: shell

pip install python-darc

システムに Google Chrome および対応するバージョンの Chrome Driver がインストールされていることを確認してください。

バージョン 0.3.0 から、タスクキューのデータベースバックエンドとして Redis_ を導入しました。

.. _Redis: https://redis.io

バージョン 0.6.0 から、Redis_ データベースに加えて、 タスクキューのデータベースバックエンドとしてリレーショナルデータベースストレージ (例: MySQL、SQLite、PostgreSQL_ など)を導入しました。 これは、タスクキューが非常に大きくなると、メモリコストが過大になる可能性があるためです。

.. _MySQL: https://mysql.com/ .. _SQLite: https://www.sqlite.org/ .. _PostgreSQL: https://www.postgresql.org/

darc プロジェクトを使用する際は、いずれかのバックエンドデータベースが インストールされ、設定され、実行されていることを確認してください。

ただし、darc プロジェクトは Docker および Compose のサポートとともに提供されています。 関連ファイルと詳細については、プロジェクトルートを参照してください。

または、Docker Hub_ リポジトリを参照および/またはそこからインストールすることもできます:

.. code-block:: shell

docker pull jsnbzh/darc[:TAGNAME]

.. _Docker Hub: https://hub.docker.com/r/jsnbzh/darc

または、より更新された包括的なイメージを備えた GitHub Container Registry から:

.. code-block:: shell

docker pull ghcr.io/jarryshaw/darc[:TAGNAME]

またはデバッグイメージ

docker pull ghcr.io/jarryshaw/darc-debug[:TAGNAME]


使用方法

darc プロジェクトはシンプルな CLI を提供します::

usage: darc [-h] [-v] -t {crawler,loader} [-f FILE] ...

the darkweb crawling swiss army knife

positional arguments: link links to craw

optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -t {crawler,loader}, --type {crawler,loader} type of worker process -f FILE, --file FILE read links from file

モジュールのエントリポイントを通じて呼び出すこともできます::

python -m darc ...

注意:

リンクファイルには コメント 行を含めることができ、# で始まる必要があります。 空行とコメント行は読み込み時に無視されます。

ツールをダウンロード