Netbios frame protocol
Содержание:
Перехватить трафик на localhost под Windows
РЕШЕНИЕ
Недавно я столкнулся с невозможностью пропускать трафик через прокси при системных обращениях к localhost или к лупбэку — 127.0.0.1. Почему системных? Потому, что настройки IE, касающиеся прокси, используются большинством ПО в Windows. Например, Python при использовании urllib2 автоматом берет прокси ОС. Надо отметить, что острее всего проблема проявляется, когда сервис поднят именно на внутреннем интерфейсе (127.0.0.1) и недоступен на внешнем (0.0.0.0). В тот раз мне удалось решить ее каким-то обходным путем, но недавно я наткнулся на интересный пост в блоге Eldar Marcussen. Он написал, что дефолтные настройки IE и .NET framework запрещают трафику идти через прокси на localhost и 127.0.0.1. В IE9 эту проблему удалось решить за счет того, что в настройках можно выбрать опцию «не использовать прокси» — «-localhost».
Службы
NetBIOS/NetBEUI предоставляет три несвязанных службы:
- Служба имен — для регистрации и прекращения регистрации имен.
- Службы доставки датаграмм — для «бесконтактных» соединений.
- Сессионная служба — для установления подключений, ориентированных на связь.
В протоколе NBF реализованы все три упомянутые службы.
Служба имен
Прежде чем начать сессию или доставить датаграмму приложение должно зарегистрировать свое имя NetBIOS/NetBEUI, используя службу имен. Для осуществления этого в сеть посылаются широковещательные пакеты Add Name Query (англ. запрос нового имени) и Add Group Name Query (англ. запрос нового группового имени). В случае, когда выбранное имя NetBIOS/NetBEUI уже занято, служба имен на хосте, использующем это имя, отправляет в сеть широковещательное сообщение Node Conflict (англ. конфликт узлов).
Чтобы установить сессию или доставить датаграмму на определенный хост вместо широковещательной рассылки, протокол NBF должен определить MAC-адрес адрес хоста с нужным именем NetBIOS/NetBEUI. Это осуществляется отправкой в сеть пакета Name Query (англ. запрос имени), ответом на который будет MAC-адрес хоста, направившего ответ, то есть хоста с запрошенным именем.
Служба доставки датаграмм
Режим отправки датаграмм — т. н. «бесконтактный». Датаграмма отсылается в специальных пакетах Datagram при отправке на определенное имя NetBIOS/NetBEUI. В случае отправки на все доступные имена NetBIOS/NetBEUI в сети используется другой тип пакетов — Datagram Broadcast (англ. широковещательные Datagram)
Сессионная служба
В сессионном режиме два хоста устанавливают соединение в режиме т. н. «диалога» (англ. conversation), что позволяет осуществлять доставку сообщений большего размера, а также осуществлять обнаружение и коррекцию ошибок.
Для установки сессии требуется осуществить обмен пакетами. При инициализации сессии хост должен отправить специальный пакет Name Query. Компьютер, с которым должна быть установлена сессия, отвечает пакетом Name Recognized (англ. имя опознано) с указанием, что сессия не может быть установлена (либо потому что хост не ожидает установления сессии с данным компьютером, или из-за отсутствия ресурсов на установление новой сессии), либо с указанием на возможность установления сессии (в этом случае в ответе также указывается локальный номер сессии, который будет использоваться в последующих пакетах). Хост, инициализировавший сессию после этого отправляет пакет Session Initialize (англ. инициализация сессии), на что должен поступить ответ Session Confirm (англ. подтверждение сессии).
После установления сессии данные передаются в пакетах данных. Стандарт IEEE 802.2 обеспечивает управление потоками и ретрансляцию пакетов данных. Поскольку NetBIOS/NetBEUI позволяет осуществлять передачу пакетов бо́льшего размера, нежели максимально возможный пакет на конкретном слое управления доступом к среде, пакеты NetBIOS/NetBEUI при передаче могут быть разбиты на серию пакетов Data First Middle и пакет Data Only Last. Пакеты, которым не требуется разбитие, отправляются единственным пакетом Data Only Last. После получения каждого пакета Data Only Last высылается подтверждение получения. Это подтверждение также означает, что все предшествующие пакеты Data First Middle также успешно получены.
Сессия закрывается посредством отправки запроса Session End (англ. окончание сессии).
History and terminology [ edit ]
NetBIOS is a non-routable OSI Session Layer 5 Protocol and a service that allows applications on computers to communicate with one another over a local area network (LAN). NetBIOS was developed in 1983 by Sytek Inc. as an API for software communication over IBM PC Network LAN technology. On PC-Network, as an API alone, NetBIOS relied on proprietary Sytek networking protocols for communication over the wire. [ citation needed ] Despite supporting a maximum of 80 PCs in a LAN, NetBIOS became an industry standard.
In 1985, IBM went forward with the token ring network scheme and a NetBIOS emulator was produced to allow NetBIOS-aware applications from the PC-Network era to work over this new design. This emulator, named NetBIOS Extended User Interface (NetBEUI), expanded the base NetBIOS API with, among other things, the ability to deal with the greater node capacity of token ring. A new networking protocol, NBF, was simultaneously produced to allow NetBEUI (NetBIOS) to provide its services over token ring – specifically, at the IEEE 802.2 Logical Link Control layer.
In 1985, Microsoft created a NetBIOS implementation for its MS-Net networking technology. As in the case of IBM’s token ring, the services of Microsoft’s NetBIOS implementation were provided over the IEEE 802.2 Logical Link Control layer by the NBF protocol. [ citation needed ] Until Microsoft adopted Domain Name System (DNS) resolution of hostnames Microsoft operating systems used NetBIOS to resolve names in Windows client-server networks.
In 1986, Novell released Advanced Novell NetWare 2.0 featuring the company’s own NetBIOS emulator. Its services were encapsulated within NetWare’s IPX/SPX protocol using the NetBIOS over IPX/SPX (NBX) protocol.
In 1987, a method of encapsulating NetBIOS in TCP and UDP packets, NetBIOS over TCP/IP (NBT), was published. It was described in RFC 1001 («Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Concepts and Methods») and RFC 1002 («Protocol Standard for a NetBIOS Service on a TCP/UDP Transport: Detailed Specifications»). The NBT protocol was developed in order to «allow an implementation to be built on virtually any type of system where the TCP/IP protocol suite is available,» and to «allow NetBIOS interoperation in the Internet.»
After the PS/2 computer hit the market in 1987, IBM released the PC LAN Support Program, which included a driver for NetBIOS.
Worth noting is the popular confusion between the names NetBIOS and NetBEUI. NetBEUI originated strictly as the moniker for IBM’s enhanced 1985 NetBIOS emulator for token ring. The name NetBEUI should have died there, considering that at the time, the NetBIOS implementations by other companies were known simply as NetBIOS regardless of whether they incorporated the API extensions found in that emulator. For MS-Net, however, Microsoft elected to name its implementation of the NBF protocol «NetBEUI» – literally naming its implementation of the transport protocol after IBM’s second version of the API. Consequently, even today, Microsoft file and printer sharing over Ethernet continues to be called NetBEUI, with the name NetBIOS commonly used only in reference to file and printer sharing over TCP/IP. In truth, the former is the NetBIOS Frames protocol (NBF), and the latter is NetBIOS over TCP/IP (NBT).
Since its original publishing in a technical reference book from IBM, the NetBIOS API specification has become a de facto standard.
Meaning of WHAT is netbios-ssn & netbios-dgm?
WHAT is netbios-ssn & netbios-dgm is the error name that contains the details of the error, including why it occurred, which system component or application malfunctioned to cause this error along with some other information. The numerical code in the error name contains data that can be deciphered by the manufacturer of the component or application that malfunctioned. The error using this code may occur in many different locations within the system, so even though it carries some details in its name, it is still difficult for a user to pinpoint and fix the error cause without specific technical knowledge or appropriate software.
Causes of Netbios Name Or Netbios Datagram?
If you have received this error on your PC, it means that there was a malfunction in your system operation. Common reasons include incorrect or failed installation or uninstallation of software that may have left invalid entries in your Windows registry, consequences of a virus or malware attack, improper system shutdown due to a power failure or another factor, someone with little technical knowledge accidentally deleting a necessary system file or registry entry, as well as a number of other causes. The immediate cause of the «Netbios Name Or Netbios Datagram» error is a failure to correctly run one of its normal operations by a system or application component.
Имена NetBIOS
- Имя NetBIOS – это уникальный 16-байтный адрес, использующийся для идентификации NetBIOS ресурса в сети.
- NetBIOS имена используются всеми сетевыми сервисами Windows NT для их идентификации.
- Все имена NetBIOS состоят из 15 символов имени плюс 16-ый символ (суффикс), идентифицирующий сервис.
- NetBIOS имя совпадает с первыми 15 символами имени компьютера и хранится в ключе hostname в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip \Parameters
| Имя | Номер | Тип | Описание |
| Computername | <00> | UNIQUE | Workstation Service. Позволяет хосту подключаться к удаленным общим ресурсам. |
| Computername | <03> | UNIQUE | Messenger Service. Позволяет хосту принимать сообщения типа net send computername |
| Username | <03> | UNIQUE | Messenger Service. Позволяет пользователю принимать сообщения типа net send username |
| Computername | <20> | UNIQUE | Server Service. Позволяет хосту получать запросы на соединения от других хостов |
| Computername | <06> | UNIQUE | RAS Server Service |
| Computername | <21> | UNIQUE | RAS Client Service |
| Computername | <1F> | UNIQUE | NetDDE Service |
| Computername | <22> | UNIQUE | Exchange Interchange |
| Computername | <23> | UNIQUE | Exchange Store |
| Computername | <24> | UNIQUE | Exchange Directory |
| Computername | <30> | UNIQUE | Modem Sharing Server Service |
| Computername | <31> | UNIQUE | Modem Sharing Client Service |
| Computername | <43> | UNIQUE | SMS Client Remote Control |
| Computername | <44> | UNIQUE | SMS Admin Remote Control Tool |
| Computername | <45> | UNIQUE | SMS Client Remote Chat |
| Computername | <46> | UNIQUE | SMS Client Remote Transfer |
| Computername | <4C> | UNIQUE | DEC Pathworks TCPIP Service |
| Computername | <52> | UNIQUE | DEC Pathworks TCPIP Service |
| Computername | <87> | UNIQUE | Exchange MTA |
| Computername | <6A> | UNIQUE | Exchange IMC |
| Computername | <BE> | UNIQUE | Network Monitor Agent |
| Computername | <BF> | UNIQUE | Network Monitor Apps |
| Domainname or Workgroup | <00> | GROUP | Регистрирует компьютер как член домена или рабочей группы |
| Domainname or Workgroup | <1D> | UNIQUE | Регистрирует локальный броузер домена или рабочей группы |
| Domainname or Workgroup | <1E> | GROUP | Регистрируется как групповое имя. Используется при выборах Master Browser |
| Domainname | <00> | GROUP | Domain Name |
| Domainname | <1B> | UNIQUE | Регистрирует компьютер как Domain Master Browser |
| Domainname | <1C> | GROUP | Domain Controller |
| Domainname | <1D> | UNIQUE | Master Browser |
| ..__MSBROWSE__. | <01> | GROUP | Master Browser |
| INetServices | <1C> | GROUP | Internet Information Server |
| ISComputer_name | <00> | UNIQUE | Internet Information Server |
| Computername | <2B> | UNIQUE | Lotus Notes Server |
| IRISMULTICAST | <2F> | GROUP | Lotus Notes |
| IRISNAMESERVER | <33> | GROUP | Lotus Notes |
| Forte_$ND800ZA | <20> | UNIQUE | DCA Irmalan Gateway Service |
UNIQUE: имя может иметь только один адрес IP, назначенный для него. Может показаться, что на сетевом устройстве присутствуют многократные случаи одного и того же имени, но суффикс будет уникален, делая имя также полностью уникальным.
GROUP: нормальная группа; одиночное имя может существовать со многими адресами IP.
Multihomed: имя уникально, но из-за множественных сетевых интерфейсов на одном и том же компьютере, эта конфигурация необходима чтобы разрешить регистрацию. Максимальное число адресов – 25.
Internet Group: это специальная конфигурация имени группы, используемая для управления Win NT? именами домена.
| Регистрация_имени (Name registration) | Когда NBT-хост инициализируется, он регистрирует свое NetBIOS имя используя запрос на регистрацию имени. Регистрация может производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер. Если регистрируемое имя уже существует, то хост или WINS сервер информируют хост, приславший запрос, о невозможности регистрации NetBIOS имени. В результате возникает ошибка инициализации имени. |
| Поиск_имени (Name Discovery) | Поиск NetBIOS имени в локальной сети производится широковещательным сообщением или непосредственной пересылкой запроса на WINS сервер. Хост, зарегистрированный с этим именем, или WINS сервер, отвечают на запрос. |
| Освобождение_имени (Name Release) | Освобождение имени осуществляется когда NetBIOS приложение или сервис заканчивают свою работу. После освобождения имя становится доступным для регистрации другим хостом. |
Cтруктура
NetBEUI — это не отдельный протокол, а окрестность для коммуникативных служб, которая состоит из 3 частей:
- Интерфейс для приложений:NetBIOS
- Транспортный протокол: NetBEUI
- Интерфейс к сетевому адаптеру: NDIS
NetBIOS
NetBios — это программный интерфейс между приложениями и транспортными протоколами. Основной компонент NetBIOS — это управление логичных имен в сочетании с MAC или IP адресами. Наряду с NetBEUI может переноситься NetBIOS также о TCP/IP или IPX/SPX.
NetBEUI
Протокол NetBEUI расширяет NetBIOS на необходимые способности протокола. Кроме активизации протокола и предоставление имени NetBIOS и наименование рабочей группы ничего не нужно делать. NetBEUI с NetBIOS функционируют почти полностью автоматизировано.
NetBEUI определяет сооружение пакетов данных и строит ориентированную на связь сеть. Доступ к ресурсам может осуществляться в виде одноранговой сети (P2P) или клиент-серверного приложения.. Адресами управляет NetBIOS.
NDIS
NDIS (Network Driver Interface Specification) — это интерфейс между протоколами и программным драйвером сетевого адаптера. В качестве транспортного протокола может использовать Ethernet так же хорошо, как и ISDN
Настройка iptables
Разрешим же необходимые порты:
Затем перезапустим службу Samba:
В некоторых случаях есть хосты, которые не должны иметь доступа к серверу Samba. Вы можете ограничить диапазон IP-адресов, которые могут успешно подключаться к серверу Samba. Вот пример команд, вместо приведенных выше:
Этот пример позволит только хостам с IP-адресами между 192.168.0.1 и 192.168.0.254 связаться с сервером Samba.
Если требуется ограничить доступ только с одного хоста, используйте эти команды:
Эта конфигурация позволит только хосту с IP-адресом 192.168.0.1 связаться с сервером Samba.
Если вы хотите, чтобы несколько отдельных узлов или подсетей могли подключаться к серверу Samba, вам придется использовать несколько наборов из четырех строк конфигурации.
Службы
NetBIOS/NetBEUI предоставляет три несвязанных службы:
- Служба имен — для регистрации и прекращения регистрации имен.
- Службы доставки датаграмм — для «бесконтактных» соединений.
- Сессионная служба — для установления подключений, ориентированных на связь.
В протоколе NBF реализованы все три упомянутые службы.
Служба имен
Прежде чем начать сессию или доставить датаграмму приложение должно зарегистрировать свое имя NetBIOS/NetBEUI, используя службу имен. Для осуществления этого в сеть посылаются широковещательные пакеты Add Name Query (англ. запрос нового имени) и Add Group Name Query (англ. запрос нового группового имени). В случае, когда выбранное имя NetBIOS/NetBEUI уже занято, служба имен на хосте, использующем это имя, отправляет в сеть широковещательное сообщение Node Conflict (англ. конфликт узлов).
Чтобы установить сессию или доставить датаграмму на определенный хост вместо широковещательной рассылки, протокол NBF должен определить MAC-адрес адрес хоста с нужным именем NetBIOS/NetBEUI. Это осуществляется отправкой в сеть пакета Name Query (англ. запрос имени), ответом на который будет MAC-адрес хоста, направившего ответ, то есть хоста с запрошенным именем.
Служба доставки датаграмм
Режим отправки датаграмм — т. н. «бесконтактный». Датаграмма отсылается в специальных пакетах Datagram при отправке на определенное имя NetBIOS/NetBEUI. В случае отправки на все доступные имена NetBIOS/NetBEUI в сети используется другой тип пакетов — Datagram Broadcast (англ. широковещательные Datagram)
Сессионная служба
В сессионном режиме два хоста устанавливают соединение в режиме т. н. «диалога» (англ. conversation), что позволяет осуществлять доставку сообщений большего размера, а также осуществлять обнаружение и коррекцию ошибок.
Для установки сессии требуется осуществить обмен пакетами. При инициализации сессии хост должен отправить специальный пакет Name Query. Компьютер, с которым должна быть установлена сессия, отвечает пакетом Name Recognized (англ. имя опознано) с указанием, что сессия не может быть установлена (либо потому что хост не ожидает установления сессии с данным компьютером, или из-за отсутствия ресурсов на установление новой сессии), либо с указанием на возможность установления сессии (в этом случае в ответе также указывается локальный номер сессии, который будет использоваться в последующих пакетах). Хост, инициализировавший сессию после этого отправляет пакет Session Initialize (англ. инициализация сессии), на что должен поступить ответ Session Confirm (англ. подтверждение сессии).
После установления сессии данные передаются в пакетах данных. Стандарт IEEE 802.2 обеспечивает управление потоками и ретрансляцию пакетов данных. Поскольку NetBIOS/NetBEUI позволяет осуществлять передачу пакетов бо́льшего размера, нежели максимально возможный пакет на конкретном слое управления доступом к среде, пакеты NetBIOS/NetBEUI при передаче могут быть разбиты на серию пакетов Data First Middle и пакет Data Only Last. Пакеты, которым не требуется разбитие, отправляются единственным пакетом Data Only Last. После получения каждого пакета Data Only Last высылается подтверждение получения. Это подтверждение также означает, что все предшествующие пакеты Data First Middle также успешно получены.
Сессия закрывается посредством отправки запроса Session End (англ. окончание сессии).
Meaning of Netbios Name Or Netbios Datagram?
Netbios Name Or Netbios Datagram is the error name that contains the details of the error, including why it occurred, which system component or application malfunctioned to cause this error along with some other information. The numerical code in the error name contains data that can be deciphered by the manufacturer of the component or application that malfunctioned. The error using this code may occur in many different locations within the system, so even though it carries some details in its name, it is still difficult for a user to pinpoint and fix the error cause without specific technical knowledge or appropriate software.