Establish scalable password cracking through running MPI. For the moment, it will tell you how to use a single PC of all Kernels to crack, instead of just one kernel. Objective: To install a set of scalable directory structures install OpenMPI install John's Ripper MPI run a simple test and crack an MD5 hash directory structure to create a system, this is almost the most important part, and the scalability of the system will not undermine your upgrade to the latest version of the application. I want to quickly outline how I can create a directory structure for a machine. /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/this basic directory is for all our group user applications. /Apps/myapp1/in the case of "myapp1", we create a subdirectory of the basic directory for each application. /Apps/myapp1/v1.x/stable version of the application will be lower than this directory structure. The actual version number is used as the directory name. /Apps/myapp1/v1.x/install/the source code for this specific version will be downloaded, decompressed, and compiled in this directory. /Apps/myapp1/v1.x/x86_32/if the application is a compiled 32-bit processor, this will be installed and run. /Apps/myapp1/v1.x/x86_64/if the application is a compiled 64-bit processor, this will be installed and run. /Apps/myapp1/v2.x/the latest version of the application will enter the following directory structure. /Apps/myapp1/v2.x/install/source code. This specific version will be downloaded, decompressed, and compiled into this directory. /Apps/myapp1/v2.x/x86_32/If the 32-bit processor compiled by the application programmer, this will be installed and run. /Apps/myapp1/v2.x/x86_64/If the 64-bit processor compiled by the application programmer, this will be installed and run. /Apps/myapp1/latest? V2.x this is a symbolic link "latest" pointing to the version of the unstable installation named in the directory. /Apps/myapp1/stable? V1.x this is a symbolic link "stable" pointing to the stable installed version named in the directory. These symbolic links allow you to upgrade the software, rather than rebuilding the environment to adapt to changes. You only need to modify the symbolic connection to point to the new version. If I have "/apps/myapp1/v1.x/bin/" in all users. bashrc $ PATH variable, then I will have to update all users. upgrade the bashrc file to "/apps/myapp1/v2.x/bin /". By using the "latest" and "stable" symbolic links, you only need to place each user's. bashrc file to "/apps/myapp1/stable/bin /". To migrate all users to "/apps/myapp1/v2.x/bin/", you only need to modify the symbolic link of "stable" to point to it. A simple change Symbolic Link, all users will automatically start to use the latest version. This is very important for scalability and allows you to test new versions. It does not affect other users to put "/apps/myapp1/latest/bin/" in your $ PATH. /Apps/myapp1/env/is the script and file used to modify the user environment. I chose the GNU/Linux release for hardware and software. I have installed a server with an Intel (R) Xeon (R) E5405 @ 2.00GHz quad core processor. This is why I use the "-np 4" command. Note: I am using a 64-bit operating system and software. Pay attention to your version. Install OpenMPI v1.3.2 (Latest Version)/OpenMPI v1.3.1 (stable version )~ # Mkdir/apps ~ # Install 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/ompi/v1.3/downloads/openmpi-1.3.2.tar.gz~ # Tar-xf openmpi-1.3.2.tar.gz ~ # Cd openmpi-1.3.2 32-bit system :~ #./Configure-prefix =/apps/openmpi/v1.3.2/x86_32 64-bit system :~ #./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/ompi/v1.3/downloads/openmpi-1.3.1.tar.gz~ # Tar-xf openmpi-1.3.1.tar.gz ~ # Cd openmpi-1.3.1 32-bit system :~ #./Configure-prefix =/apps/openmpi/v1.3.1/x86_32 64-bit system :~ #./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 edit/etc/env. d/00basic and modify LDPATH: LDPATH = "/usr/local/lib:/apps/openmpi/latest/x86_64/lib:/apps/openmpi/stable/x86_64/lib "~ # Env-update & source/etc/profile run OpenMPI health check :~ # Source/apps/openmpi/env/prepenv_latest ~ # The last command of mpirun-np 4 hostname is four times that of the Computer Host output above. Not low, not high, four times. If yes, your "latest" OpenMPI version is working. ~ # Env-update & source/etc/profile ~ # Source/apps/openmpi/env/prepenv_stable ~ # The last command of mpirun-np 4 hostname is four times that of the Computer Host output above. Not low, not high, four times. If yes, your "stable" OpenMPI version is working. Install John the Ripper MPI v1.7.3.1 ~ # Install 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/johntheripper/john-1.7.3.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-bit system :~ # Make linux-x86-sse2 64-bit system :~ # Make linux-x86-64