




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
转载请注明出处,作者博客地址在本文中我将一步一步指导大家设置自己的“高性能集群”又叫科学运算集群,通过Ubuntu MPI Cluster平台,借助John the Ripper实现在多台计算机上对加密过的目标进行暴力破解。当然这一切应以学术研究为目的。计算机上具备四核处理器的朋友该笑了。尽管Ubuntu 软件库中的”john”二进制代码原本只针对于单核运行,但我的设置将尝试使其在四核计算机上运行效率更高,耗时更少。本文的出发点是将问题表达得通俗易懂,以使普通用户便于理解掌握,因此我决定不在其中涉及NIS,NFS,BIND或诸如此类的复杂技术。读者应该不必花费数天时间阅读有关Linux系统管理员知识的教材或手册,也能在家中轻松建立并玩转计算机集群系统。我制作的应用基于Ubuntu 10.04 Server,因为它是迄今为止最常用的Linux工具,同时也是一种蕴涵长效机制的版本,在2015年之前可以一直适用。说明本文中谈到的集群实施方案并不会对具备高实用性及安全性的运行环境构成威胁。环境我发现不得不从破解自己设置的一个尘封多年早已忘却的老密码开始着手。在搜集了几台手边的计算机之后,我开始尝试让它们协同工作。本文的诞生,是极端沮丧的心情、过量的咖啡因加上一整个不眠之夜的产物。基本要求需要至少两台可运行Ubuntu Linux 10.04版本且已联网的计算机。“John”并不需要太大的带宽。服务器配置服务器要求一个静态IP地址或DHCP中保留的IP。需要用到的软件包以下软件包是必备的:libmpich1.0 - dev- MPICH静态库和开发文件libmpich - mpd1.0 - dev- MPICH静态库和开发文件 libmpich - shmem1.0 - dev- MPICH静态库和开发文件 openssh-server 安全框架 (SSH) 工具, 保障远程计算机的安全访问 mpich2 实施MPI信息传递接口标准 mpich2-doc MPICH2相关文档 john 强力的密码破解工具build-essentials 必备软件包的信息统计清单markserver:$ sudo apt-get install libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 mpich2-doc john openssh-server build-essentials默认情况下,/etc/hosts文件应如下所示: localhost server.petur.eu server#下列内容是采用IPv6协议的主机fe00:0 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters首先把你的IP地址修改为。处应为你的FQDN,而处应为你的计算机主机名。通过执行下列命令查找你的IP:peturserver:$ ifconfig|grep “inet addr”inet addr: Bcast:55 Mask:inet addr: Mask:配置John the Ripper在/tools/johntheripper处可以获取具备MPI补丁版本的John the Ripper。clusterserver:$ mkdir sourceclusterserver:$ cd sourceclusterserver:/source$ wget /tools/johntheripper/john-1.7.2-bp 17-mpi8.tar.gz从src目录中解压并运行make指令(若你的计算机分辨率太小,请尝试使用make|less指令)。clusterserver:/source$ tar -zxf john-1.7.2-bp17-mpi8.tar.gclusterserver:/source$ cd john-1.7.2-bp17-mpi8/src/clusterserver:/source/john-1.7.2-bp17-mpi8/src$ make修改后/etc/hosts下的内容应如下所示: localhost server.petur.eu server#下列内容是采用IPv6协议的主机:1 localhost ip6-localhost ip6-loopbackfe00:0 ip6-localnetff00:0 ip6-mcastprefixff02:1 ip6-allnodesff02:2 ip6-allrouters用户配置新建一个名为“cluster”(集群)并在其路径中加入/bin/代码。我发现在每台计算机上都对cluster采取相同的设置步骤是最便捷的做法。peturserver:$ sudo useradd -m -s /bin/bash clusterpeturserver:$ sudo passwd clusterEnter new UNIX password:(输入新的UNIX密码)Retype new UNIX password:(再次输入新的UNIX密码)passwd: password updated successfully(密码:密码更改成功)peturserver:$ sudo su cluster -c “mkdir /bin;export PATH=/bin:$PATH”MPICH设置MPI的应用基于以下配置文件: /.mpd.conf注:此文件以a开头且必须配合chmod 600才能生效。此文件在你的密码中包含一个单独的命令行“secretword=“(replace ,其内容必须与集群中所有/.mpd.conf中的相关内容相同。 /mpd.hosts此文件中包含所有集群节点及服务器的列表,其格式为“host:number-of-cpu-cores”, fx。如果您的计算机具备四核心处理器,则将设置为:4。如果你只是想使用MPICH的功能而不在乎可用处理器核心的数量,那么该数值可以设置得低于实际情况。举例说明,如果服务器具备四核心处理器,你可能希望将数值设置为:3,而不是:4,这样服务器可以同时处理其它一些运算。千万不要预设localhost或这类你必须连接网络才能使用的IP。检查处理器核心数量,并创建配置文件。clusterserver:$ touch /.mpd.confclusterserver:$ chmod 600 /.mpd.confclusterserver:$ echo secretword=pass/.mpd.confclusterserver:$ /sbin/ifconfig|grep “inet addr”clusterserver:$ /sbin/ifconfig|grep “inet addr”inet addr: Mask:clusterserver:$ cat /proc/cpuinfo|grep processor|wc lclusterserver:$ echo : 1 /mpd.hosts设置完成后,通过执行以下指令检查是否运行正常: mpdboot 启动集群 mpdtrace - 列出群体的所有节点 mpdallexit 关闭集群mpdallexit shut down the clusterclusterserver:$ mpdtraceclusterserver:$ mpdallexit此时你会看到一个选项清单。要创建John the Ripper,键入保持系统清空运行所需的系统如下所示:如果设置方面没有任何错误,那么你的指令将全部被正确执行。如果出现问题,请检查你的/.mpd.cof的权限设置及/etc/hosts和/mpd.hosts的内容是否正确。linux-x86-mmx Linux, x86 with MMXlinux-x86-sse Linux, x86 with SSE2 (推荐)linux-x86-any Linux, x86linux-x86-64 Linux, AMD x86-64, 64-bit native w/SSE2 (推荐)linux-x86-64-mmx Linux, AMD x86-64, 32-bit with MMX我发现linux-x86-sse2在我基于Intel架构的工作站上运行效果最好。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ make clean linux-x86-sse2如果程序编译过程没问题,测试一下它能否正常工作。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ ./run/john -format=DES testBenchmarking: Traditional DES 128/128 BS SSE2 DONEMany salts: 1994K c/s real, 1994K c/s virtualOnly one salt: 1658 c/s real, 1654K c/s virtual将你新编译出的可执行文件移动至/bin下。运行John程序并确保它是_mpi版本。如果仍然无法正常运行,那可能是你的绝对路径出了问题。clusterserver:/source/john-1.7.2-bp17-mpi8/src$ john|grep versionJohn the Ripper password cracker, version 1.7.2_bp17_mpi配置额外的节点每次在集群中新增节点,都需要遵循下列操作:该节点的IP地址为前期准备一个静态IP地址或DHCP中保留的IP。网络配置遵循服务器配置中的相同步骤,但注意过程中要使用正确的IP地址。必备的软件包。与服务器设置时的要求相同。用户配置为集群选择与你在服务器上所设置的相同的密码。peturnode1:$ sudo useradd -m -s /bin/bash clusterpeturnode1:$ sudo passwd clusterEnter new UNIX password:Retype new UNIX password:passwd: password updated successfullypeturnode1:$ sudo su cluster -c “mkdir /bin;export PATH=/bin:$PATH”MPICH配置下列命令应被从服务器上而非新节点上执行。节点上的密码设置与服务器相比,减少了SSH环节clusterserver:$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/cluster/.ssh/id_rsa):Created directory /home/cluster/.sshEnter passpharse (empty for no passpharse):Enter same passpharse again:Your identification has been saved in /home/cluster/.ssh/id_rsa.Your public key has been saved in /home/cluster/.ssh/id_rsa.pub.The key fingerprint is:0f:d7:c4:14:cf:06:11:d5:80:ec:1f:c3:f3:3b:7f:22 clusterserverThe keys randomart image is(随机密钥图片如下):picture omitted(图片省略)clusterserver:$ ssh cluster mkdir -p .sshclusters password:clusterserver:$ cat .ssh/id_rsa.pub | ssh cluster cat.ssh/authorized_keysclusters password:clusterserver:$ ssh cluster cat /proc/cpuinfo|grep processor|wc -l2clusterserver:$ echo :2 /mpd.hostsclusterserver:$ for i in cut delimiter=: -f1 /mpd.hosts;do scp /.mpd.conf cluster$i:;scp/mpd.hosts cluster$i:;doneThe authenticity of host () cant be established.RSA key fingerprint is 2d:94:c6:40:b0:02:04:d9:86:c8:16:f3:e6:a7:9f:35.Are you sure you want to countinue connecting (yes/no)? YesWarning: Permanently added (RSA) to the list of known hosts.clusters password:mpd.conf 100% 16 0.0KB/s 00:00.clusters password:mpd.hosts 100% 22 0.0KB/s 00:00mpd.conf 100% 16 0.0KB/s 00:00.mpd.hosts 100% 22 0.0KB/s 00:00现在将以下新命令行添加至服务器上/etc/hosts下的文件中: node1最后一步,将所有节点计算机上的/etc/hosts下的内容替换为服务器上/etc/hosts下的新内容。如果这一步没有完成,那么当你尝试启动群集时,将会提示以下错误:mpdboot_server (handle_mpd_output 407): failed to handshake with mpd on ; recvd安装John the Ripper与服务器上的过程相同。基本命令使用 mpdboot verbose ncpus=1 -n 2指令启动群集 verbose :当发生错误时,更好地向我们提供当前运行状况的概述。ncpus=1 :通知服务器计算机将一个核心分配给集群。 -n 2 :使用两台计算机(一台服务器加一台节点)。clusterserver:$ mpdboot verbose ncpus=1 -n 2running mpdallexit on serverLAUNCHED mpd on server viaRUNNING: mpd on serverLAUCNHED mpd on via serverRUNNING: mpd on 检查集群是否处于工作状态mpdtrace 列出集群中的所有节点mpiexec -np 3 hostname,意思是使用三个处理器核心运行hostname指令。clusterserver:$ mpdtraceservernode1clusterserver:$ mpiexec -np 3 hostnameservernode1node1mpdallexit 关闭集群clusterserver:$ mpdallexit借助MPI集群破解密码我将以一个简单的MD5散表为例:clusterserver:$ echo user:47584a15f1ba6c65da3a2ef8e43
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南郴州市招聘1人笔试历年参考题库附带答案详解
- 2025年福建三明市某央企招聘1人笔试历年参考题库附带答案详解
- 2025年开封产城融合投资集团有限公司及下属子公司公开招聘18人笔试历年参考题库附带答案详解
- 2025安康市至诚人力资源服务有限公司招聘见习生笔试历年参考题库附带答案详解
- 2025广西河池市金城江区人民法院招聘3人模拟试卷附答案详解(典型题)
- 2025河北农业大学选聘50人模拟试卷附答案详解
- 2025湖南郴州桂东县城市管理和综合执法局辅助执法临聘人员招聘模拟试卷及参考答案详解1套
- 2025黑龙江哈尔滨市巴彦县公安局招聘警务辅助人员32人考前自测高频考点模拟试题带答案详解
- 2025年六安市人民医院公开招聘69人模拟试卷及答案详解(全优)
- 2025年临沂市工业学校公开招聘教师(40名)考前自测高频考点模拟试题有完整答案详解
- 内部审核检查记录表
- 数据安全国家标准体系(2025 版)
- DB61-T 5125-2025 绿色生态小区建设评价标准
- 不良债权管理办法
- 浙江省质量科学研究院招聘(2025年第二批)笔试模拟试题附答案详解
- 研学旅行设计学习情境三研之有方研学设计06课件
- 面向高效节能的空调换热器微通道结构优化设计与实验验证
- 羊水过少的诊断与处理
- 中国共产主义青年团团章
- 云南省地图含市县地图矢量分层地图行政区划市县概况ppt模板
- GB/T 41843-2022功能、残疾、健康分类的康复组合评定
评论
0/150
提交评论