HsinCC987 2025-04-14 10:33 采纳率: 17.6%
浏览 5

容器執行 hashcat

我想要做一個ubuntu 22.04 為 OS 的容器來執行 hashcat(從git clone下來),請問依賴項等等相關的需要有甚麼呢?

  • 写回答

3条回答 默认 最新

  • 紫雾凌寒 新星创作者: 人工智能技术领域 2025-04-14 10:36
    关注

    让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    1. 关键点分析
      - 要在基于Ubuntu 22.04的容器中运行从git clone下来的hashcat,需要解决hashcat运行所需的依赖项问题。
      - 不同版本的hashcat可能对依赖项有不同要求,所以要确保安装的依赖版本与hashcat兼容。
    2. 解决方案
      - 安装基本依赖
      • 在Ubuntu 22.04中,首先需要安装一些基本的开发工具和库。可以通过以下命令更新软件包列表并安装:
        bash sudo apt update sudo apt install build-essential libssl-dev libpcap-dev liblzma-dev
      • build-essential包含了编译软件所需的基本工具,如gcc、g++等。
      • libssl-dev用于支持与SSL相关的加密操作,hashcat可能会用到。
      • libpcap-dev用于处理网络数据包捕获相关功能,在某些情况下可能是必要的。
      • liblzma-dev用于处理压缩和解压缩,hashcat可能会涉及文件的压缩解压操作。
      • 安装CUDA(如果需要GPU加速)
      • 访问NVIDIA官方网站下载适合Ubuntu 22.04的CUDA安装包。
      • 安装过程可以参考NVIDIA官方文档,大致步骤如下:
      • 禁用nouveau驱动:
        bash sudo nano /etc/modprobe.d/blacklist-nouveau.conf
        在文件中添加以下内容:
        blacklist nouveau options nouveau modeset=0
        然后更新initramfs:
        bash sudo update-initramfs -u
      • 安装CUDA:
        • 运行下载的CUDA安装脚本,按照提示进行安装。例如:
          bash sudo sh cuda_<version>_linux.run
      • 设置环境变量:
        bash export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
        可以将这些环境变量设置添加到.bashrc文件中,以便每次登录时自动生效。
      • 克隆hashcat并编译(如果需要)
      • 从git克隆hashcat仓库:
        bash git clone https://github.com/hashcat/hashcat.git
      • 进入hashcat目录:
        bash cd hashcat
      • 如果hashcat需要编译(有些版本可能已经预编译好二进制文件),可以执行编译命令:
        bash make
    3. 多种解决方案的优缺点
      - 直接使用预编译的二进制文件
      • 优点:简单快捷,无需编译过程,节省时间。适用于大多数用户,特别是不熟悉编译流程的用户。
      • 缺点:可能不是最新版本,且可能不包含特定机器上的优化。如果依赖的库版本不匹配,可能会出现兼容性问题。
      • 自行编译
      • 优点:可以确保使用最新版本的hashcat,并且可以根据自己机器的硬件配置(如CPU、GPU等)进行优化编译。
      • 缺点:编译过程可能会遇到各种问题,如依赖项缺失、编译器版本不兼容等,需要一定的技术能力来解决。
    4. 总结
      - 要在基于Ubuntu 22.04的容器中运行hashcat,首先要安装基本的依赖库,如build-essentiallibssl-devlibpcap-devliblzma-dev等。如果需要GPU加速,还需安装CUDA并正确设置环境变量。然后根据hashcat的具体情况,选择直接使用预编译二进制文件或自行编译。自行编译能获得最新和优化版本,但有一定技术门槛;使用预编译文件则更简单,但可能存在版本和兼容性限制。

    希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月14日