
smbclient-ng, a fast and user friendly way to interact with SMB shares.

smbclient-ng — быстрый и удобный способ взаимодействия с SMB-ресурсами.
[!NOTE] Обратите внимание на новый smbclient-ng, написанный на Go — он быстрее и кроссплатформенный по умолчанию!
acls: Показать списки ACL файлов и папок в текущей директории. Синтаксис: aclsbat: Красиво выводит содержимое файла. Синтаксис: bat <file>bhead: Красиво выводит первые n строк файла. Синтаксис: bhead <file>btail: Красиво выводит последние n строк файла. Синтаксис: btail <file>cat: Получить содержимое файла. Синтаксис: cat <file>cd: Сменить текущую рабочую директорию. Синтаксис: cd <directory>close: Закрывает SMB-подключение к удалённой машине. Синтаксис: closeconnect: Подключиться к удалённой машине (полезно, если подключение истекло по таймауту). Синтаксис: connectdir: Вывести содержимое текущей рабочей директории. Синтаксис: direxit: Выход из скрипта smbclient-ng. Синтаксис: exitget: Получить удалённый файл. Синтаксис: get [-r] <directory or file>help: Показывает это справочное сообщение. Синтаксис: helphead: Получить первые n строк удалённого файла. Синтаксис: head <file>history: Показывает историю команд. Синтаксис: historyinfo: Получить информацию о сервере и/или общем ресурсе. Синтаксис: info [server|share]lbat: Красиво выводит содержимое локального файла. Синтаксис: lbat <file>lcat: Вывести содержимое локального файла. Синтаксис: lcat <file>lcd: Сменить текущую локальную директорию. Синтаксис: lcd <directory>lcp: Создать копию локального файла. Синтаксис: lcp <srcfile> <dstfile>lls: Выводит содержимое текущей локальной директории. Синтаксис: llslmkdir: Создаёт новую локальную директорию. Синтаксис: lmkdir <directory>lpwd: Показывает текущую локальную директорию. Синтаксис: lpwdlrename: Переименовывает локальный файл. Синтаксис: lrename <oldfilename> <newfilename>lrm: Удаляет локальный файл. Синтаксис: lrm <file>lrmdir: Удаляет локальную директорию. Синтаксис: lrmdir <directory>ls: Вывести содержимое текущей удалённой рабочей директории. Синтаксис: lsltree: Отображает локальные директории в виде дерева. Синтаксис: ltree [directory]metadata: Получить метаданные о файле или директории. Синтаксис: metadata <file|directory>mkdir: Создаёт новую удалённую директорию. Синтаксис: mkdir <directory>module: Загружает конкретный модуль для дополнительных функций. Синтаксис: module <name>mount: Создаёт точку монтирования удалённого общего ресурса на локальной машине. Синтаксис: mount <remote_path> <local_mountpoint>put: Поместить локальный файл или директорию в удалённую директорию. Синтаксис: put [-r] <directory or file>reconnect: Переподключиться к удалённой машине (полезно, если подключение истекло по таймауту). Синтаксис: reconnectreset: Сбросить вывод TTY, полезно, если он был повреждён после вывода бинарного файла в stdout. Синтаксис: resetrm: Удаляет удалённый файл. Синтаксис: rm <file>rmdir: Удаляет удалённую директорию. Синтаксис: rmdir <directory>sessions: Управление SMB-сессиями. Синтаксис: sessions [interact|create|delete|execute|list]shares: Выводит список SMB-ресурсов, предоставляемых удалённой машиной. Синтаксис: sharessizeof: Рекурсивно вычисляет размер папки. Синтаксис: sizeof [directory|file]tail: Получить последние n строк удалённого файла. Синтаксис: tail <file>tree: Отображает удалённые директории в виде дерева. Синтаксис: tree [directory]umount: Удаляет точку монтирования удалённого общего ресурса на локальной машине. Синтаксис: umount <local_mount_point>use: Использовать SMB-ресурс. Синтаксис: use <sharename>Для установки smbclient-ng вы можете использовать pip, pip3 или pipx. Вы можете выполнить любую из следующих команд в вашем терминале для установки smbclient-ng:
С помощью pip:
python3 -m pip install smbclientng
С помощью pip3:
pip3 install smbclientng
С помощью pipx:
pipx install smbclientng

$ ./smbclient-ng.py
_ _ _ _
___ _ __ ___ | |__ ___| (_) ___ _ __ | |_ _ __ __ _
/ __| '_ ` _ \| '_ \ / __| | |/ _ \ '_ \| __|____| '_ \ / _` |
\__ \ | | | | | |_) | (__| | | __/ | | | ||_____| | | | (_| |
|___/_| |_| |_|_.__/ \___|_|_|\___|_| |_|\__| |_| |_|\__, |
by @podalirius_ v2.1.8 |___/
usage: smbclientng [-h] [--debug] [--no-colors] [-l LOGFILE] [-T TIMEOUT] [-a ADVERTISED_NAME] [-C COMMAND] [-S STARTUP_SCRIPT] [-N] -H HOST [-P PORT] [-d DOMAIN] [-u USER]
[-p [PASSWORD] | --no-pass | --hashes [LMHASH:]NTHASH | --aes-key HEXKEY | -k | --kdcHost KDCHOST]
smbclient-ng, a fast and user-friendly way to interact with SMB shares.
options:
-h, --help show this help message and exit
Config:
--debug Enable debug mode.
--no-colors Disable colored output.
-l LOGFILE, --logfile LOGFILE
Log file path.
-T TIMEOUT, --timeout TIMEOUT
Timeout for SMB connections (default: 3s)
-a ADVERTISED_NAME, --advertised-name ADVERTISED_NAME
Advertised machine name.
Commands:
-C COMMAND, --command COMMAND
smbclient-ng commands to execute.
-S STARTUP_SCRIPT, --startup-script STARTUP_SCRIPT
Startup script with commands.
-N, --not-interactive
Non-interactive mode.
Target:
-H HOST, --host HOST Target SMB Server IP or hostname.
-P PORT, --port PORT Target SMB Server port (default: 445).
Authentication & Connection:
-d DOMAIN, --domain DOMAIN
Authentication domain.
-u USER, --user USER Username for authentication.
Secrets:
-p [PASSWORD], --password [PASSWORD]
Password.
--no-pass Do not prompt for a password.
--hashes [LMHASH:]NTHASH
NT/LM hashes.
--aes-key HEXKEY AES key for Kerberos authentication.
-k, --kerberos Use Kerberos authentication.
--kdcHost KDCHOST Fully qualified domain name (FQDN) of key distribution center (KDC) for Kerberos.
smbclient-ng -d "LAB" -u "Administrator" -p 'Admin123!' --host "10.0.0.201"
Pull request'ы приветствуются. Не стесняйтесь открыть issue, если хотите добавить другие функции.