如果网络里没有开文件夹共享和打印机共享,就可以将这些包禁掉,可以提高一些网络效率。
在客户机中“高级TCP/IP设置”中,禁用 TCP/IP上的NETBIOS即可
![](https://img-blog.csdn.net/20160525103612629?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下转自http://blog.chinaunix.NET/uid-21778123-id-1815469.html
NetBIOS: NetBIOS Services Protocols, RFC-1001,1002,网络基本输入/输出系统协议。
Provides three distinct services:
(1)Name service for name registration and resolution.
(2)Session service for connection-oriented communication.
(3)Datagram distribution service for connectionless communication.
每个计算机在网络中都有一个NetBIOS名称和一个IP地址。
Windows系统对IPV6网络不再支持NetBIOS名称解析。
第二,什么是WINS服务
WINS (Windows Internet Name Service): WINS is Microsoft's implementation of NetBIOS Name Service (NBNS), a name server and service for NetBIOS computer names.
WINS服务器用于登记记录计算机NetBIOS名称和IP地址的对应关系,供局域网计算机查询。
WINS数据库是动态更新的。计算机每当初始化TCP/IP后都会将它的NetBIOS名和IP地址的对应关系映射到WINS服务器的数据库中。
第三,Windows系统的名字(NetBIOS名称、域名)解析机制(如图所示)
Hosts文件(本地文件)
NetBIOS缓存(本地文件)
DNS服务器解析(DNS数据包)
WINS服务器解析(NBNS数据包)
NetBIOS广播查找(NBNS数据包)
第四,为什么在Windows局域网络中存在有大量的NBNS数据包
如果在局域网络中抓取并观察数据包,会发现有大量的NBNS数据包。
根据以上Windows系统的名字的解析机制,不难看出:如果计算机需要知道一个NetBIOS名称或者域名对应的IP地址,首先会查找本地Hosts文件和NetBIOS缓存,其次会去联系DNS服务器进行解析。如果这几种方式都无法完成解析,则计算机会发出NBNS数据包。
在现实网络中,名字解析(不管是NetBIOS名称解析还是域名解析)的需求是非常巨大的,数据包也非常多。由于局域网的安全限制,或者流氓软件对某些域名的大量访问,或者局域网本地计算机之间的大量访问,都会导致非常多的NBNS数据包。
词条百科:
NBNS -- NetBIOS 名称服务器
网络基本输入/输出系统 (NetBIOS) 名称服务器 (NBNS) 协议是 TCP/IP 上的 NetBIOS (NetBT) 协议族的一部分,它在基于 NetBIOS 名称访问的网络上提供主机名和地址映射方法。
NetBIOS是Network Basic Input/OutputSystem的简称,一般指用于局域网通信的一套API。
工作原理:
关于ping命令和其工作原理我想这里就不多赘述了,不懂的可以去百度。当我们直接ping一个主机的ip时原理我们都很清楚。但当ping一个主机名的时候,是怎样工作的呢?
我们下面就来看一下。 在一个局域网中的两台主机,主机A的ip是:10.30.59.77,Mac地址为:HonHaipr_81:74:8A。主机B的ip为:10.30.59.64,Mac地址为:CompalIn_64:37:4C,主机名为:PC2011022416LZU。 当我们在DOS下通过PING命令ping B主机的主机名时(ping PC2011022416LZU), 我们通过下图可以看到,A主机首先发送了一个广播包NBNS,询问局域网内,哪个主机的名字叫PC2011022416LZU。B主机在收到此NBNS包后做出相应,回发了一个ARP的广播包,学问A主机的MAC地址,此后A主机响应一个ARP数据包,B主机在收到A主机的ARP数据包后得知了A主机的MAC地址,于是返回了一个NBNS相应报,告诉A主机,主机名为PC2011022416LZU的主机在10.30.59.64。A主机在得到B主机的IP后开始发送ICMP的ping数据包。![关于抓包显示大量ARP和NBNS包详解 关于抓包显示大量ARP和NBNS包详解](https://i-blog.csdnimg.cn/blog_migrate/1bade7f2ccbf471b9fecb4d2f94a2699.jpeg)
扩展:
局域网扫描工具原理
相信搞网络的应该都听说过nbtscan这个工具,当我们处于局域网中,想查询同处一个局域网的主机时,它就是个不错的工具(比如追踪ARP诈骗源)
它也很好用,在win下,nbtscan+ip范围即可,如:(我机子的IP是172.17.27.199,子网掩码是255.255.255.0,下面的抓包会用到我的IP查找相应的数据包)![关于抓包显示大量ARP和NBNS包详解 关于抓包显示大量ARP和NBNS包详解](https://i-blog.csdnimg.cn/blog_migrate/683c70cba1390d12b9b24f1bb7a368aa.jpeg)
很快就能得到周围的主机的信息了,那么,这里就有疑问了,它是怎么实现的呢,显然由于有MAC地址,估计跟ARP协议有关。打开抓包工具一看就知道了,用Wireshark,于是,我抓到了这样的信息:![关于抓包显示大量ARP和NBNS包详解 关于抓包显示大量ARP和NBNS包详解](https://i-blog.csdnimg.cn/blog_migrate/3e7d1e06e4d068cd69d45d9af183e406.jpeg)
果然跟ARP协议有关,就相当于遍历每个IP,使用ARP广播发相关的信息,然后接收到的主机便回复我的机子,那么对方的IP还有MAC地址我就会知道了,上图中倒数第二个数据包便是172,.17.27.193的ARP回复消息。
好了,那么接下来,又有问题了:ARP协议根本没有主机名这一项啊!
相信你也应该发现了,就是上图中淡黄的那一行,nbtscan在得到对方的IP还有MAC后,遍紧接着发送一个NBNS协议数据包,得到了对方的主机名(关于NBNS,在这http://baike.baidu.com/view/1403776.htm)。