|
通过运作的MPI建立可扩展密码破解。就目前而言,它会告诉你利用所有内核的单台PC的破解,而不是仅仅一个内核。
目标:
安装一组类似可扩展性的目录结构
安装OpenMPI
安装John的Ripper MPI
运行一个简单的测试并破解一个MD5哈希
目录结构的方法
建立一个系统,这几乎是最重要的部分,该系统的可扩展性将不会破坏你升级到最新版本的应用程序。我要迅速列出提纲,我如何为一台机器建立一个目录结构。
/apps/
/apps/myapp1/
/apps/myapp1/v1.x/
/apps/myapp1/v1.x/install/
/apps/myapp1/v1.x/x86_32/
/apps/myapp1/v1.x/x86_64/
/apps/myapp1/v2.x/
/apps/myapp1/v2.x/install/
/apps/myapp1/v2.x/x86_32/
/apps/myapp1/v2.x/x86_64/
/apps/myapp1/latest ? v2.x/
/apps/myapp1/stable ? v1.x/
/apps/myapp1/env/
/apps/
这个基本目录为我们所有的群组用户应用。
/apps/myapp1/
在“myapp1”这种情况下,我们为每个应用程序创建一个基本目录的子目录。
/apps/myapp1/v1.x/
稳定版本的应用程序将低于此目录结构。将使用实际版本号作为目录名称。
/apps/myapp1/v1.x/install/
源代码为这一特定版本将被下载、解压、并汇编于此目录。
/apps/myapp1/v1.x/x86_32/
如果应用程序是汇编的32位处理器,那么这就将被安装并运行。
/apps/myapp1/v1.x/x86_64/
如果应用程序是汇编的64位处理器,那么这就将被安装并运行。
/apps/myapp1/v2.x/
最新版本的应用软件将进入下面这个目录结构。
/apps/myapp1/v2.x/install/
源代码位这一特定版本将被下载、解压、并汇编此目录。
/apps/myapp1/v2.x/x86_32/
如果应用程序师汇编的32位处理器,那么这就将被安装并运行。
/apps/myapp1/v2.x/x86_64/
如果应用程序师汇编的64位处理器,那么这就将被安装并运行。
/apps/myapp1/latest ? v2.x
这是一个符号链接“latest”指向目录命名的不稳定安装的版本。
/apps/myapp1/stable ? v1.x
这是一个符号链接“stable”指向目录命名的稳定安装的版本。
这些符号链接将允许你升级软件,而不是以适应变化需要重建环境。只需修改符号连接指向新版本。如果我有“/apps/myapp1/v1.x/bin/”在所有用户.bashrc的$PATH变量,那么我将必须更新所有用户.bashrc文件,升级到“/apps/myapp1/v2.x/bin/”。通过使用“latest”和“stable”符号链接,你只需要把每个用户的.bashrc文件放置到“/apps/myapp1/stable/bin/”。当要迁移所有用户到“/apps/myapp1/v2.x/bin/”,只需修改“stable”的符号链接指向它。一个简单的更改符号链接,所有用户将自动开始使用最新版本。这对于可扩展性并可让你测试新的版本是非常重要的,不影响其他用户把“/apps/myapp1/latest/bin/”放置到你的$PATH中。
/apps/myapp1/env/
这是脚本和修改用户环境的文件。
硬件和软件
我选择的是GNU/Linux发行版。我已经安装到一个包含“Intel(R) Xeon(R) E5405 @ 2.00GHz”四核处理器的服务器。这就是为什么我使用“-np 4”命令。
注意:我使用的是64位的操作系统和软件,注意你的版本。
安装OpenMPI
OpenMPI v1.3.2 (最新版本) / OpenMPI v1.3.1 (稳定版本)
~ # mkdir /apps
~ # mkdir /apps/openmpi
安装 v1.3.2:
~ # mkdir /apps/openmpi/v1.3.2
~ # ln -s /apps/openmpi/v1.3.2 /apps/openmpi/latest
~ # mkdir /apps/openmpi/v1.3.2/install
~ # mkdir /apps/openmpi/v1.3.2/x86_32
~ # mkdir /apps/openmpi/v1.3.2/x86_64
~ # cd /apps/openmpi/v1.3.2/install
~ # wget http://www.open-mpi.org/software ... penmpi-1.3.2.tar.gz
~ # tar -xf openmpi-1.3.2.tar.gz
~ # cd openmpi-1.3.2
32位系统:
~ # ./configure –prefix= /apps/openmpi/v1.3.2/x86_32
64位系统:
~ # ./configure –prefix=/apps/openmpi/v1.3.2/x86_64
~ # make
~ # make install
安装 v1.3.1:
~ # mkdir /apps/openmpi/v1.3.1
~ # ln -s /apps/openmpi/v1.3.1 /apps/openmpi/stable
~ # mkdir /apps/openmpi/v1.3.1/install
~ # mkdir /apps/openmpi/v1.3.1/x86_32
~ # mkdir /apps/openmpi/v1.3.1/x86_64
~ # cd /apps/openmpi/v1.3.1/install
~ # wget http://www.open-mpi.org/software ... penmpi-1.3.1.tar.gz
~ # tar -xf openmpi-1.3.1.tar.gz
~ # cd openmpi-1.3.1
32位系统:
~ # ./configure –prefix= /apps/openmpi/v1.3.1/x86_32
64位系统:
~ # ./configure –prefix=/apps/openmpi/v1.3.1/x86_64
~ # make
~ # make install
~ # mkdir /apps/openmpi/env
~ # cd /apps/openmpi/env
~ # echo ‘export PATH=${PATH}:/apps/openmpi/latest/x86_64/bin’ > prepenv_latest
~ # echo ‘export PATH=${PATH}:/apps/openmpi/stable/x86_64/bin’ > prepenv_stable
编辑/etc/env.d/00basic并修改LDPATH:
LDPATH=”/usr/local/lib:/apps/openmpi/latest/x86_64/lib:/apps/openmpi/stable/x86_64/lib”
~ # env-update && source /etc/profile
运行OpenMPI健全检查:
~ # source /apps/openmpi/env/prepenv_latest
~ # mpirun -np 4 hostname
最后的命令,上面输出的电脑主机四倍。不低,不高,四倍。如果是的话,那么你的“最新”OpenMPI版本正在工作。
~ # env-update && source /etc/profile
~ # source /apps/openmpi/env/prepenv_stable
~ # mpirun -np 4 hostname
最后的命令,上面输出的电脑主机四倍。不低,不高,四倍。如果是的话,那么你的“稳定”OpenMPI版本正在工作。
安装John the Ripper MPI
John the Ripper MPI v1.7.3.1
~ # mkdir /apps/jtr
安装 v1.7.3.1:
~ # mkdir /apps/jtr/v1.7.3.1
~ # ln -s /apps/jtr/v1.7.3.1 /apps/jtr/latest
~ # mkdir /apps/jtr/v1.7.3.1/install
~ # mkdir /apps/jtr/v1.7.3.1/x86_32
~ # mkdir /apps/jtr/v1.7.3.1/x86_64
~ # cd /apps/jtr/v1.7.3.1/install
~ # wget http://www.bindshell.net/tools/j ... 1-all-2-mpi8.tar.gz
~ # tar -xf john-1.7.3.1-all-2-mpi8.tar.gz
~ # cd john-1.7.3.1-all-2-mpi8/src
32位系统:
~ # make linux-x86-sse2
64位系统:
~ # make linux-x86-64
​
|
|