Открыть сервис

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 по умолчанию включён, но может быть отключён администратором.

Источники

  1. Microsoft Docs. Nbtstat. Windows Server documentation.
  2. RFC 1001 — Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods.
  3. RFC 1002 — Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications.
  4. Таненбаум Э., Уэзеролл Д. Компьютерные сети. 5-е изд. — СПб.: Питер, 2012.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →