如何在多个CPU上并行运行john?

如何在多个CPU上并行运行john?

如果我使用:

john --incremental UNSHADOWEDFILE

然后我可以看到它只使用 1 个 CPU。如何设置 john 使用多个 CPU 来查找弱密码? (由于审核需要更快地找到薄弱环节)

答案1

基本上,您必须确保使用启用了 OpenMP 支持的最新 John 版本。

如果您自己编译它,则必须在 makefile 中显式启用 OpenMP 支持(并验证所需的依赖项是否可用 - 例如 GCC >= 4.2)。

OpenMP 支持并不一定适用于所有哈希方法,并且社区版本 (-jumbo) 支持的内容比官方版本更多。

使用生成的二进制文件,您可以通过调用ldd来验证它是否具有 OpenMP - 它应该显示一些与 mp 相关的库。您还可以通过环境变量指定OMP_NUM_THREADSOpenMP 程序应使用的核心数量 - 如果未设置,则默认值(在 Linux 上)应为:所有核心。

另请参阅John's Wiki 中有关 OpenMP 的注释

相关内容