What Is NetBIOS (Network Basic Input/Output System)?
NetBIOS is an acronym for
Network Basic Input/Output System which may seem a bit odd. NetBIOS is currently used mostly by Microsoft Windows operating systems in order to provide some services to the other network hosts. In this tutorial, we will learn NetBIOS and its services.
What Is NetBIOS?
NetBIOS protocol is first created by IBM where it is implemented for Microsoft Windows operating systems. The time was 1985 when Microsoft implemented it for the MS-DOS. NetBIOS gained popularity with the Windows operating systems because of the Windows popularity. Even it is created to run on the Token Ring network it is also extended to run on 802.2 or Ethernet networks. NetBIOS is standardized with the RFC 1001 and RFC 1002 in order to run on TCP/UDP protocols which is simply an emulation.
NetBIOS can work over TCP/IP port number 139. The client and server both use the TCP port 139 in order to call each other. Both sides can send and receive commands by calling each other. Another alternative for the NetBIOS port is UDP 138. Like TCP all communication is done over UDP 138.
NetBIOS provides three distinct services which are:
Name Serviceis used for name registration and resolutions in the same LAN. This service is also called
Datagram Distributions Serviceis used for connectionless communication and data transfer between NetBIOS clients. It is called
Session Serviceis used for connection-oriented sessions and data transfer between NetBIOS clients. It is called
Name service provides the following functions for NetBIOS hosts and groups.
Add Namefunction will register the selected NetBIOS names for the NetBIOS host. If it is already registered the registration will fail.
Add Group Namewill register the selected NetBIOS group name for the NetBIOS group.
Delete Namewill delete already registered NetBIOS names whether it is a group name or hostname.
Find Namewill look up and find the given NetBIOS name on the network.
Datagram Distribution Service
Datagram Distribution Service provides the following function for NetBIOS hosts and groups.
Send Datagramwill send a datagram to the NetBIOS host for the specified NetBIOS name.
Send Broadcast Datagramis used to send a datagram to multiple NetBIOS hosts for the specified NetBIOS names or groups.
Receive Datagramwill wait and accept datagram from other NetBIOS hosts.
Receive Broadcast Datagramwill wait for a broadcast datagram from other NetBIOS hosts.
Sessions Service mainly used to manage sessions and data transfer over already established sessions.
Callwill start a session to the specified NetBIOS name.
Listenwill wait to attempt a sessions request to the current NetBIOS host.
Hang Upis used to close an already established NetBIOS session.
Sendwill send a packet over the specified sessions.
Send No Ackis the same as Send but it will not require an acknowledgment for the arriving of the packet.
Receivewill want for an incoming packet from the session from the remote NetBIOS host.
nbtstat is a command-line tool used to run some NetBIOS functions. We can use nbtstat command in order to manage like register, list, remove local NetBIOS names. In the following example, we will list local NetBIOS names registered to the local system.
> nbtstat -n