Отличие netbios от dns имени

Обновлено: 06.07.2024

DNS позволяет делегировать полномочия администрирования и управления пользователям и группам. Определите необходимые вам полномочия и выберите нужный вам уровень безопасности. Чтобы вызвать страницу Security (Безопасность), щелкните правой кнопкой на данном сервере DNS в оснастке DNS и выберите Security на странице свойств.

Интеграция с DHCP

DNS и DHCP могут использоваться совместно. В этой конфигурации клиентам и серверам разрешается обновлять A-записи (записи хостов) и PTR-записи (записи обратного поиска). DHCP будет предоставлять вам аренду и обновлять соответствующим образом записи DNS.

Документы RFC

Чтобы получить более подробную информацию по спецификациям, обратитесь к документам RFC (Request for Comment). Ниже приводятся все документы RFC для системы Windows Server 2003 и ее клиентов.

  • 1034 Domain Names-Concepts and Facilities (Доменные имена – концепции и средства)
  • 1035 Domain Names-Implementation and Specification (Доменные имена – реализация и спецификация)
  • 1123 Requirements for Internet Hosts -Application and Support (Требования к хостам Интернет – применение и поддержка)
  • 1886 DNS Extensions to Support IP Version 6 (Расширения DNS для поддержки IPv6)
  • 1995 Incremental Zone Transfer in DNS (Метод добавочной пересылки зон в DNS)
  • 1996 A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY) (Механизм уведомлений об изменениях зон)
  • 2136 Dynamic Updates in the Domain Name System (DNS UPDATE) (Динамические обновления в DNS) 2181 Clarifications to the DNS Specification (Уточнения к спецификации DNS)
  • 2308 Negative Caching of DNS Queries (DNS NCACHE) (Отрицательное кэширование запросов DNS)
  • 2535 Domain Name System Security Extensions ( DNSSEC ) (Расширения безопасности DNS)
  • 2671 Extension Mechanisms for DNS (EDNS0) (Механизмы расширения для DNS)
  • 2782 A DNS RR for Specifying the Location of Services (DNS SRV) (Ресурсная запись [RR] DNS для указания местоположения служб)

Draft-документы интернет для DNS

Следующие draft-документы интернет содержат спецификации, используемые для разработки и реализации сервера и клиентских служб DNS.

Другие спецификации для DNS

Следующие дополнительные спецификации используются для разработки и реализации служб сервера и клиента DNS.

NetBIOS – это уровень представления (см. модель OSI) интерфейса прикладного программирования (API), разработанный IBM в 1983 г. Он позволяет программам задавать инструкции нижележащим сетевым протоколам; несмотря на его "возраст", именно поэтому он все еще используется. Унаследованные приложения и многочисленные средства сетевого администрирования все еще используют этот API и не могут выполнять обмен информацией без разрешения имен NetBIOS. Напомним, что в примере разрешения имен DNS мы ссылались на браузер, который передает запрос имени клиентскому компоненту DNS (resolver) для разрешения имени. NetBIOS работает почти так же: приложение, которому требуется найти службу, работающую на другом компьютере ( файловые службы и службы печати ) отправляет запрос для имени NetBIOS. Его нужно преобразовать в IP-адрес. Это приложение, возможно, не знает, как использовать DNS для той же задачи.

Два непосредственных примера – это навигация, а также файловые службы и службы печати . Имена NetBIOS можно разрешать различными способами в зависимости от того, как сконфигурирован данный клиент (см. следующий раздел).

Как вы можете предполагать, для этого плоского пространства имен требуется сервер WINS, который содержит соответствующие записи. Они существенно отличаются от записей DNS, в том числе форматом базы данных и методом хранения. В WINS нет никакого ASCII-файла. Это база данных Microsoft, известная под названием Jet, которая используется также в Access. Она плохо защищена от повреждений и чувствительна к большому числу факторов. По мере дальнейшего изложения мы увидим несколько параллелей с DNS.

Имена NetBIOS

Имена NetBIOS могут быть уникальными или являться частью группы. Это 16-байтовые адреса, и они имеют одну позицию, зарезервированную для типа службы, которую они представляют. Если имя короче 16 символов, то остальные байты заполняются до 16-го символа. Это важно знать, если вы редактируете файл LMHOSTS (см. ниже раздел "LMHOSTS"). Запись для службы рабочей станции (Workstation) может выглядеть следующим образом:

LMHOSTS

Типы разрешения

Настройка клиента в разрешении имен WINS/NetBIOS будет определять его поведение. Имеются четыре метода разрешения, которые называются типами узлов. Они действуют следующим образом.

