Tài liệu này giải thích cách cài driver NVIDIA trên Kali Linuxvà hỗ trợ CUDA, cho phép tích hợp với các công cụ kiểm tra xâm nhập phổ biến. Điều kiện tiên quyết Trước tiên, bạn sẽ cần đảm bảo rằng hệ thống của bạn được nâng cấp hoàn toàn và card của bạn hỗ trợ CUDA. Lưu ý: Các GPU có khả năng tính toán CUDA> 5.0 được khuyến nghị, nhưng các GPU có công suất thấp hơn sẽ vẫn hoạt động. apt update && apt dist-upgrade -y && reboot Hãy xác định chính xác GPU đã được cài đặt và kiểm tra các mô-đun hạt nhân đang sử dụng. root@kali:~# lspci -v 01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX 970] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ZOTAC International (MCO) Ltd. GM204 [GeForce GTX 970] Region 1: Memory at e0000000 (64-bit, prefetchable) [size=256M] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00 Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 Kernel driver in use: nouveau Kernel modules: nouveau Cài đặt Khi hệ thống đã khởi động lại, chúng tôi sẽ tiến hành cài đặt OpenCL ICD Loader, Drivers và bộ công cụ CUDA. apt install -y ocl-icd-libopencl1 nvidia-driver nvidia-cuda-toolkit Trong khi cài đặt các driver, hệ thống đã tạo ra các mô-đun hạt nhân mới, do đó cần khởi động lại một lần nữa. Xác minh cài đặt driver Bây giờ hệ thống đã sẵn sàng hoạt động, chúng ta cần phải xác minh rằng các driver đã được nạp một cách chính xác. Chúng ta có thể nhanh chóng xác minh điều này bằng cách chạy công cụ nvidia-smi.\ root@kali:~# nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 375.26 Driver Version: 375.26 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 970 Off | 0000:01:00.0 On | N/A | | 36% 46C P0 47W / 325W | 200MiB / 4036MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 692 G /usr/lib/xorg/Xorg 198MiB | +-----------------------------------------------------------------------------+ Với kết quả hiển thị driver và GPU một cách chính xác, giờ đây chúng ta có thể đi sâu vào benchmarking. Trước khi tiếp tục, hãy kiểm tra kỹ để chắc chắn rằng hashcat và CUDAđang làm việc cùng lúc. root@kali:~# hashcat -I OpenCL Info: Platform ID #1 Vendor : NVIDIA Corporation Name : NVIDIA CUDA Version : OpenCL 1.2 CUDA 8.0.0 Device ID #1 Type : GPU Vendor ID : 32 Vendor : NVIDIA Corporation Name : GeForce GTX 970 Version : OpenCL 1.2 CUDA Processor(s) : 13 Clock : 1240 Memory : 1009/4036 MB allocatable OpenCL Version : OpenCL C 1.2 Driver Version : 375.26 Có vẻ như mọi thứ đang hoạt động, hãy tiếp tục và chạy thử nghiệm benchmark. Benchmarking root@kali:~# hashcat -b OpenCL Platform #1: NVIDIA Corporation ====================================== * Device #1: Geforce GTX 970, 1009/4095 MB allocatable, 13MCU Hashtype: MD5 Speed.Dev.#1.....: 10443.1 MH/s Hashtype: SHA1 Speed.Dev.#1.....: 3349.8 MH/s Hashtype: SHA256 Speed.Dev.#1.....: 1321.8 MH/s Có vô số cấu hình để cải thiện tốc độ, không được đề cập trong hướng dẫn này. Chúng tôi khuyến khích bạn đọc thêm tài liệu cho từng trường hợp cụ thể. Xử lý sự cố Trong quá trình thiết lập, mọi thứ có thể diễn ra theo kế hoạch, chúng ta sẽ cài đặt clinfo để biết thông tin khắc phục sự cố chi tiết. apt install -y clinfo Trình tải OpenCL Loader Có thể cần phải kiểm tra các gói bổ sung có thể xung đột với thiết lập của mình. Trước tiên, hãy kiểm tra xem OpenCL Loader nào đã cài đặt. NVIDIA OpenCL Loader và OpenCL Loader chung chung sẽ đều hoạt động trên hệ thống. root@kali:~# dpkg -l |grep -i icd ii nvidia-egl-icd:amd64 375.26-2 amd64 NVIDIA EGL installable client driver (ICD) ii nvidia-opencl-icd:amd64 375.26-2 amd64 NVIDIA OpenCL installable client driver (ICD) ii nvidia-vulkan-icd:amd64 375.26-2 amd64 NVIDIA Vulkan installable client driver (ICD) ii ocl-icd-libopencl1:amd64 2.2.11-1 Nếu mesa-opencl-icd được cài đặt chạy: apt remove mesa-opencl-icd Vì việc cài đặt bộ nạp ICD tương thích đã được xác nhận, chúng ta có thể dễ dàng xác định loader nào hiện đang được sử dụng. root@kali:~# clinfo | grep -i "icd loader" ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.2.11 ICD loader Profile OpenCL 2.1 Như dự kiến, thiết lập đang sử dụng loader nguồn mở đã được cài đặt trước đó. Bây giờ, hãy lấy một số thông tin chi tiết về hệ thống. Truy vấn thông tin GPU Chúng ta sẽ sử dụng nvidia-smi một lần nữa, nhưng với một kết quả chi tiết hơn nhiều. root@kali:~# nvidia-smi -i 0 -q Driver Version : 375.26 Attached GPUs : 1 GPU 0000:01:00.0 Product Name : GeForce GTX 970 Product Brand : GeForce Display Mode : Enabled Display Active : Enabled Persistence Mode : Disabled Accounting Mode : Disabled Accounting Mode Buffer Size : 1920 Temperature GPU Current Temp : 47 C GPU Shutdown Temp : 96 C GPU Slowdown Temp : 91 C Clocks Graphics : 1101 MHz SM : 1101 MHz Memory : 3523 MHz Video : 1012 MHz Processes Process ID : 692 Type : G Name : /usr/lib/xorg/Xorg Used GPU Memory : 198 MiB Có vẻ như GPU đang được nhận diện chính xác, vì vậy hãy sử dụng glxinfo để xác định xem đã bật 3D Rendering chưa. root@kali:~# glxinfo | grep -i "direct rendering" direct rendering: Yes Sự kết hợp của những công cụ này sẽ hỗ trợ quá trình xử lý sự cố rất nhiều. Nếu bạn vẫn gặp sự cố, chúng tôi khuyên bạn nên tìm kiếm các thiết lập tương tự và bất kỳ yếu tố nào có thể ảnh hưởng đến hệ thống.