NBNS - NetBIOS Name Service ============================ .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is NBNS?** NBNS stands for NetBIOS Name Service. It’s a protocol used to resolve NetBIOS names to IP addresses on a local network. It’s part of the NetBIOS over TCP/IP (NBT) suite and is commonly used in older Windows networks. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is NBNS useful?** Before DNS became widespread, NBNS allowed computers to find each other by name on a local network. It was especially useful in Windows peer-to-peer networks, where users could connect using computer names instead of IP address. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** * Device wants to resolve a NetBIOS name – For example, a user tries to access \\LAPTOP-01. * NBNS query broadcast – The device sends a broadcast or unicast NBNS query asking, Who is LAPTOP-01?. * Matching device responds – The device with that NetBIOS name replies with its IP address. * Connection established – The requesting device uses the IP to connect to the target. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is NBNS used?** * Legacy Windows networks – Especially in Windows XP and earlier. * Small workgroup networks – Without DNS servers. * Mixed environments – Where older systems still rely on NetBIOS. * Fallback resolution – When DNS and LLMNR are unavailable. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** * It provides name resolution services to applications and users. * It uses UDP port 137 to send and receive queries. * It’s part of the NetBIOS API, which is an application-level interface. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`NBNS Version&RFC Details ` * :ref:`NBNS Basic Setup on Ubuntu using IPv4 ` * :ref:`NBNS Basic Setup on Ubuntu using IPv6 ` * :ref:`NBNS Protocol Packet Details ` * :ref:`NBNS Usecases ` * :ref:`NBNS Basic Features ` * :ref:`NBNS Feature : Name-to-IP Resolution ` * :ref:`NBNS Feature : Broadcast-Based Queries ` * :ref:`NBNS Feature : WINS Server Support ` * :ref:`NBNS Feature : Name Registration ` * :ref:`NBNS Feature : Name Conflict Detection ` * :ref:`NBNS Feature : Legacy Compatibility ` * :ref:`NBNS Feature : Session Layer Integration ` * :ref:`NBNS Feature : Limited Scope ` * :ref:`Reference links ` .. _NBNS_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _NBNS_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _NBNS_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _NBNS_step5: .. tab-set:: .. tab-item:: NBNS Version&RFC Details .. csv-table:: :file: ./NBNS/NBNS_rfcdetails.csv :widths: 10,10,10,30 :header-rows: 1 .. _NBNS_step19: .. tab-set:: .. tab-item:: NBNS Basic Setup on Ubuntu using IPv4 * setup .. _NBNS_step20: .. tab-set:: .. tab-item:: NBNS Basic Setup on Ubuntu using IPv6 * setup .. _NBNS_step6: .. tab-set:: .. tab-item:: NBNS Protocol Packet Details **Name Registration Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails1.csv :widths: 10,20,30,10 :header-rows: 1 **Name Overwrite Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails2.csv :widths: 10,20,30,10 :header-rows: 1 **Name Refresh Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails3.csv :widths: 10,20,30,10 :header-rows: 1 **Positive Name Registration Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails4.csv :widths: 10,20,30,10 :header-rows: 1 **Negative Name Registration Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails5.csv :widths: 10,20,30,10 :header-rows: 1 **End-Node Challenge Registration Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails6.csv :widths: 10,20,30,10 :header-rows: 1 **Name Conflict Demand Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails7.csv :widths: 10,20,30,10 :header-rows: 1 **Name Release Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails8.csv :widths: 10,20,30,10 :header-rows: 1 **Positive Name Release Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails9.csv :widths: 10,20,30,10 :header-rows: 1 **Negative Name Release Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails10.csv :widths: 10,20,30,10 :header-rows: 1 **Name Query Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails11.csv :widths: 10,20,30,10 :header-rows: 1 **Name Query Response/ Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails12.csv :widths: 10,20,30,10 :header-rows: 1 **Negative Name Query Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails13.csv :widths: 10,20,30,10 :header-rows: 1 **Redirect Name Query Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails14.csv :widths: 10,20,30,10 :header-rows: 1 **Wait for Acknowledgement (WACK) Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails15.csv :widths: 10,20,30,10 :header-rows: 1 **Node Status Request Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails16.csv :widths: 10,20,30,10 :header-rows: 1 **Node Status Response Packet** .. csv-table:: :file: ./NBNS/NBNS_packetdetails17.csv :widths: 10,20,30,10 :header-rows: 1 .. _NBNS_step7: .. tab-set:: .. tab-item:: NBNS Usecases .. csv-table:: :file: ./NBNS/NBNS_usecases.csv :widths: 10,20,30 :header-rows: 1 .. _NBNS_step8: .. tab-set:: .. tab-item:: NBNS Basic Features .. csv-table:: :file: ./NBNS/NBNS_basicfeatures.csv :widths: 10,10,30 :header-rows: 1 .. _NBNS_step9: .. tab-set:: .. tab-item:: NBNS Feature : NAME-to-IP Resolution **NAME-to-IP Resolution - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature1_Name_to_ip_resolution_testacses.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step10: .. tab-set:: .. tab-item:: NBNS Feature : Broadcast-Based Queries **Broadcast-Based Queries - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature2_Broadcast_based_queries_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step11: .. tab-set:: .. tab-item:: NBNS Feature : WINS Server Support **WINS Server Support - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature3_WINS_server_support_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step12: .. tab-set:: .. tab-item:: NBNS Feature : Name Registration **Name Registration - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature4_Name_registration_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step13: .. tab-set:: .. tab-item:: NBNS Feature : Name Conflict Detection **Name Conflict Detection - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature5_Name_conflict_Detection_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step14: .. tab-set:: .. tab-item:: NBNS Feature : Legacy Compatiblity **Legacy Compatiblity - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature6_Legacy_Compatiblity_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step15: .. tab-set:: .. tab-item:: NBNS Feature : Session Layer Integration **Session Layer Integration - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature7_Session_layer_Integration_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step16: .. tab-set:: .. tab-item:: NBNS Feature : Limited Scope **Limited Scope - Testcases** .. csv-table:: :file: ./NBNS/NBNS_feature8_Limited_Scope_testcases.csv :widths: 10,10,30,20 :header-rows: 1 .. _NBNS_step18: .. tab-set:: .. tab-item:: Reference links * Reference links