Но если клиент не может обнаружить сервер, то сервер пытается подтвердить имя каждые 10 минут в течение часа на первичном сервере WINS. Затем он пытается перейти на вторичный сервер WINS и снова пытается получить подтверждение с 10-минутными интервалами. Если обновление по-прежнему не получено, он возвращается на первый сервер и повторяет свои попытки. Все это продолжается, пока не закончится срок аренды; если за это время не было попыток обновления имени (другим клиентом), то имя освобождается. Еще один способ освобождения имени – это отключение компьютера; нельзя просто выключить компьютер, а должен быть отправлен соответствующий запрос на сервер WINS. Сервер WINS просмотрит базу данных, и если обнаружена соответствующая запись, то сервер возвратит положительный ответ об освобождении имени со значением TTL, равным нулю. Если не найдено соответствия для IP-адреса/имени, то отправляется отрицательный ответ.

Процесс разрешения имени
Репликация базы данных

Серверы WINS реплицируют свои базы данных, и, как и в случае DNS, это определяется вашими опциями конфигурации. Напомним, что WINS – это "плоское" пространство имен, поэтому топология его репликации выглядит очень просто. Я встречался со многими пользователями, которые пытались использовать иерархию в пространстве имен WINS. Для репликации базы данных обычно имеется одна схема, которая хорошо работает и требует небольших расходов на обслуживание. Реальная схема репликации называется push/pull ("выталкивание/извлечение"), и мы ознакомимся с ней чуть ниже. На рис. 3.1 показана рекомендуемая топология сети, в которой происходит репликация серверов WINS.

Репликация типа

Ее называют звездообразной схемой репликации ( hub and spoke ). Группа серверов WINS выполняет репликацию с центральным первичным сервером; та же схема используется со вторичным сервером, а первичный и вторичный реплицируются друг с другом. Они делают это с помощью метода push/pull. Рассмотрим этот процесс подробнее.

Pull-партнер – это сервер WINS, который запрашивает реплики от своих push-партнеров. Push-партнеры знают, что реплицировать, поскольку номер версии должен быть больше того, что получил pull-партнер в предыдущем сеансе репликации. Push-партнер – это сервер WINS, который отправляет запрос репликации своим pull-партнерам, сообщая им, что его база данных была обновлена. После этого они извлекают реплики. При репликации типа push/pull вам следует учитывать два основных фактора: скорость вашего канала глобальной сети (WAN) и какие компьютеры должны соединяться с какими сайтами.

Предположим, что ваш компьютер – это Remote Site 1 (Удаленный сайт 1, см. рис. 3.1), осуществляющий репликацию методом push/pull с сервером Home Office. При необходимости обмена данными с компьютером Remote Site 2, осуществляющим репликацию с сервером Corporate Office, ваш компьютер никогда не получит необходимые для этого записи, если эти записи не являются частью реплики, которая извлекается из Remote Site 1 на сервер Corporate Office и затем реплицируется на сервер Home Office. Реплика – это копия записей WINS, которые реплицированы от партнера push/pull. Поскольку сервер Home Office реплицируется на свой Remote Site 1, эти записи являются частью сервера WINS в службах Remote Site 1.

WINS не является сложной технологией (хотя она плохо масштабируется), и если использовать здравый подход, то обычно WINS действует достаточно хорошо. Большинство проблем возникает в тех случаях, когда разработчики пытаются делать сложные вещи с тем, что не представляет особых сложностей. При хорошей пропускной способности предпочтительно использовать между всеми серверами репликацию типа push/pull, поскольку все записи будут реплицироваться во все точки. Всегда конфигурируйте сервер WINS, чтобы он указывал для разрешения на самого себя.

Автоматическая репликация

Мощность WINS планируется из расчета один сервер на 10000 клиентов. Это вполне достижимая цифра, но в большинстве случаев не учитываются определенные факторы, например, WINS помещают на компьютер, который одновременно является контроллером домена, сервером печати и сервером приложений. Это снижает производительность, а если WINS работает недостаточно хорошо, то возникают проблемы соединений. Если вы планируете использовать WINS в конфигурации от 1 до 10000, не нагружайте данный компьютер другими процессами, убедитесь, что он имеет каналы с достаточной пропускной способностью, используйте высокоскоростные соединения локальной сети (избегайте узких мест), не устанавливайте несколько адаптеров на этот сервер и убедитесь, что этот сервер имеет высокопроизводительную дисковую подсистему. Это кажется странным, но самые сложные проблемы в этих конфигурациях возникали из-за переполнения дисковой подсистемы запросами записи. В этих случаях Performance Monitor (Монитор производительности, см. "Настройка и оптимизация производительности" ) показывал проблемы операций записи, а после замены дисковой подсистемы на SCSI RAID 0 производительность резко повышалась.

