Windows netbios name from ip

Windows netbios name from ip

Сообщения: 3306
Благодарности: 102

Сообщения: 688
Благодарности: 13

Конфигурация компьютера
Материнская плата: Soltek SL-75DRV5
HDD: 2х Seagate ST3120026A 120Gb UATA/100
Звук: Creative SB0092 Audigy
CD/DVD: Teac CD-W540E, Nec DVD-RW ND-3500AG
ОС: WinXP SP2 Eng VLK
» width=»100%» style=»BORDER-RIGHT: #719bd9 1px solid; BORDER-LEFT: #719bd9 1px solid; BORDER-BOTTOM: #719bd9 1px solid» cellpadding=»6″ cellspacing=»0″ border=»0″>
Использование ключа позволяет узнавать IP при указании имени, но не наоборот.
Конфигурация компьютера
Материнская плата: Soltek SL-75DRV5
HDD: 2х Seagate ST3120026A 120Gb UATA/100
Звук: Creative SB0092 Audigy
CD/DVD: Teac CD-W540E, Nec DVD-RW ND-3500AG
ОС: WinXP SP2 Eng VLK
Код:
C:\>ping /?

Использование:
ping [-t] [-a] [-n ] [-l ] [-f] [-i ] [-v ]
[-r ] [-s ] [[-j ] | [-k ]]
[-w ] [-R] [-S ] [-4] [-6]

Параметры:
-t Отправка пакетов на указанный узел, пока вы не прекратите
опрос узла вручную. Для вывода статистики и продолжения
опроса нажмите +
, для прекращения опроса
нажмите + .
-a Определение имени узла по адресу.
-n Число отправляемых запросов.

Использование: ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS]

[-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]]

[-w таймаут] конечноеИмя

-t Отправка пакетов на указанный узел до команды прерывания.

Для вывода статистики и продолжения нажмите

-a Определение адресов по именам узлов.

-n число Число отправляемых запросов.

-l размер Размер буфера отправки.

-f Установка флага, запрещающего фрагментацию пакета.

-i TTL Задание срока жизни пакета (поле «Time To Live»).

-v TOS Задание типа службы (поле «Type Of Service»).

-r число Запись маршрута для указанного числа переходов.

-s число Штамп времени для указанного числа переходов.

-j списокУзлов Свободный выбор маршрута по списку узлов.

-k списокУзлов Жесткий выбор маршрута по списку узлов.

-w таймаут Таймаут каждого ответа в миллисекундах.

версия продукта 5.1.2600.2180
версия файла 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)
-a Определение адресов по именам узлов.
версия файла 5.2.3790.0 (srv03_rtm.030324-2048)
-a Определение имени узла по адресу.

Принципы работы NetBIOS

Собственно, как же работает NetBIOS? Я попытаюсь дать, пока что, собственное объяснение принципов работы стандарта. Все мы понимаем, что для того, чтобы станции могли взаимодействовать по сети, они должны подчиняться определенным правилам, выполнять предписанные действия на различных этапах работы. Этими этапами являются: заявление о себе (регистрация), попытка взаимодействия (обнаружение имен, установление сеанса, управление сеансом), отключение себя (освобождение имени). Поэтому, все узлы, использующие NetBIOS через TCP/IP, применяют регистрацию, обнаружение и освобождение имен, а так же многие другие методы, предоставляемые стандартом. Давайте рассмотрим их детальнее:

  • Регистрация имен . Начиная работу, узел NetBIOS пытается заявить о себе в сети, другими словами — сказать «Я есть узел такой то, с таким то именем». Регистрация имени NetBIOS происходит при помощи широковещательного или направленного только к серверу имен NetBIOS (WINS-сервер) запроса. Если какой-либо узел пробует зарегистрировать уже существующее в сети имя NetBIOS, то либо узел с данным именем, либо сервер имен NetBIOS (WINS-сервер) посылает отказ в регистрации имени, и узел, инициировавший регистрацию, получает в качестве ответа сообщение об ошибке.
  • Обнаружение имен . Когда узел уже зарегистрировался, работает в сети, но вдруг хочет связаться с другим узлом, он должен узнать IP-адрес этого узла. Для этого, узел-инициатор посылает запрос на определение имени, содержащий искомое NetBIOS имя. Для запроса используется широковещательный пакет или адресный запрос серверу имен NetBIOS (WINS). Узел, которому принадлежит искомое имя, или WINS-сервер отправляют обратно положительный/отрицательный ответ об определении имени. В результате инициатор получает информацию об IP-адресе целевого узла.
  • Освобождение имен . Освобождение имени происходит, если станция, приложение или служба NetBIOS прекращает работу. К примеру, если станция отключается некорректно, то она перестает отвечать на запросы, и другие станции через некоторое время прекращают попытки связаться с ней. Если в сети используется сервер имен NetBIOS, то перед корректным выключением станция посылает ему запрос на удаление информации о всех ресурсах, которые она поддерживала. В таком случае говорят, что имя NetBIOS освобождено, и доступно для использования другими узлами.
  • Запуск/завершение сеанса . Вероятно, мы пытались обнаружить сетевое имя не просто так, а с какой-то целью. А что если мы хотим обменяться данными: получить/передать файлы? Для этого нам необходимо установить сеанс связи с целевой станцией.
  • Надежная передача данных сеанса . После установления надежного сеанса связи с использованием транспортного протокола TCP, мы начинаем обмен данными. Например, передачу файлов.
  • Ненадежная передача данных сеанса . После запроса на разрешение имени, мы начинаем передачу информации с помощью транспортного протокола UDP. Например, поиск имени.
  • Возможность мониторинга и диагностики . Позволяет запрашивать статус удаленных и локальных ресурсов.

