当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題の表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

pip install droopescanに失敗する【ハッキング・ラボ編】

2024年6月14日

皆さんからの報告

問題が起こる環境

・ParrotOS 6.0(ISOファイルでインストール)

そもそもDroopescanがデフォルトインストールされていれば問題になりませんが、ParrotOS 6.0ではデフォルトインストールされていません。

問題

『ハッキング・ラボのつくりかた 完全版』P.417-419では、Droopescanのインストール方法を解説しています。

仮想環境であるため、(少々乱暴ですが)pip installコマンドを用いたインストール方法を紹介しました。

ところが、最新のParrotOS(検証時は6.0)ではpip installコマンドでインストールしようとすると、"externally-managed-environment"エラーが発生します。

解決法

今回の問題を解決する方法はいろいろあります。

なお、エラーが発生した場合の対処法のヒントは以下にまとめてあるので、時間のある際に一読ください。

pipx installを用いる方法【比較的簡単】

最大のヒントはエラーメッセージにあります。

ヒントにはいくつかの方法が紹介されていますが、ここではpipx installを用いる方法を紹介します。

1:APTでpipxをインストールする

ここではaptコマンドを用いていますが、パッケージマネージャーを使っても構いません。

最初と最後のpipx listコマンドは、pipxがインストールされているかどうかを確認しているだけです。

┌─[✗]─[ipusiron@parrot]─[~]
└──╼ $pipx list
bash: pipx: コマンドが見つかりません
┌─[✗]─[ipusiron@parrot]─[~]
└──╼ $sudo apt update
(略)
(複数回設定のワーニングが出ても無視)
┌─[ipusiron@parrot]─[~]
└──╼ $sudo apt install pipx -y
(略)
┌─[ipusiron@parrot]─[~]
└──╼ $pipx list
nothing has been installed with pipx 😴

2:pipxでDroopescanをインストールする

┌─[ipusiron@parrot]─[~]
└──╼ $pipx install droopescan
  installed package droopescan 1.45.1, installed using Python 3.11.2
  These apps are now globally available
    - droopescan
done! ✨ 🌟 ✨
┌─[ipusiron@parrot]─[~]
└──╼ $pipx list
venvs are in /home/ipusiron/.local/pipx/venvs
apps are exposed on your $PATH at /home/ipusiron/.local/bin
   package droopescan 1.45.1, installed using Python 3.11.2
    - droopescan

pipx listコマンドの出力により、pipxの管理下でDroopescanがインストールされていることがわかります。

3:Droopescanのコマンドを使えることを確認する

※もしパスが通っておらずコマンドが使えない場合はステップ4を参考にしてください。

ヘルプオプションをつけてコマンドを実行し、ヘルプが表示されているので、Droopescanの実行に成功しています。

Droopescanはスペルミスしやすいので注意してください。
“droopscan"ではなく、"droopescan"が正しいです。
私もたまに入力ミスします。

4:パスを通す

Warningに記載のあるパスにカレントディレクトリを移動してから、pipx ensurepathコマンドを実行します。

$ pipx ensurepath

なお、手動でPATHを設定しても構いません。

参考となる投稿

他の解決アプローチ

参考になるページ