こんにちは、Habr! 夏が終わり、木々の葉が冷たい地面に落ち、最初の雪がノボシビルスクに降ってきました。この時点で、古いRADEON HD4890ビデオカードに基づいてWPA / WPA2パスワードを検索するためのプラットフォームのセットアップについて少しお話したいと思います。
はじめに
グラフィックカードが単なるグラフィックカードであった時代は終わりました。 GPGPU(
https://ru.wikipedia.org/wiki/GPGPU )に基づく計算は人気を集めており、CPUでの計算よりも数十倍、時には数百倍も生産的です。 AMD RADEONビデオカードが同等のNVIDIAビデオアダプターよりもこの点ではるかに優れていることは周知の事実です。 これらの計算を実行するために、次の実装が存在します。
- NVIDIA CUDA -GeForce、Quadro、およびTesla GPUでのみ実行されるアルゴリズムを実装できるテクノロジー。
- OpenCLは、さまざまなグラフィックス(NVIDIAおよびAMD RADEONを含むGPU)および中央処理装置(CPU)、およびFPGAでの並列コンピューティングに関連するプログラムを作成するためのフレームワークです。 OpenGLの一部であり、CUDAのライバルです。
- CAL ++は、OpenCLに似た構文を使用して、ビデオアダプターでアルゴリズム実行を実装するためのシンプルなライブラリです。
ご存じのように、pyritは2つの部分で構成されています。追加の機器をサポートするために必要なカーネルとモジュールです。 さらに、このモジュールをコンパイルして、上記の3つのGPGPUコンピューティングテクノロジーの1つをサポートできます。 CUDAは「グリーン」ビデオカードにのみ実装されているため、すぐに消えます。 CAL ++について説明します。
背景
それはすべて、楽しみのために、古い分解されたコンピューターから何か有用なものを作りたいという願望から始まりました。 文字通り「膝の上で」すべてがまとめられ、車は準備ができていました。 最初に思いついたのは、もちろん、平和的な目的のためのブルートフォースパスワードです。 だから私たちが持っているもの:
- CPU Intel Core 2 Duo(周波数1.86GHz);
- デュアルチャネルモードの4Gb RAM。
- GPU ATI RADEON HD4890、1024Mb GDDR5、975 MHz。
システムとしてUbuntuバージョン14.04が選択されましたが、これが問題の原因でした。 本格的なハードウェアアクセラレーションを行うには、AMDサイトからダウンロードした独自のドライバーが必要ですが、インストールは拒否されました。 エラーメッセージをグーグルで検索すると、いくつかの理由が見つかりました。カーネルとXのバージョンは、ドライバーのレガシーバージョンには新しすぎました。 xorgバージョン1.11.3とカーネル3.2を備えた古いバージョンのUbuntu 12.04を(
ここから )ダウンロードする必要がありました。 詳細なガイドは、
http :
//www.blackmoreops.com/2013/11/22/install-pyrit-in-kali-linux/にあります 。
行こう!
何が必要ですか?
- AMDの公式Webサイトにある独自のグラフィックカードドライバー。 私の場合、これはlegacy-amd-driver-catalyst-13.1で、ここからダウンロードできます: http : //support.amd.com/en-us/download/desktop/legacy? product=Legacy2&os=Linux%20x86_64
- AMD APP SDK-2番目のpyritモジュールをコンパイルするためのツール。 ここからダウンロード: http : //developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/
- CAL ++は、コンパイル用の別のライブラリです。 http://sourceforge.net/projects/calpp/
- APP SDKのパッチはhttps://github.com/clockfort/amd-app-sdk-fixesです。
- SVNから最適に取得されるピリットソース。
この富を別のフォルダにダウンロードし、コンソールから作業するのが最も便利です。 ドライバーから始めましょう:
$ unzip amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.zip $ chmod +x amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.run $ sudo ./amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.run
インストーラーのグラフィカルバージョンが起動しますが、これで問題は発生しないはずです。 インストール後、再起動し、すべてが機能するかどうかを確認します。
$ sudo reboot
回転する立方体のあるウィンドウが表示されますが、FPSは低くないはずです。 すべて問題なければ、CTRL-Cを押します-ドライバーのインストールは成功しました。 次に、AMD APP SDKをインストールします。
$ tar -xvf AMD-APP-SDK-linux-v2.9-1.599.381-GA-x64.tar.bz2 $ chmod +x AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh $ sudo ./AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh
開いたファイルの最後に、次を追加します。
そして、変更を適用します。
$ source /root/.bashrc
これらの変数は、コンパイラーが適切なフォルダーを見つけるのに役立ちます。 次に、不足しているAPP SDKコンポーネントをいくつか追加する必要があります。
$ sudo apt-get update $ sudo apt-get install subversion
CAL ++のビルド:
$ apt-get install cmake libboost-all-dev $ tar -xvf calpp-0.90.tar.gz $ cd calpp-0.90/ $ gedit CMakeLists.txt
このファイルでは、変更する必要があります
ライブラリをコンパイルします。
$ cmake . $ make $ make install
エラーが発生しない場合は先に進みます。そうでない場合は、CMakeLists.txtのすべてのファイルパス、特にバージョンを含むファイルパスを確認する必要があります。 最後に、最後のステップはpyritをビルドすることです:
$ cd ..
やった! 次に、pyritがGPUを認識しているかどうかを確認します。
$ pyrit list_cores Pyrit 0.4.1-dev (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ The following cores seem available...
そしてベンチマーク:
$ pyrit benchmark Pyrit 0.4.1-dev (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com This code is distributed under the GNU General Public License v3+ Running benchmark (26285.9 PMKs/s)... / Computed 26285.86 PMKs/s total.
まあ、それだけです。 今、あなたは夜に車を出て、その暖かさで暖まり、自分で眠りにつくことができます。
おわりに
誰かがこの記事の資料を役立ててくれることを願っています。別の家では、忘れられていた古いビデオカードの心臓部が生き返るでしょう。 以下のパートでは、複数のビデオアダプターをコラボレーション用に組み合わせること、および複数のマシンをクラスターに組み合わせることについて説明します。 すべて成功!
PS提供された機器について、
Dimonesの同志
に感謝します。