我正在尝试使用 john 1.7.9 的 MPI 功能,并在一台 8 核服务器上使用简单的 4 个字符密码进行测试。我注意到成功后,破解密码的进程退出,而其余进程仍在运行。这是一个已知问题,还是一个新的错误?此外,有没有解决方法(除了监控每个进程的时间并寻找差异,这并没有真正的结论)。
细节:
mpiexec --version
mpiexec (OpenRTE) 1.4.3
...
mpiexec -n 8 -host localhost ./run/john temp --format=raw-md5
...
mpiexec -n 8 -host localhost killall -s HUP john && mpiexec -n 8 -host localhost ./john --status
0: guesses: 0 time: 0:00:00:07 0.00% (3) c/s: 4424K
3: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 7985K
7: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 7190K
4: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 6643K
6: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 7319K
1: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 9367K
2: guesses: 0 time: 0:00:01:34 0.00% (3) c/s: 6774K
5: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 6740K
SUM: guesses: 0 time: 0:00:01:35 0.00% (3) c/s: 59635K avg 7454K
注意进程 0 的运行时间以及它仍然报告 0 次猜测。运行 john --status 显示以下内容:
./run/john --show temp --format=raw-md5
?:asdq
1 password hash cracked, 0 left
答案1
如果您使用 OpenMPI 而不是 mpich2,则 SIGHUP 信号不会传递给 john。必须发送 SIGUSR1。