私はジョン1.7.9のMPI機能を使用しようとしており、8コアのサーバーマシン1台で単純な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
mpich2 の代わりに OpenMPI を使用する場合、SIGHUP シグナルは john に渡されません。代わりに SIGUSR1 を送信する必要があります。