Что делает nbtstat и когда он работает
Программа nbtstat входит в состав Windows и показывает статистику NetBIOS через TCP/IP. С её помощью можно спросить другой компьютер локальной сети о его именах: имени компьютера, рабочей группе, зарегистрированных службах. Классический пример использования: в списке подключённых к роутеру устройств есть незнакомый адрес, и вы хотите понять, чьё это устройство.
Способ основан на старом протоколе NetBIOS, поэтому у него есть условия. Целевой компьютер должен быть с Windows или другим устройством, поддерживающим NetBIOS (например, сетевое хранилище с Samba), NetBIOS через TCP/IP на нём должен быть включён, а входящие запросы на UDP-порт 137 не заблокированы брандмауэром. Смартфоны, телевизоры и многие современные устройства на такой запрос не отвечают, поэтому отсутствие ответа ничего не доказывает.
Используйте команду только в своей сети и для своих устройств: опрос чужих компьютеров без разрешения недопустим.
Стоит напомнить, что определить имя устройства можно и без NetBIOS. Многие роутеры показывают имена клиентов из их DHCP-запросов: в списке подключённых устройств рядом с адресом и MAC-адресом часто указано имя хоста. Проверьте этот список первым: он проще и работает с современными устройствами.
Основные ключи
Ключи nbtstat чувствительны к регистру, и это важно: -a и -A делают разные вещи.
| Ключ | Что делает |
|---|---|
| -a имя | Показывает таблицу имён удалённого компьютера по его имени |
| -A адрес | То же, но по IP-адресу |
| -n | Показывает таблицу имён локального компьютера |
| -c | Показывает кэш имён NetBIOS |
| -R | Очищает кэш имён и перезагружает таблицу из файла lmhosts |
| -S | Показывает таблицу сеансов |
Для определения имени по адресу вам нужен именно ключ -A с заглавной буквой: nbtstat -A 192.0.2.15. Строчный ключ -a ожидает имя, а не число, и с адресом будет выдавать ошибку. Это самая частая причина неудачи у новичков.
Дополнительные ключи задают интервалы повторных запросов, но для повседневных задач они не нужны. Команда выполняется без прав администратора.
Перед запуском проверьте, что адрес принадлежит вашей подсети (например, 192.0.2.x), и что компьютер отвечает на ping. Если ping не проходит, nbtstat тоже ничего не покажет, а результат нужно искать в другом месте: устройство выключено, находится в другой сети или скрыто фильтром.
Пример вывода и расшифровка кодов
Пример (пример, адреса и имена условные):
Ethernet: Адрес узла: 192.0.2.10 Таблица имен удаленного компьютера NetBIOS
Имя Тип Состояние --------------------------------------------- OFFICE-PC <00> Уникальное Зарегистрирован WORKGROUP <00> Группа Зарегистрирован OFFICE-PC <20> Уникальное Зарегистрирован
MAC-адрес = 00-00-5E-00-53-15
Как читать:
- Имя с кодом <00> и типом «Уникальное» это имя компьютера: OFFICE-PC.
- Имя с кодом <00> и типом «Группа» рабочая группа или домен: WORKGROUP.
- Код <20> означает, что запущена служба общего доступа к файлам и принтерам.
- В конце указан MAC-адрес компьютера. Его можно сверить со списком клиентов в роутере.
Таким образом одной командой вы получаете имя, группу и физический адрес устройства. Это удобно для инвентаризации своей сети, когда нужно сопоставить адреса и реальные устройства.
При необходимости очистить кэш имён перед повторным запросом выполните nbtstat -R, а посмотреть, что система уже знает, помогает nbtstat -c. Это полезно, когда имя устройства изменилось, а команда упорно показывает старое значение.
Если ответа нет: причины и альтернативы
Сообщение «Узел не найден» или отсутствие ответа возможны по разным причинам.
- NetBIOS отключён на целевом устройстве или в его сетевых настройках.
- Брандмауэр блокирует UDP-порт 137. В современных версиях Windows профиль «общедоступная сеть» часто запрещает такие запросы.
- Устройство вообще не Windows: смартфоны, телевизоры, умные устройства.
- Адрес в другой подсети: NetBIOS-запросы не проходят через маршрутизацию без специальных настроек.
- Устройство выключено или адрес устарел.
Если nbtstat молчит, попробуйте другие способы: ping -a 192.0.2.15 пытается определить имя через обратный DNS-запрос, arp -a сопоставляет адреса и MAC-адреса в вашей подсети, а список клиентов в роутере часто показывает имена устройств из DHCP-запросов. В Linux есть nmblookup -A с адресом (входит в пакет Samba). Для просмотра всего сегмента используют arp-scan, о нём есть отдельная страница.
Если нужно сопоставить адреса и устройства сразу для всей своей сети, разумнее воспользоваться сканированием ARP: оно быстро перечисляет адреса и MAC-адреса активных устройств сегмента, а имена можно добавить из списка клиентов роутера. Такую проверку выполняют только в собственной сети.
Ограничения и безопасность
NetBIOS устаревший протокол, и его включённость в сети считается вопросом безопасности: он раскрывает имена и службы любому в сегменте. Если вы не пользуетесь общим доступом к файлам по старым протоколам, его можно отключить в свойствах сетевого адаптера, в дополнительных параметрах TCP/IP на вкладке WINS. После этого nbtstat будет отвечать хуже, и это нормально.
При использовании команды соблюдайте простые правила. Опрашивайте только адреса своей сети. Не запускайте перебор всех адресов подряд на чужих сетях: такие действия можно расценить как сканирование. Для домашней инвентаризации достаточно выборочных запросов по адресам из списка клиентов роутера.
Пользу команда приносит именно как инструмент опознания: она отвечает на вопрос «что это за устройство в моей сети». Если вы обнаружили неизвестное устройство, смените пароль Wi-Fi и проверьте настройки защиты роутера.
Советуем не оставлять результаты без пометок. Составьте таблицу: адрес, MAC, имя, владелец устройства. Она пригодится, когда в сети появится неизвестное устройство: сравните список и сразу поймёте, что нового. Обновляйте таблицу при покупке новой техники.