Для того, чтобы лучше понять логику работы NetBIOS через TCP/IP, давайте немного отступим от основной линии рассуждений, и рассмотрим по-отдельности некоторые сущности стандарта.

Имя NetBIOS

Одной из основных целей разработки NetBIOS являлось создание простого интерфейса, который давал бы возможность пользователям назначать станциям символьные имена вида MyComputer . Очевидно, что без подобных имен нам сложно обойтись, поскольку именно легкие имена позволяют человеку «узнать» (однозначно идентифицировать) ресурс, к которому он хочет обратиться по сети. Программам то всё-равно, вместо имен они могут использовать любые идентификаторы, однако человеку удобнее работать именно с фонетическими, понятными и легко запоминающимися маркерами — именами. В качестве имени NetBIOS используется простое одноранговое (“плоское”) имя, без какой-либо иерархической структуры (в противоположность DNS). Подобная простота и отсутствие иерархии имени имеют и оборотную сторону — имена должны быть уникальными.

Первые 15 — собственно имя, 16й — тип ресурса или суффикс (значение в диапазоне 00-FF, шестнадцатеричное представление). NetBIOS имя и имя компьютера ( hostname ) совпадают по первым 15 символам. Хранится это имя в параметре реестра с именем hostname , который располагается в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters .
С развитием сетевых технологий логическая структура сетей усложнялась, и помимо станций появились такие понятия как «рабочая группа» и «домен». Пришло осознание того, что ресурсы бывают разнотипными, а имя может быть присвоено не только станции. Опираясь на новые данные, было введено понятие «тип ресурса», который предназначался для логического разделения ресурсов по назначению, это позволило присваивать одно и то же имя нескольким ресурсам одновременно.

Ресурсы динамически регистрируются сначала в операционной системе (в которой ресурс и создается), а затем [при помощи оповещений] распространяются по сети, которой принадлежит станция. Регистрация ресурса происходит в тот момент, когда в операционной системе стартует сервис (читать: приложение), использующий NetBIOS , либо авторизуется пользователь.
Типы ресурсов стандартизованы по классам и имеют следующие значения:

  • Уникальное (Unique, U) — к этому имени может быть привязан только один адрес IP;
  • Групповое (Group, G) — к этому имени не привязан единственный адрес, имя может содержать множественные IP-адреса; На запрос WINS-клиента об адресе всегда возвращается limited broadcast address 255.255.255.255;
  • Группа Интернет (Internet Group, Special Group, I) — к этому имени может быть привязано до 25 адресов; для каждого адреса хранится свой TTL. Используется для управления именами домена в WinNT;
  • Доменное имя (Domain Name, D) — к этому имени может быть привязано множество адресов;

Поскольку NetBIOS не использует номера портов, как это делает TCP/IP, адресное пространство имен должно быть способно поддерживать множество имен для каждой системы. К примеру, если на одной станции реализованы файловый сервер, служба Exchange и сервер удаленного доступа, то каждый из этих сервисов должен иметь отличное от других имя, однозначно определяющее сам сервис. Для этой цели авторы NetBIOS придумали понятие суффикса , который фактически является аналогом порта в TCP/IP . Как было указано выше, он занимает последний, 16й байт в имени и однозначно идентифицирует сервис.

Полный перечень типов общих ресурсов NetBIOS

У имен NetBIOS имеется следующий нюанс — все имена длиной менее 15 символов дополняются пробелами (код символа 20 в шестнадцатеричном представлении), а в некоторых случаях символами BE либо BF . Поскольку к работе над NetBIOS подключались многие разработчики, то и типов общих ресурсов существует великое множество, однако в таблице я привожу только те типы, которые используются Microsoft.

Уникальное имя (Unique name) Суффикс Описание
COMPUTERNAME Регистрируется сервисом «Рабочая станция» (Workstation). Это NetBIOS-имя станции. Передается в качестве имени источника в запросе на установку NBT-сессии. Позволяет хосту подключаться к сетевым ресурсам.
COMPUTERNAME Регистрируется сервисом Messenger. Не во всех версиях Windows. Передается в качестве имени источника в запросе на установку NBT-сессии сервисом Messenger.
COMPUTERNAME Регистрируется сервисом Messenger. Это имя используется при обмене сообщениями (WinPopup) между хостами. Для этого используется SMB протокол.
USERNAME Регистрируется сервисом Messenger. Используется так же, как и описанное выше правило для COMPUTERNAME , однако адресатом, вероятно, является пользователь.
COMPUTERNAME Регистрируется сервисом RAS Server.
COMPUTERNAME Регистрируется сервисом NetDDE
COMPUTERNAME Регистрируется сервисом «Сервер» (Server). Позволяет хосту получать запросы на соединения от других узлов с целью подключения к ресурсам станции. Используется SMB протокол.
COMPUTERNAME Регистрируется сервисом RAS Client.
COMPUTERNAME Регистрируется сервисом Exchange Interchange.
COMPUTERNAME Регистрируется сервисом Exchange Store.
COMPUTERNAME Регистрируется сервисом Exchange Directory.
COMPUTERNAME Регистрируется сервисом Lotus Notes Server.
COMPUTERNAME Регистрируется сервисом Modem Sharing Server.
COMPUTERNAME Регистрируется сервисом Modem Sharing Client.
COMPUTERNAME Регистрируется McAfee Antivirus.
COMPUTERNAME Регистрируется сервисом SMS Client Remote Control.
COMPUTERNAME Регистрируется сервисом SMS Admin Remote Control Tool.
COMPUTERNAME Регистрируется сервисом SMS Client Remote Chat.
COMPUTERNAME Регистрируется сервисом SMS Client Remote Transfer.
COMPUTERNAME Регистрируется сервисом DEC Pathworks TCPIP Service.
COMPUTERNAME Регистрируется сервисом DEC Pathworks TCPIP Service.
COMPUTERNAME Регистрируется сервисом Microsoft Exchange IMC.
COMPUTERNAME Регистрируется сервисом Microsoft Exchange MTA.
COMPUTERNAME Агент Network Monitor. Microsoft’s Network Monitor (NetMon).
COMPUTERNAME Приложение Network Monitor Client. GUI для Network Monitor (NetMon).
DOMAINNAME/WORKGROUPNAME Регистрирует станцию как Domain Master Browser. Регистрация суффикса 1B отличает PDC от остальных контроллеров домена.
DOMAINNAME Регистрирует станцию как Master Browser (зачастую именуется как Local Master Browser). Имя уникально для локального сегмента сети.
Групповое имя (Group name) Суффикс Описание
DOMAINNAME/WORKGROUPNAME Регистрирует станцию как члена рабочей группы или домена.
DOMAINNAME Регистрирует станцию как контроллер домена. Каждый контроллер домена регистрирует это групповое имя.
DOMAINNAME/WORKGROUPNAME Регистрируется как групповое имя. Используется при выборах Master Browser.
Forte_$ND800ZA DCA IrmaLan Gateway Server Service
IRISMULTICAST Lotus Notes.
IRISNAMESERVER Lotus Notes.
[01h][02h]__MSBROWSE__[02h] Master Browser (Local Master Browser). Групповое имя, регистрируемое всеми Master Browser в сети. Используется для поиска других LMB с целью обмена списками просмотра.

Тип ресурса можно посмотреть командой nbtstat -a :

Основное назначение этой команды — показать информацию из локальной таблицы NetBIOS имен для всех интерфейсов, установленных на станции. Имеет алиас — nbtstat -n.

Методы разрешения имени NetBIOS

Очевидно, что тут мы будем говорить о том, какими средствами NetBIOS удается найти соответствие имени и IP-адреса ресурса? Какие же методы определения имен доступны интерфейсу NetBIOS? Сразу обращу ваше внимание на то, что не все из перечисленных методов относятся непосредственно к стандарту NetBIOS. Я считаю, что к NetBIOS относятся только лишь: LMHOSTS, WINS, кеш имен NetBIOS, широковещательный запрос в подсети. Такие же понятия как HOSTS и DNS относятся уже к TCP/IP Direct Hosting. Но поскольку понятия «NetBIOS имя станции» и «имя хоста» довольно тесно взаимосвязаны в современных ОС Windows, то resolver (модуль, разрешающий имена) использует все доступные методы для нахождения соответствия, умело комбинируя разнородные методы определения имен.

  • NetBIOS name cache (локальный кеш NetBIOS) — специальная структура в памяти процесса для записи результатов разрешения имен. Время жизни записей — 10 минут. Приложение смотрит в локальном кэше, нет ли там искомого имени. И правда, зачем нам тратить время на другие методы, если может статься, что мы недавно уже обращались к станции, и имя её содержится в локальном кеше. Локальный кеш NetBIOS можно посмотреть командой «nbtstat -r». Некоторые параметры, которые влияют на функционал NetBIOS name cache можно найти в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters .
  • NetBIOS name server (WINS, NBNS) . Если сказать иначе, WINS это DNS от Microsoft для NetBIOS. Станции с определенными типами узлов обращаются к WINS-серверу за разрешением имени.
  • IP subnet broadcast — широковещательное сообщение в IP-подсети. Станции с определенными типами узлов формируют широковещательный запрос для разрешения имени.
  • Локальный LMHOSTS файл . Аналог файла hosts для NetBIOS. Файл, в котором, в специальном формате, хранится таблица соответствия имен NetBIOS IP-адресам. Размещается в директории %SystemRoot%\System32\Drivers\Etc .
  • Локальный HOSTS файл . Файл, в котором, в специальном формате, хранится таблица соответствия имен хостов (TCP/IP hostname) IP-адресам. Располагается в директории %SystemRoot%\System32\Drivers\etc . Этот метод непосредственно не относится к NetBIOS через TCP/IP, а относится уже к TCP/IP Direct Hosting. Если NetBIOS имя найти не удалось, то имя считается как TCP/IP hostname и разрешается уже методами HOSTS+DNS.
  • DNS-сервер . Запрос к DNS-серверу. DNS-сервер возвращает запись о соответствии имени хоста IP-адресу.

Тип узла NetBIOS (NodeType)

Поскольку методы регистрации имен в сети у NetBIOS тоже не стояли на месте, и если изначально все сводилось, как мы уже упоминали, к широковещательным запросам, то со временем начали появляться и другие способы зарегистрировать имя (например, с использованием WINS-сервера). В связи с необходимостью разделять логику работы станций, было введено понятие NodeType (NBT-узел) для описания разницы в способах регистрации и распознавания имен. Проще говоря, разные типы узлов имеют свои обособленные алгоритмы разрешения имен в IP-адреса:

  • B-node (тип 0x01 , широковещательный). Для преобразования имен станций в IP-адреса используется только широковещательные сообщения. Минус этого типа заключается в том, что широковещательные запросы, обычно, режутся маршрутизаторами, поэтому имена могут быть разрешены только в пределах одного сетевого сегмента.
  • P-node (тип 0x02 , одноранговый). Для разрешения имен используются WINS-сервер (сервер имен NetBIOS). Сессии клиента длятся на три этапа: регистрация имени, обновление имени и освобождение имени. Если WINS не работает, то ни регистрации, ни разрешения не происходит.
  • M-node (тип 0x04 , смешанный, гибрид B- и P-узлов). Сначала действует как B-node, то есть для разрешения имен используются широковещательные сообщения. Если не получает ответа на широковещательный запрос, то переключается в P-node и использует WINS-сервер.
  • H-node (тип 0x08 , гибридный, гибрид B- и P-узлов). Сначала пытается стать P-node и действовать через WINS-сервер. Если WINS-сервер не доступен, переключается в B-node и пытается функционировать через широковещательные запросы. Переключается обратно в P-node, как только находит WINS-сервер.

Пополнив многообразие сетевых разработок, с 1990 года начал активно внедряться протокол DHCP , и пришлось оптимизировать NetBIOS под работу с ним. Так, если в сети используется DHCP для автоматического назначения IP-адресов, то можно установить метод разрешения имен для DHCP-клиентов. Другими словами, можно назначить тип узла (nodetype), через установку опцию DHCP-сервера 046 WINS/NBT. Либо, в случае отсутствия DHCP-сервера, можно локально задать тип узла в реестре через параметр nodetype ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters .
По умолчанию, при отсутствии WINS-сервера в сети, Windows выставляет тип узла в значение «модифицированный B-node», а при наличии WINS-сервера тип узла выставляется в гибридный, H-node.
Увидеть тип узла можно посредством команды ipconfig /all, в параметре “тип узла”:

Читайте также:  The most secure linux
Оцените статью