Проблемы производительности возникают также в тех случаях, когда сервер WINS перегружен за счет того, что он размещен на компьютере, выполняющем много других функций. Один из характерных случаев, с которыми я сталкивался, это программа сканирования вирусов от сторонней компании в большой корпоративной сети, которая очень часто опрашивает клиентов WINS, чтобы проверить, требуются ли обновления. Такие программы обычно имеют консоль конфигурирования, и пользователь сконфигурировал ее для проверки клиентов каждые 20 минут. Причиной проблемы было то, что этот сервер имел 5000 клиентов, поэтому программа сканирования вирусов фактически связывала циклы разрешения имен WINS, то есть опрашивала всех клиентов! Это настолько перегружало сервер, что нормальное разрешение имен становилось невозможным и функционирование сети фактически прекращалось. Здесь возникал эффект, эквивалентный атаке на отказ обслуживания.

Автоматическое резервное копирование

WINS можно сконфигурировать для резервного копирования ее базы данных в выбранном вами месте. Выбор соответствующего каталога (Directory) происходит в оснастке WINS, и после этого WINS выполняет резервное копирование баз данных каждые три часа. Это звучит убедительно, но на практике эксплуатируемая база данных может быть повреждена по какой-либо причине и проблема, возможно, не будет разрешена за три часа (до следующего цикла резервного копирования), то есть резервная копия тоже будет поврежденной.

Более подходящим, хотя и более трудным методом, может стать использование утилиты Jetpack, которая проверяет целостность базы данных, прежде чем выполнять ее копирование. Jetpack обладает возможностью придавать целостность базе данных или восстанавливать целостность, если файл базы данных не слишком поврежден. После этого выполните резервное копирование вручную. Вы можете задаться вопросом, зачем нужно резервное копирование. В основном это нужно для быстрого восстановления в случае . повреждения базы данных! В случае повреждения WINS остается две возможности, если Jetpack не может восстановить файл.

  1. Удалить этот файл, прекратить работу WINS и снова запустить WINS; в результате будет создана новая база данных. Но в этом случае всем компьютерам потребуется перерегистрация. Это обычно означает перезагрузку.
  2. Перезагрузить резервную копию базы данных WINS, и восстановление потребуется только для тех машин, которым требуется обновление, что лучше отключения всей системы.

Основные утилиты для поиска и устранения проблем – это NBTSTAT и JETPACK.


В очередном «конспекте админа» остановимся на еще одной фундаментальной вещи – механизме разрешения имен в IP-сетях. Кстати, знаете почему в доменной сети nslookup на все запросы может отвечать одним адресом? И это при том, что сайты исправно открываются. Если задумались – добро пожаловать под кат. .

Для преобразования имени в IP-адрес в операционных системах Windows традиционно используются две технологии – NetBIOS и более известная DNS.

NetBIOS (Network Basic Input/Output System) – технология, пришедшая к нам в 1983 году. Она обеспечивает такие возможности как:

регистрация и проверка сетевых имен;

установление и разрыв соединений;

связь с гарантированной доставкой информации;

связь с негарантированной доставкой информации;

В рамках этого материала нас интересует только первый пункт. При использовании NetBIOS имя ограниченно 16 байтами – 15 символов и спец-символ, обозначающий тип узла. Процедура преобразования имени в адрес реализована широковещательными запросами.

Небольшая памятка о сути широковещательных запросов.

Широковещательным называют такой запрос, который предназначен для получения всеми компьютерами сети. Для этого запрос посылается на специальный IP или MAC-адрес для работы на третьем или втором уровне модели OSI.

Для работы на втором уровне используется MAC-адрес FF:FF:FF:FF:FF:FF, для третьего уровня в IP-сетях адрес, являющимся последним адресом в подсети. Например, в подсети 192.168.0.0/24 этим адресом будет 192.168.0.255

Естественно, постоянно рассылать широковещательные запросы не эффективно, поэтому существует кэш NetBIOS – временная таблица соответствий имен и IP-адреса. Таблица находится в оперативной памяти, по умолчанию количество записей ограничено шестнадцатью, а срок жизни каждой – десять минут. Посмотреть его содержимое можно с помощью команды nbtstat -c, а очистить – nbtstat -R.


Пример работы кэша для разрешения имени узла «хр».


Что происходило при этом с точки зрения сниффера.

В крупных сетях из-за ограничения на количество записей и срока их жизни кэш уже не спасает. Да и большое количество широковещательных запросов запросто может замедлить быстродействие сети. Для того чтобы этого избежать, используется сервер WINS (Windows Internet Name Service). Адрес сервера администратор может прописать сам либо его назначит DHCP сервер. Компьютеры при включении регистрируют NetBIOS имена на сервере, к нему же обращаются и для разрешения имен.

В сетях с *nix серверами можно использовать пакет программ Samba в качестве замены WINS. Для этого достаточно добавить в конфигурационный файл строку «wins support = yes». Подробнее – в документации.

В отсутствие службы WINS можно использовать файл lmhosts, в который система будет «заглядывать» при невозможности разрешить имя другими способами. В современных системах по умолчанию он отсутствует. Есть только файл-пример-документация по адресу %systemroot%\System32\drivers\etc\lmhost.sam. Если lmhosts понадобится, его можно создать рядом с lmhosts.sam.

Сейчас технология NetBIOS не на слуху, но по умолчанию она включена. Стоит иметь это ввиду при диагностике проблем.

если в кэше резолвера адреса нет, система запрашивает указанный в сетевых настройках интерфейса сервер DNS;


Наглядная схема прохождения запроса DNS.

Разумеется, DNS не ограничивается просто соответствием «имя – адрес»: здесь поддерживаются разные виды записей, описанные стандартами RFC. Оставлю их список соответствующим статьям.

Сам сервис DNS работает на UDP порту 53, в редких случаях используя TCP.

DNS переключается на TCP с тем же 53 портом для переноса DNS-зоны и для запросов размером более 512 байт. Последнее встречается довольно редко, но на собеседованиях потенциальные работодатели любят задавать вопрос про порт DNS с хитрым прищуром.

Также как и у NetBIOS, у DNS существует кэш, чтобы не обращаться к серверу при каждом запросе, и файл, где можно вручную сопоставить адрес и имя – известный многим %Systemroot%\System32\drivers\etc\hosts.

В отличие от кэша NetBIOS в кэш DNS сразу считывается содержимое файла hosts. Помимо этого, интересное отличие заключается в том, что в кэше DNS хранятся не только соответствия доменов и адресов, но и неудачные попытки разрешения имен. Посмотреть содержимое кэша можно в командной строке с помощью команды ipconfig /displaydns, а очистить – ipconfig /flushdns. За работу кэша отвечает служба dnscache.


На скриншоте видно, что сразу после чистки кэша в него добавляется содержимое файла hosts, и иллюстрировано наличие в кэше неудачных попыток распознавания имени.

При попытке разрешения имени обычно используются сервера DNS, настроенные на сетевом адаптере. Но в ряде случаев, например, при подключении к корпоративному VPN, нужно отправлять запросы разрешения определенных имен на другие DNS. Для этого в системах Windows, начиная с 7\2008 R2, появилась таблица политик разрешения имен (Name Resolution Policy Table, NRPT). Настраивается она через реестр, в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\DnsClient\DnsPolicyConfig или групповыми политиками.


Настройка политики разрешения имен через GPO.

При наличии в одной сети нескольких технологий, где еще и каждая – со своим кэшем, важен порядок их использования.

Операционная система Windows пытается разрешить имена в следующем порядке:

проверяет, не совпадает ли имя с локальным именем хоста;

смотрит в кэш DNS распознавателя;

если в кэше соответствие не найдено, идет запрос к серверу DNS;

если не получилось разрешить имя на этом этапе – происходит запрос на сервер WINS;

если постигла неудача, то система пытается получить имя широковещательным запросом, но не более трех попыток;

Для удобства проиллюстрирую алгоритм блок-схемой:


Алгоритм разрешения имен в Windows.

Выполнение второго пинга происходит на несколько секунд дольше, а сниффер покажет широковещательные запросы.


Сниффер показывает запросы DNS для длинного имени и широковещательные запросы NetBIOS для короткого.

Отдельного упоминания заслуживают доменные сети – в них запрос с коротким именем отработает чуть по-другому.

Для того чтоб при работе не нужно было вводить FQDN, система автоматически добавляет часть имени домена к хосту при различных операциях – будь то регистрация в DNS или получение IP адреса по имени. Сначала добавляется имя домена целиком, потом следующая часть до точки.

При попытке запуска команды ping servername система проделает следующее:


Настройка добавления суффиксов DNS через групповые политики.

Настраивать DNS суффиксы можно также групповыми политиками или на вкладке DNS дополнительных свойств TCP\IP сетевого адаптера. Просмотреть текущие настройки удобно командой ipconfig /all.


Суффиксы DNS и их порядок в выводе ipconfig /all.

Из-за суффиксов утилита nslookup выдала совсем не тот результат, который выдаст например пинг:

Это поведение иногда приводит в замешательство начинающих системных администраторов.

При диагностике стоит помнить, что утилита nslookup работает напрямую с сервером DNS, в отличие от обычного распознавателя имен. Если вывести компьютер из домена и расположить его в другой подсети, nslookup будет показывать, что всё в порядке, но без настройки суффиксов DNS система не сможет обращаться к серверам по коротким именам.

Отсюда частые вопросы – почему ping не работает, а nslookup работает.

В плане поиска и устранения ошибок разрешения имен могу порекомендовать не бояться использовать инструмент для анализа трафика – сниффер. С ним весь трафик как на ладони, и если добавляются лишние суффиксы, то это отразится в запросах DNS. Если запросов DNS и NetBIOS нет, некорректный ответ берется из кэша.

Если же нет возможности запустить сниффер, рекомендую сравнить вывод ping и nslookup, очистить кэши, проверить работу с другим сервером DNS.

Кстати, если вспомните любопытные DNS-курьезы из собственной практики – поделитесь в комментариях.

В табл. 2 сравниваются NetBIOS-имя компьютера и имя узла DNS.

Таблица 2. Сравнение имен NetBIOS и DNS

Ограничения по символам

Символы Unicode, цифры, пробелы, а также символы:

A-Z, a-z, 0-9 и дефис (-); у точки (.) особое зарезервированное значение

63 байта на одну метку; 255 байт на полное доменное имя

Службы разрешения имен

WINS. Широковещание NetBIOS. Файл Lmhosts

Сравнение процедур разрешения имен

В каждой из двух основных систем разрешения имен в Windows Server 2003 – DNS и NetBIOS – используются свои, особые методы.

DNS поддерживает два метода:

поиск имени в кэше DNS-клиента. Имена попадают в кэш при более ранних запросах или загружаются из файла Hosts, расположенного в папке Windows\System32\Drivers\Etc;

В NetBIOS больше способов разрешения имен:

поиск в кэше NetBIOS-имен;

запрос WINS-сервера (WindowsInternetNamingService (WINS, служба имен Интернета для Windows) Сервис, работающий на сервере Windows NT, обслуживающий
динамическую базу данных об именах NetBIOS и IP-адресах;

широковещательные NetBIOS-запросы в локальной сети;

поиск имени в файле Lmhosts, из папки Windows\System32\Drivers\Etc.

Запомните следующие команды, связанные с NetBIOS:

Nbtstat -с (выводит список имен в кэше имен NetBIOS);

Nbtstat -R (очищает локальный кэш имен NetBIOS).

Занятие 2. DNS в сетях Windows Server 2003

DNS позволяет находить компьютеры и другие ресурсы в IP-сетях по их именам. До появления DNS имена узлов в IP-сетях образовали плоское пространство имен и разре­шались с помощью статических файлов Hosts. Появление иерархической структуры и автоматического кэширования и разрешения имен узлов в DNS позволило преодолеть многие административные и структурные сложности именования узлов в Интернете.

DNS позволяет пользователям и программам подключаться к IP-узлам по именам. DNS обеспечивает механизмы как для именования узлов, так и для поиска IP-узлов по именам.

ПространствоименDNS

Система именования DNS представляет собой иерархическую и логическую древовидную структуру, которую называют пространство имен DNS(DNS namespace), где есть один корень, у которого может быть любое число поддоменов. У отдельных поддоменов в свою очередь могут быть дочерние поддомены. Например, в пространстве имен Интернета корень "" (пустая строка) объединяет множество нижележащих доменных имен верхнего уровня, одно из которых – .com. В домене сот может быть поддомен компании Lucerne Publishing: lucernepublishing.com, который в свою очередь является родительским для дочернего домена следующего уровня, например домена производственного отдела: mfg.lucernepublishing.com. Организации вправе создавать частные сети и использовать собственные, недоступные из Интернета, пространства DNS-имен.

Доменныеимена

Каждый узел в дереве DNS-домена идентифицируется по его полному доменному имени (FQDN) – имени домена DNS, которое однозначно определяет его расположение по отношению к корню дерева доменов. Например, FQDN сервера производственного отдела в домене lucemepublishing.comбудет mfgserver.lucernepublishing.com. Оно представляет собой объединение имени узла (mfgserver) основного суффикса DNS (lucernepublishing.com) и за­мыкающей точки (.). Замыкающая точка является стандартным разделителем доменной метки верхнего уровня и меткой пустой строки, соответствующей корню. (При повсед­невном использовании замыкающую точку часто опускают, но ее добавляет служба DNS-клиента при выполнении запросов.)

ПространстводоменныхименИнтернета

Корень (самый верхний уровень) пространства имен Интернета управляется ICANN (Internet Corporation for Assigned Names and Numbers). Эта организация координирует присвоение идентификаторов, которые должны быть уникальными во всем Интернете, в том числе доменных имен, IP-адресов, параметров протоколов и номеров портов.

Этичный хакинг и тестирование на проникновение, информационная безопасность

У каждого компьютера Windows есть Имя компьютера. Если даже вы его не устанавливали, то значит там записано сгенерированное при установке операционной системы имя.

Это имя компьютера в локальной сети можно использовать как полную альтернативу локальному IP адресу:

  • обращаться к совместным ресурсам (сетевые папки и принтеры)
  • обращаться к запущенным сетевым службам (веб-сервер, FTP и др.)

При этом не требуется какая-либо настройка DNS или файла hosts, поскольку такое распознавание имён обеспечивается NetBIOS. Мы уже сталкивались с NetBIOS, а точнее с одной из трёх его служб — NBT-NS — в статье «Взлом сетевой аутентификации Windows». Это одна из служб, которая эксплуатировалась для выполнения атаки.

То есть, NetBIOS имеет важное значение для Windows, а также для изучения устройства Windows, анализа сетевой активности Windows и в вопросах безопасности локальных сетей и компьютеров с Windows.

Что такое NetBIOS

NetBIOS (Network Basic Input/Output System) — протокол для работы в локальных сетях на персональных ЭВМ типа IBM/PC, разработан в виде интерфейса, который не зависит от фирмы-производителя. Был разработан фирмой Sytek Corporation по заказу IBM в 1983 году. Он включает в себя интерфейс сеансового уровня (англ. NetBIOS interface), в качестве транспортных протоколов использует TCP и UDP.

  • широковещательные («b») узлы;
  • узлы точка-точка («p»);
  • узлы смешанного типа («m»).

IP-адрес может ассоциироваться с одним из указанных типов. B-узлы устанавливают связь со своим партнёром посредством широковещательных запросов. P- и M-узлы для этой цели используют netbios сервер имён (NBNS) и сервер распределения дейтаграмм (NBDD).

  • регистрацию и проверку сетевых имён;
  • установление и разрыв соединений;
  • связь с подтверждением доставки информации;
  • связь без подтверждения доставки информации;
  • поддержку управления и мониторинга драйвера и сетевой карты.

Службы NetBIOS

NetBIOS предоставляет три разных службы:

  • Служба имён (NetBIOS-NS) для регистрации и разрешения имён.
  • Служба рассылки дейтаграмм (NetBIOS-DGM) для связи без установления соединения.
  • Служба сеанса (NetBIOS-SSN) для связи с установлением соединения.

Служба имён (NetBIOS-NS)

Примитивы службы имён, предлагаемые NetBIOS:

  • Add name — регистрирует имя NetBIOS.
  • Add group name — регистрирует NetBIOS-имя группы.
  • Delete name — отменяет регистрацию имени NetBIOS или имени группы.
  • Find name — поиск имени NetBIOS в сети.

Разрешение имён NetBIOS не поддерживается Microsoft для Интернет-протокола версии 6 (IPv6).

Служба рассылки дейтаграмм (NetBIOS-DGM)

Режим датаграммы без установления соединения; Приложение отвечает за обнаружение и восстановление ошибок. В NBT служба дейтаграмм работает на UDP-порту 138.

Примитивы службы дейтаграмм, предлагаемые NetBIOS:

Служба сеанса (NetBIOS-SSN)

Примитивы службы сеанса, предлагаемые NetBIOS:

  • Call — открывает сеанс для удалённого имени NetBIOS.
  • Listen — прослушивание попыток открыть сеанс с именем NetBIOS.
  • Hang Up — закрыть сеанс.
  • Send — отправляет пакет на компьютер на другом конце сеанса.
  • Send No Ack — как Send, но не требует подтверждения.
  • Receive — ожидание поступления пакета от отправки на другом конце сеанса.

В исходном протоколе, используемом для реализации сервисов NetworkBIOS в сети PC-Network, для установления сеанса инициирующий компьютер отправляет запрос Open, на который отвечает подтверждение Open. Компьютер, запустивший сеанс, затем отправит пакет запроса сеанса, который запросит либо пакет подтверждения сеанса, либо пакет отклонения сеанса.

В течение установленного сеанса на каждый передаваемый пакет отвечает либо ответ с положительным подтверждением (ACK), либо ответ с отрицательным подтверждением (NAK). NAK предложит повторную передачу данных. Сессии закрываются не инициирующим компьютером, отправляя запрос на закрытие. Компьютер, запустивший сеанс, ответит пакетом закрытия, который запрашивает окончательный пакета закрытия сеанса.

Как соотносится Имя NetBIOS с именем хоста в Интернете

Когда NetBIOS работает в сочетании с интернет-протоколами (например, NBT), каждый компьютер может иметь несколько имён: одно или несколько имён службы имен NetBIOS и одно или несколько имён хостов Интернета.

Имя NetBIOS

Имена NetBIOS представляют собой последовательность буквенно-цифровых символов. Следующие символы явно недопустимы: \/:*?"<>|. Начиная с Windows 2000, имена NetBIOS также должны соответствовать ограничениям на DNS-имена: они не могут состоять исключительно из цифр и дефиса ("-"), а символ точка (".") не могут отображаться в качестве первого или последнего символа. Начиная с Windows 2000, Microsoft не рекомендует включать любые символы точка (".") в имена NetBIOS, так что приложения могут использовать присутствие точки, чтобы отличить доменные имена от имён NetBIOS.

Файл Windows LMHOSTS предоставляет метод разрешения имён NetBIOS, который можно использовать в небольших сетях, в которых не используется сервер WINS. О файле LMHOSTS далее.

Интернет имя хоста

NetBIOS-имя Windows-машины не следует путать с именем хоста компьютера в Интернете (при условии, что компьютер также является хостом Интернета, а не узлом NetBIOS, что не обязательно должно иметь место). Как правило, компьютер, на котором запущены интернет-протоколы (будь то компьютер с Windows или нет), обычно имеет имя хоста (также иногда называемое именем компьютера). Первоначально эти имена хранились в файле hosts и предоставлялись им, но сегодня большинство таких имён являются частью иерархической системы доменных имен (DNS) (смотрите Введение в DNS терминологию, компоненты и концепции).

Обычно имя хоста компьютера Windows основывается на имени NetBIOS плюс первичный DNS-суффикс, которые оба задаются в диалоговом окне «Свойства системы». Также могут существовать суффиксы для конкретного соединения, которые можно просмотреть или изменить на вкладке DNS в Панели управления → Сеть → TCP / IP → Дополнительные свойства. Имена хостов используются такими приложениями, как telnet, ftp, веб-браузеры и т. д. Чтобы подключиться к компьютеру, использующему протокол TCP/IP, используя его имя, имя хоста должно быть преобразовано в IP-адрес, обычно DNS-сервером. (Также возможно работать со многими приложениями на основе TCP/IP, включая три, перечисленные выше, используя только IP-адреса, но это не норма.)

Как обнаружить NetBIOS

Можно запустить обычное сканирование TCP портов в локальной сети с помощью nmap:

И среди результатов можно обнаружить открытый TCP порт 139:


Если нас интересует только службы NetBIOS, то достаточно искать UDP порты 137 и 138 и TCP порты 137 и 139, воспользуемся Рецептами nmap и составим такую команду:

Плюс такого подхода в том, что сканирование происходит намного быстрее и дополнительно найдены открытые порты UDP.


Можно воспользоваться ещё одним рецептом Nmap для сбора банеров служб, для этого добавим опции -sV --script=banner:

Благодаря последней команде мы дополнительно узнали:

  • используемую рабочую группу (WORKGROUP)
  • операционную систему для некоторых устройств (Windows 10)
  • некоторые открытые порты связаны с Samba smbd 3.X - 4.X

Дополнительно можно воспользоваться скриптами Nmap (NSE) — я нашёл 3 скрипта, которые связаны с NetBIOS:

nbd-info

Отображает информацию о протоколах и блочных устройствах с серверов NBD.

nbstat

Пытается получить имена NetBIOS и MAC-адрес цели.

broadcast-netbios-master-browser

Пытается обнаружить главные браузеры и домены, которыми они управляют.

Для их использования во время сканирования команда примерно следующая:


nbtstat

Программа nbtstat предназначена для отображения статистики протокола NetBIOS и текущих подключений TCP/IP с помощью NBT (NetBIOS через TCP/IP). Программа nbtstat предустановлена в Windows, то есть её не нужно скачивать и устанавливать, но нужно запускать в командной строке. Смотрите «Настройка рабочего окружения PowerShell в Windows и Linux».

Рассмотрим примеры использования nbtstat.

Чтобы по IP адресу узнать имя хоста используйте опцию -A:


Чтобы просмотреть имена компьютеров и их IP, сохранённые в кэше укажите опцию -c:


Чтобы узнать имя текущего компьютера используйте nbtstat с опцией -n:


Для вывода имён, определённых с помощью рассылки и WINS запустите такую команду:


Фильтры Wireshark для выделения NetBIOS трафика

Wireshark поддерживает практически все сетевые протоколы (смотрите «Фильтры Wireshark»), в том числе и протоколы NetBIOS.

Фильтр Wireshark для службы имён (NetBIOS-NS):

Широковещательный запрос, чтобы определить IP адрес по имени компьютера:



Запрос к определённому узлу для получения его имени хоста:



Фильтр Wireshark для службы рассылки дейтаграмм (NetBIOS-DGM):


Фильтр Wireshark для службы сеанса (NetBIOS-SSN):


Для фильтрации всего трафика NetBIOS:

Файл LMHOSTS

Файл LMHOSTS (LAN Manager Hosts) используется для разрешения (преобразования) доменных имён в Windows, когда другие методы, такие как WINS, не работают. Используется совместно с рабочими группами и доменами. Если вы ищете простой, общий механизм для локальной спецификации IP-адресов для определённых имён хостов (имён серверов), используйте файл HOSTS, а не файл LMHOSTS.

Файл, если он существует, читается как файл настроек LMHOSTS. Пример файла (lmhosts.sam) предоставляется. Он содержит документацию для ручной настройки файла.

В Windows NT 4.0, Windows 2000, Windows XP, Vista, 7, 8, 10, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2016+ файл находится в %windir%\system32\drivers\etc\, и там же размещён пример файла (lmhosts.sam). Обратите внимание, что %windir% является переменной окружения, указывающей на папку, куда установлена Windows, обычно это C:\Windows.

Синтаксис файла LMHOSTS такой же, как и у HOSTS, то есть:

Эксплуатация NetBIOS

Программа для аудита безопасности NetBIOS можно разделить на 2 группы:

  • спуфинг NetBIOS для выполнения атак человек-посередине
  • сканирование NetBIOS для сбора информации

Программы для сканирования NetBIOS в большей части заброшены, поскольку практически всю информацию (имя, IP, MAC адрес) можно узнать либо стандартной утилитой Windows, либо сканером Nmap.

Что касается инструментов для спуфинга NetBIOS, то среди них достаточно актуальных программ, обычно включающих в себя спуфинг служб NetBIOS как часть комплексной атаки.

Далее совсем краткий обзор инструментов, поскольку инструменты для сканирования слишком просты, чтобы говорить о них много, а инструменты для спуфинга слишком сложные, чтобы рассматривать их в этой статье — каждый из них заслуживает собственной статьи или даже нескольких инструкций — по различных их функциям.

Invoke-Inveigh

Inveigh — это спуфер PowerShell ADIDNS/LLMNR/NBNS/mDNS/DNS и инструмент для атаки «человек посередине», предназначенный для помощи тестировщикам на проникновения/красным тимерам, которые ограничены системой Windows.

Пример запуска наблюдения без атаки:


Responder

nmbscan

nmbscan сканирует сетевые папки SMB/NetBIOS, используя протоколы NMB/SMB/NetBIOS. Это полезно для получения информации о локальной сети для таких целей, как аудит безопасности.

Он может получать такую информацию, как имя хоста NMB/SMB/NetBIOS/Windows, IP-адрес, имя хоста IP, MAC-адрес Ethernet, имя пользователя Windows, имя домена NMB/SMB/NetBIOS/Windows и главный браузер.

Он может обнаружить все узлы NMB/SMB/NetBIOS/Windows в локальной сети, используя списки узлов, поддерживаемые основными браузерами.

Имеется в репозиториях BlackArch:


Для сканирования подсети (очень медленно):

netbios-share-scanner

Этот инструмент можно использовать для проверки рабочих станций Windows и серверов, если они имеют доступные общие ресурсы.


fakenetbios

Семейство инструментов, предназначенное для симуляции хостов Windows (NetBIOS) в LAN (локальной сети).

nbnspoof

Спуфер имён служб NetBIOS.

nbtenum

Утилита для Windows, которая может использоваться для перечисления информации NetBIOS с одного хоста или диапазона хостов. Для запуска на Windows.

nbtool

Несколько инструментов для изучения, атак и связи с NetBIOS и DNS.

nbname

Декодирует и отображает все имена NetBIOS пакетов, полученные на UDP порту 137 и другое! Для запуска на Windows.

nbtscan

NBTscan - это программа для сканирования IP для получения информации об имени NetBIOS.

Читайте также: