РАСКЛАДКА ПРОТОКОЛА NetBIOS

NetBIOS по полочкам

Спецвыпуск Xakep, номер #023, стр. 023-038-2


Оба сетевых протокола умеют переносить на себе пакеты NetBIOS, это позволяет использовать его в таких больших сетях, как Internet. С Novell с его IPX мы заморачиваться не будем, потому что редко хакеру приходится сталкиваться с Novell NetWare (такая сетевая операционная система). Будем разбираться в NetBIOS over TCP/IP, потому что именно в таком виде NetBIOS использует Unix и Windows, а с ними хакер здоровается за руку каждый день, особенно когда сканирует всякие шары! Хотя основные принципы NetBIOS over TCP/IP и NetBIOS over IPX сильно похожи!

Фишка TCP/IP такая: для службы имен NetBIOS использует 137-ой порт TCP/IP, для дэйтаграмм использует 138-ой, а для сессий - 139-й порт. О том, как все это происходит, подробно написано в RFC 1001, RFC 1002. По сути это единственные документы, хоть как-то стандартизирующие NetBIOS, и то там говорится про NetBIOS over TCP/IP (NBT сокращенно). Поскольку этот протокол так и не был стандартизирован полностью, а информация по нему была открыта, поэтому практически каждая фирма придумала свою версию со своими надстройками, которые с другими клонами NetBIOS не работают. Вот и геморятся админы, чтобы заставить работать вместе Винды с Нетварью, Нетварь с Линухом, Линух с Виндами и так далее.

ИСТОРИЯ ТРЕТЬЯ (ФилоСОФТская)

Про власть имен

NetBIOS - первый протокол с человеческим лицом, который позволил простым пользователям пользоваться удобными именами, а не замороченными компьютерными адресами. Уже за это его так полюбили разные канцелярские крысы. Протокол позволил дать компьютеру имя и дать имя группе компьютеров, обычное человеческое имя из шестнадцати символов. Это имя можно использовать как сетевой адрес компьютера. Когда ты в сети Windows видишь группу компьютеров "MyCrazyFriends", а в ней компьютеры: "Pasha", "Sasha", "Klusha" и "Andrusha", это и есть нетбиосовские имена!

Но когда придумывали нетбиос в 84-ом году, никто и представить себе не мог, что сети будут такими огромными. Поэтому решили с именами все сделать дешево и сердито. Когда пользователь регистрирует новое имя в системе, NetBIOS отправляет широковещательный запрос (то есть запрос всем станциям) с новым именем. Если дублей нет, то в ответ ничего не приходит, а если такое имя уже есть, то приходит злобный ответ от хозяина.

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

Цель широковещательных запросов - узнать IP или MAC адрес тачки с нужным нетбиосовским именем. Microsoft для решения этой проблемы предлагает WINS (Windows Internet Name Service - виндовая интернет служба имен) - сервер, на котором хранится список нетбиосовских имен. Вместо того чтобы спамить сеть широковещательными запросами, станция может обратиться к серверу за нужным IP адресом.

Назад на стр. 023-038-1  Содержание  Вперед на стр. 023-038-3