nbtstat
nbtstat — это утилита командной строки, предназначенная для диагностики и отображения статистики протокола NetBIOS через TCP/IP (NBT). Входит в состав операционных систем семейства Windows, начиная с Windows NT, и используется для устранения неполадок в работе сетей, где применяется разрешение имён NetBIOS. Утилита позволяет просматривать локальную таблицу имён NetBIOS (NBT), кэш удалённых имён, сессии NetBIOS, а также выполнять принудительное обновление или освобождение NetBIOS-имён.
История и контекст
Протокол NetBIOS (Network Basic Input/Output System) был разработан компанией Sytek Inc. в 1983 году для IBM. Он предоставлял механизмы для организации сетевого взаимодействия на небольших локальных сетях, включая службы имён, сессий и дейтаграмм. С появлением стека протоколов TCP/IP возникла необходимость в адаптации NetBIOS для работы поверх IP-сетей. Результатом стал протокол NBT (NetBIOS over TCP/IP), описанный в RFC 1001 и RFC 1002.
Утилита nbtstat была создана как инструмент для администрирования и отладки NBT. В ранних версиях Windows (Windows 9x) её функциональность была ограничена, но с выходом Windows NT она получила расширенные возможности, сохранившиеся в последующих версиях, включая Windows 10, Windows 11 и Windows Server. С распространением протокола DNS и системы разрешения имён LLMNR (Link-Local Multicast Name Resolution) значение NetBIOS и, соответственно, nbtstat снизилось, однако утилита остаётся востребованной для работы с устаревшими сетевыми окружениями и приложениями, зависящими от NetBIOS.
Синтаксис и ключи
Утилита запускается из командной строки (cmd.exe) или PowerShell. Общий синтаксис:
`` nbtstat [-a RemoteName] [-A IPAddress] [-c] [-n] [-r] [-R] [-RR] [-s] [-S] [interval] ``
Описание основных ключей:
| Ключ | Назначение |
|---|---|
-a | Выводит таблицу имён NetBIOS удалённого компьютера, заданного его именем (NetBIOS name). |
-A | Выводит таблицу имён NetBIOS удалённого компьютера, заданного его IP-адресом. |
-c | Отображает содержимое локального кэша имён NetBIOS (кэш удалённых имён). |
-n | Показывает список локальных NetBIOS-имён, зарегистрированных на данном компьютере. |
-r | Выводит статистику разрешения имён NetBIOS (количество успешных и неудачных попыток широковещательного и WINS-запросов). |
-R | Очищает содержимое кэша имён NetBIOS и перезагружает его из файла Lmhosts (при его наличии). |
-RR | Инициирует процесс освобождения и повторной регистрации всех локальных NetBIOS-имён через WINS-сервер. |
-s | Отображает список активных сессий NetBIOS, преобразуя IP-адреса в имена NetBIOS (используя файл Lmhosts). |
-S | Отображает список активных сессий NetBIOS с указанием IP-адресов удалённых узлов (без преобразования в имена). |
interval | Задаёт интервал (в секундах) для повторного вывода статистики. Если не указан, вывод выполняется однократно. |
Все ключи можно комбинировать, за исключением взаимоисключающих (например, -a и -A).
Формат вывода
Вывод nbtstat содержит несколько разделов, структура которых зависит от используемого ключа.
Локальная таблица имён (-n)
Пример вывода:
`` Имя узла NetBIOS: COMPUTER-01 Тип узла: Широковещательный Идентификатор области: Зарегистрировано в WINS: Нет Таблица имён NetBIOS Имя Тип Статус ------------------------------------- COMPUTER-01 <00> УНИКАЛЬНОЕ Зарегистрировано WORKGROUP <00> ГРУППОВОЕ Зарегистрировано COMPUTER-01 <20> УНИКАЛЬНОЕ Зарегистрировано ``
- Имя — 16-символьное NetBIOS-имя (15 символов имени + 1 символ типа).
- Тип — указывает, является ли имя уникальным (УНИКАЛЬНОЕ) или групповым (ГРУППОВОЕ).
- Статус — может быть «Зарегистрировано», «В конфликте» или «Освобождено».
- Символ типа (в угловых скобках) — код, определяющий службу (например,
<00>— рабочая станция,<20>— служба сервера,<03>— служба сообщений).
Кэш имён (-c)
Выводит список имён, полученных от WINS-сервера или из широковещательных запросов, с указанием IP-адреса и времени жизни (TTL).
Активные сессии (-S)
Пример вывода:
`` Локальное имя Состояние Входящие/Исходящие ============================================================ COMPUTER-01 <00> Установлено Входящие 192.168.1.100 <20> Установлено Исходящие ``
В столбце «Состояние» отображается текущее состояние сессии: «Установлено», «Прослушивание», «Закрывается» и другие.
Практическое применение
nbtstat используется системными администраторами и специалистами по сетевой поддержке для решения следующих задач:
Диагностика конфликтов имён
Если два компьютера в сети имеют одинаковое NetBIOS-имя, возникает конфликт, который может привести к потере доступа к сетевым ресурсам. С помощью nbtstat -n на локальной машине и nbtstat -a <имя> на удалённой можно определить, какие имена зарегистрированы и есть ли конфликты.
Проверка работы WINS-сервера
WINS (Windows Internet Name Service) — служба, обеспечивающая централизованное разрешение NetBIOS-имён в IP-адреса. nbtstat -r показывает количество успешных и неудачных запросов к WINS, что помогает оценить его работоспособность. nbtstat -RR позволяет принудительно перерегистрировать имена, что полезно при изменении конфигурации WINS.
Поиск NetBIOS-имён по IP-адресу
Ключ -A позволяет определить NetBIOS-имя удалённого узла по его IP-адресу. Это удобно для идентификации устройств в сети, когда известно только их IP.
Очистка кэша имён
При сбоях в разрешении имён может потребоваться очистка локального кэша NetBIOS. Команда nbtstat -R выполняет эту задачу, после чего система повторно запрашивает имена через широковещательные запросы или WINS.
Ограничения и альтернативы
Утилита nbtstat работает только в сетях, где используется протокол NetBIOS через TCP/IP. В современных сетях, где NetBIOS отключён (что рекомендуется для повышения безопасности), nbtstat не может получить никаких данных. Кроме того, утилита не поддерживает работу с IPv6.
В качестве альтернатив для диагностики разрешения имён в современных средах применяются:
nslookup— для запросов к DNS-серверам.ping— для проверки доступности узла по IP-адресу.tracert— для отслеживания маршрута до узла.netstat— для отображения сетевых соединений и статистики протоколов (не связана с NetBIOS).
Безопасность
Использование nbtstat может раскрыть информацию о внутренней структуре сети (имена компьютеров, список служб, активные сессии). В связи с этим в корпоративных средах часто отключают протокол NetBIOS через TCP/IP на уровне сетевого адаптера или брандмауэра. В операционных системах Windows, начиная с Windows Vista, NetBIOS по умолчанию включён, но может быть отключён администратором.
Источники
- Microsoft Docs. Nbtstat. Windows Server documentation.
- RFC 1001 — Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods.
- RFC 1002 — Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications.
- Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е изд. — СПб.: Питер, 2012.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →