使用netbios扫描怎么理解ip地址址是什么原理

Netbois (网络基本输入/输出系统)最初由 IBMSytek 作为API开发,使用户软件能使用局域网的资源自从诞生,Netbois成为许多其他网络应用程序的基础严格意义上,Netbios 是接入网络服务的接口标准

Netbios 原来是作为THE网络控制器为 IBM 局域网设计的,是通过特定硬件用来和网络操作系统 连接的软件层Netbios经扩展,允许程序使用Netbios接口来操作IBM令牌环結构Netbios 已被公认为工业标准,通常参照 Netbios-compatible LANs

它提供给网络程序一套方法,相互通讯及传输数据基本上,Netbios 允许程序和网络会话它的目的是紦程序和任何类型的硬件属性分开。它也使软件开发员可以免除以下负担:开发网络错误修复低层信息寻址和路由。使用Netbios接口可以为軟件开发员做许多工作。

Netbios使程序和局域网操作能力之间的接口标准化有它们可以将程序细化到为OSI模型的哪一层所写,使程序能移植到其怹网络上在Netbios局域网环境下,计算机通过名字被系统知道网络中每台计算机都有通过不同方法编的永久性名称。这些名称将在下面做进┅步讨论

通过使用Netbios的数据报或广播方式,在Netbios局域网上的pc机建立会话彼此联络会话允许更多的信息被传送,探测错误和纠正。通信是茬一对一的基础上的数据报或广播方式允许一台计算机和多台其他的计算机同时通信,但信息大小受限使用数据报或广播方式没有探測错误和纠正。然而数据报通信可以不必建立一个会话。

在这种环境下所有的通信以一种称为“网络控制块“的格式提交给NetBIOS内存中这些块的分配依赖于用户程序。这些“网络控制块“分配到域中分别为输入/输出保留。

在当今的环境中NetBIOS是使用很普遍的协议。以太网囹牌环,IBM PC网都支持NetBIOS在它原始版本中,它仅作为程序和网络适配器的接口从那以后,传输类功能加入NetBIOS使它功能日益增多。

在NetBIOS里面向連接(tcp)和无连接(udp)通信均支持。它支持广播和复播支持三个分开的服务:命名,会话,数据报


NetBIOS名称用来在网络上鉴别资源。程序用这些名称開始和结束会话你能用多个程序配置一台单独的机器,每个程序都有独特的NetBIOS名称每台支持应用的pc机也有用户定义或通过内部方法获得嘚NetBIOS站名。

NetBIOS能包含至多16个阿尔法数字字母在整个资源路由网络里,字母的组合必须独特在一台使用NetBIOS的pc机在网络上能完全工作起来之前,PC必须先登记NetBIOS名称

当客户端活跃时,客户端广播它的名称当它成功广播自己,并没有其他人和它重名客户端就登记成功。登记过程如丅:

1.在登陆上客户端在所有地方广播它自己和它的NetBIOS信息6到10次,确保其他网络成员收到信息


2.如果有客户端A已用此名,客户端A发布它自己嘚广播包括它正在使用的名字。请求登陆的客户端停止所有登记的企图
3.如无其他客户端反对登记,请求登陆的客户端完成登记过程

茬NetBIOS环境中有两类名称:独特的和集合的。独特的名称必须在网络中独特集合的名称不必在网络中独特,所有同名过程属于同一集合每個NetBIOS节点包含一张该节点当前使用名称的表。

NetBIOS命名允许16个字母用在NetBIOS名称中而微软只允许15个字母用在NetBIOS名称中,第十六个为NetBIOS后缀NetBIOS后缀用在Microsoft Networking 软件中,区别安装的功能登记的设备和服务。

名称 数字 类型 用途

独特的(u):该名仅有一个IP地址分给它在网络设备中,一个名称的多次出现看来会被登记但后缀是唯一的,使整个名称唯一

集合的(g):普通集合,一个名称可有多个IP地址

多址的(M):名称是唯一的,但由于在同一计算机上有多个网络接口这种配置应该被允许登记。地址的最大数目是25

为了快速浏览一台服务器上登记的NETBIOS名称和服务,用以下命令:


NetBIOS 会話服务提供给用户程序一种面向连接可靠的,完全双重的信息服务 NetBIOS要求一个是客户端程序,一个是服务器端程序NetBIOS会话的建立需要双方预定的合作。一个程序必须先发出listen命令其他程序才可以发出call令。listen命令参考在它的NetBIOS名称表中的名称(或windows服务器中的)也参考用于作为會话另一端的远端程序的名称。如果聆听者不在聆听call命令将不会成功。如果call成功各程序将接到会话id,以作为会话建立的确认

send和receive命令操作传输数据。在会话最后各程序将执行挂起命令。没有为会话服务的实际流控制因为假定局域网足够快,能够传输需要的数据


数據报可以发送到特定的地点,或组中所有成员或广播到整个局域网。与其它数据服务相比NetBIOS 数据报是无连接,非可靠的Send_Datagram 命令需要调用鍺设定目的名。如果目的名是组名组中每个成员都收到数据。Receive_Datagram 命令的调用者必须确定它接收数据的本地名除了实际数据外,Receive_Datagram也返回发送者的名称如果NetBIOS收到数据,但却没有Receive_Datagram 命令在等待数据将被丢弃。

Send_Broadcast_Datagram 命令发送信息给本地网上每个NetBIOS系统当NetBIOS节点收到广播数据,发布Receive_Broadcast_Datagram 命令嘚每个进程都收到数据如果当广播数据被收到时,没有这些命令在运行数据将被丢弃。

NetBIOS使应用程序能和另一个设备建立会话使网络轉发器和处理协议处理收到、发送到另一台机器的请求。NetBIOS实际上不操作数据NetBIOS定义规定了用来到达这些服务的协议的网络接口,而非协议夲身历史上,NetBIOS曾与叫做NetBEUI的协议(网络扩展用户接口)捆绑接口和协议的结合有时引起混淆,但它们是不同的

网络协议为定位、连接箌网络上特定的服务提供至少一种方法。这通常由将节点和服务名转化为网络地址(名称解析)完成在连接用TCP/IP建立前,NetBIOS服务名必须解析荿IP地址大多数NetBIOS的TCP/IP 实现,用广播或LMHOSTS文件完成名称地址的解析在Microsoft环境中,你最可能使用叫做WINS的NetBIOS 名称服务器


NetBEUI是网络操作系统使用 NetBIOS协议的加強版本。它规范了在NetBIOS 中未标准化的传输帧还加了额外的功能。传输层驱动器经常被Microsofts LAN Manager(微软局域网操作器)使用NetBEUI执行 OSI LLC2 协议。NetBEUI是原始的PC网絡协议和IBM为LanManger(局域网操作器)服务器设计的接口本协议稍后被微软采用作为它们的网络产品的标准。它规定了高层软件通过NetBIOS帧协议发送、接收信息的方法本协议运行在标准802.2数据链协议层上。
NetBIOS范围ID为建立在TCP/IP(叫做NBT)模块上的NetBIOS提供额外的命名服务 NetBIOS范围ID的主要目的是隔离单個网络上的NetBIOS通信和那些有相同NetBIOS范围ID的节点。NetBIOS范围ID是附加在NetBIOS 名称上的字符串两个主机上的NetBIOS范围ID必须匹配,否则两主机无法通信NetBIOS范围ID允许 計算机使用相同的计算机名,不同的范围ID范围ID是NetBIOS名称的一部分,使名称唯一
许多人知道,NetBIOS 是计算机局域网领域流行的一种传输方式泹你是否还知道,对于互联网用户来讲NetBIOS 则是安全领域的一大隐患。
NetBIOS 是指网络输入输出系统在计算机网络发展史中,NetBIOS 算得上是历史悠久早在 1985 年,IBM 公司就开始在网络领域使用 NetBIOS微软推出第一套基于 Windows 的网络操作系统--Windows For Workgroups(面向工作组的视窗操作系统)时,就采用了一种适用於 Windows 的 NetBIOS 版本即 NetBEUI。微软当年之所以选择 NetBEUI 作为网络传输的基本协议是因为它占用系统资源少、传输效率高,尤为适用于由 20 到 200 台计算机组成的尛型局域网此外,NetBEUI 还有一个最大的优点:可以方便地实现网络中各单机资源的共享
后来,网络的发展速度之快已大大超出人们的想潒,进入 20 世纪未全球的计算机就已可通过国际互联网络方便连接,随着互联网络的迅猛发展TCP/IP 协议成为广泛使用的传输协议。
今天TCP/IP 协議已是互联网领域的通用协议,几乎所有接入互联网的电脑都使用 TCP/IP但同时,NetBEUI 协议也还在局域网领域广泛使用因此,在你安装 TCP/IP 协议时NetBIOS 吔被 Windows 作为默认设置载入了你的电脑,而电脑随即也具有了 NetBIOS 本身的开放性换句话讲,在不知不觉间你的上网电脑已被打开了一个危险的“后门”。
NetBIOS 的开放意味着你的硬盘可能会在网络中成为共享。对于网上四处游走的 来讲他们可以通过 NetBIOS 获知你电脑中的一切!

二、找寻電脑中开放的“后门”


在想办法关闭电脑的这个“后门”前,我们有必要先认识这个问题:网络中的其它用户是怎样找到你系统漏洞的
伱可能认为:在茫茫网海,作为个人上网用户我的一台电脑是多么的渺小,HACKER 们怎会对我感兴趣呢其实,这种想法是很危险的网上一些不怀好意的用户(很多还称不上是 ),说不定哪天就会盯上你
现在,有许多被称作“扫描机(scanners)”的黑客小程序这些扫描程序不停哋穿梭于网络之中,专门寻找上网用户的系统漏洞其中就包括 NetBIOS 及 Windows “文件及打印共享”功能所打开的系统后门。一旦扫描程序在网上发现叻系统存在着漏洞的计算机那些恶意攻击者就会设法通过找到的“后门”进入你的计算机,并获取你的信息而令人深感不安的是,所囿的这些非法入侵行为你可能竟然毫无知觉。
正如前文所述系统存在后门的原因是与 TCP/IP 协议捆绑在一起的 NetBIOS,事实上,对于互联网上的单机鼡户来讲NetBIOS 是没有什么用处的,因此你完全可以将它从 TCP/IP 中去掉。下面就现在常见的几种操作系统介绍从TCP/IP 中解除 NetBIOS 的方法。

如果你使用的昰最早版本的 Windows 95那关闭 NetBIOS 就是一件非常容易的事:找到系统里名为 Vnbt.386 的文件,随便将它改个名如改为 Vnbt.out,这就算大功告成了


如果你使用的是 Windows 95妀进版、Windows 98、Windows 98 SE 或是 Windows Me,那就要稍微麻烦一点。首先打开控制面板,进入“网络”对话窗在配置表中,查看列表中是否已有 NetBEUI 组件如果有,则矗接跳过下一段
如果在列表中没有 NetBEUI 组件,则先点击“添加”按钮在“要安装的网络组件类型”列表中,选择“协议”一项再次点击“添加”,在“网络协议”对话窗中选择 Microsoft 的 NetBEUI,然后插入 Windows 安装盘,点击“确定”即可
回到“网络”对话窗,在网络组件中选择“拨号適配器”点击“属性”,在“属性”对话窗中选择“绑定”按钮将除TCP/IP之外其它协议的复选框里的小勾清除掉。

最后再次回到“网络”对话窗,选择 TCP/IP 协议点击“属性”,这时有可能会弹出一个警告窗口不用理它,直接点“OK”就行了进入 TCP/IP 的“属性”窗口后,选择“綁定”将所有网络协议复选框内的小勾去掉,点击“确定”这时,Windows 会提示你至少应选择一种协议仍然不用理它,点击“No”关闭窗ロ。重新启动你的计算机这样,你计算机中的 NetBIOS

这样一来NetBIOS 已从你计算机的 TCP/IP 协议中去除,当然,你最好检查一下操作是否成功:回到“网络”对话窗选择 TCP/IP 协议,点击“属性”在“属性”窗口中点击 NetBIOS 栏,这时你会看到“我希望在 TCP/IP 协议中开启 NetBIOS(I want to enable NetBIOS over TCP/IP)”一项,该项前面的复选框應该没有打勾


现在,你就可以放心地在网络中漫游而不必再担心有人会通过 NetBIOS 入侵你的电脑。
剖析NETBIOS的具体工作机理
本来想为了增加可读性把这个系列写成问答的形式,不过一时之间脑袋里也编不出这么多的问题还是按部就班先感性的对微软的浏览服务作一大致介绍,嘫后再深入剖析NETBIOS的具体工作机理,大家要是有什么问题,可以提出来我们一起讨论.

在“Windows NT系统管理技术内幕”一书中讲到了一个非常具有代表性的问题,我把它摘抄了下来:

问:什么情况下会导致在网络邻居中计算机能看见却无法访问或可以访问却看不见


A.你的网络存在物理问題,比如网线
D.你的网络没有问题,用户描述的是正常的微软浏览现象

书上的解释:微软的网络浏览可能在使用中出现"中断",而实际上它们并没有中斷, 这种误解是由于用户对

微软网络浏览的处理过程不熟悉造成的。

就象有人经常在抱怨的“为什么别人的网上邻居可用我的却不行?”“为什么有时候可以浏览有时候

却无法浏览网络?”解铃还须系铃人让我们一起去看看微软的网络浏览到底是如何实现的。鉴于大家鈳能对NT的“域”概念还不甚了解出现浏览故障的也多为98的机子,我将以98的“工作组模式”为大家讲解

在微软网络中,用户可以在浏览列表里看到整个网络(何指子网还是广播域?大家可以考虑考虑)上所

有的计算机当你通过网上邻居窗口打开整个网络时,你将看到┅个工作组列表再打开某个工作组,你将看

到里面的计算机列表(也可在 DOS方式下用net view /domain:workgroupname命令得到)这就是我们所说的 Browsing List。工作组从本质上说僦是共享一个浏览列表的一组计算机所有的工作组之间都是对等的,没有规定不可以让所有的计算机同处于一个工作组中

曾在木棉上看到过一场争论,有人说:网上邻居里的计算机列表是广播查询得来的可有人举反例说:我

的同学都关机了,可我还是能在网上邻居里看到它应该是从HUB或交换机之类较为固定的设备的缓存中取得的

。 其实他们都只说对了一个方面把他们二人的说法结合起来就是正确答案了--- 浏览列表是通过广播查询浏览主控服务器,由浏览主控服务器提供的

3.浏览主控服务器又是什么

浏览主控服务器是工作组中的一台最為重要的计算机,它负责维护本工作组中的浏览列表及指定其他工作组的主控服务器列表为本工作组的其他计算机和其他来访本工作组嘚计算机提供浏览服务,每个工作组都为会每个传输协议选择一个浏览主控服务器而我们经常遇到的无法浏览网络的错误大多是因为你所处的工作组没有浏览主控服务器而造成的。你可以在一个工作组中用NBTSTAT -a computername 命令找出使用NBT协议的浏览主控服务器它的标识是含有\\_MSBROWSE_名字段。

4.浏覽主控服务器是如何指定的

缺省情况下win98工作组中的浏览主控服务器是该工作组中第一台启用文件及打印机共享功能的计算机,也允许手笁将一台win计算机配置为浏览主控服务器(方法会在后面讲述网络配置时具体介绍但由于浏览主控服务器需要维护动态浏览列表,性能会受影响)如果一个工作组中有多台计算机配置了这个选项,或是当前的浏览主控服务器关闭了系统又没有其他计算机启用主控设置时,就要进行主控浏览器的选举

5.如何通过浏览器选举产生浏览主控服务器

关于浏览器的选举报文,不太好抓包,我就只好按书上的东西来讲述叻.其实过程很简单,首先由一台计算机发送一个选举临界报文,该报文包含了来自发送计算机的信息(操作系统,版本及NET名等),选举报文向网络中广播,工作组中的每一台计算机都会用自身信息与选举报文进行优先级比较,主要是操作系统起主要作用,记得好像是NTServer>NTWorkstation>Win98>WFWG,反正到最后是那个自身条件朂好的成为新的浏览主控服务器.

6.整个网络浏览的过程是怎样的

当一台win98进入网络时,如果它带有服务器服务(启用了文件及打印机共享)会姠网络广播宣告自己的存在而浏览主控服务器会取得这个宣告并将它放入自己维护的浏览列表中;而没有在相应协议上绑定文件及打印機共享的计算机则不会宣告,因而也就不会出现在网络邻居里了 当客户计算机想获得需要的网络资源列表时,首先会广播发出浏览请求浏览主控服务器收到请求后,如果请求的是本组的浏览列表则直接将客户所需的资源列表发回;如果请求的是其它工作组的浏览列表,浏览主控服务器会根据本身Browsing List中的记录找到相应工作组的主控浏览器返回给用户用户可从那里得到它


想要的浏览列表。至于如何去和另┅台计算机共享交换资源就不是我们这里要讨论的问题了。

明白了网络浏览的原理下面我给大家讲一个有用的应用,现在很多同学出於安全的考虑都不太欢迎陌生人通过网上邻居访问自己的机子可有时下部电影又需要给认识的同学共享出来,因而还不能删除文件及打茚机共享服务怎么办?有些人给共享名加个$以达到隐藏的效果,可这用DOS下的net share是可被看到的;有些人给共享加上密码可听说这也是有辦法破解的,而且很容易激起“黑客同志”的好奇心有没有办法将自己的机器在网络邻居里隐藏起来呢?而对于认识的同学可以让他用\\IP 來访问


想对了,关键就是要阻止自己的机器向网络中去宣告自己而且我知道我们其中的一些人已经将此变成了现实,至于方法嘛就鈈要来问我了。

注:因为有关win98浏览服务的资料很少涉及的书籍也多为以NT的“域”模型进行介绍,因而我只能根据自己的理解结合netxray的实践來测试细节部分难免有错,欢迎大家指正


7.在我的网上邻居里为什么有些机子访问不了

如果微软的网上邻居真能做到所见即所得,相信菢怨它的人不会象现在这么多可通过前面对浏览服务的

介绍,大家已经知道这是不可能的因为浏览列表的获得不是通过访问其中每一囼机子得到的,很多时候网络中的计算机并不能正确更新浏览列表当一台计算机正常关机时,它会向网络发出广播宣告使浏览主控服務器及时将它从浏览列表中删除;而非正常关机后,浏览列表里仍会把该条目保持很长一段时间(NT下是45分钟),这就是我们仍能在网络邻居里看箌它的原因.而98的稳定性是众所周知的 ----在还没来得及关机前就已经崩溃了

当2000使用网络共享的时候就面临着选择139或者445端口了。下面的情况确萣会话使用的端口:

1、如果客户端启用了NBT那么连接的时候将同时访问139和445端口,如果从445端口得到回应那么客户端将发送RST到139端口,终止这個端口的连接接着就从445端口进行SMB的会话了;如果没有从445端口而是从139得到回应,那么就从139端口进行会话;如果没有得到任何回应那么SMB会話失败。

2、如果客户端禁用了NBT他就将只从445端口进行连接。当然如果服务器(开共享端)没有445端口进行SMB会话的话那么就会访问失败了,所以禁用445端口后对访问NT机器的共享会失败。

3、如果服务器端启用NBT那么就同时监听UDP 137、138端口和TCP139,445如果禁用NBT,那么就只监听445端口了

所以對于2000来说,共享问题就不仅仅是139端口445端口同样能够完成。

NULL会话(空会话)使用端口也同样遵循上面的规则NULL会话是同服务器建立的无信任支持的会话。一

个会话包含用户的认证信息而NULL会话是没有用户的认证信息,也就好比是一个匿名的一样

没有认证就不可能为系统建竝安全通道,而建立安全通道也是双重的第一,就是建立身份标志第二就

是建立一个临时会话密匙,双方才能用这个会话进行加密数據交换(比如RPC和COM的认证等级是PKT_PRIVACY)不管是经过NTLM还是经过Kerberos认证的票据,终究是为会话创建一个包含用户信息的令牌(这段来自Joe Finamore)

根据WIN2000的访問控制模型,对于空会话同样需要提供一个令牌但是空会话由于是没有经过认证的会话

,所以令牌中不包含用户信息因此,建立会话雙方没有密匙的交换这也不能让系统间发送加密信息。这并

不表示空会话的令牌中不包含SID对于一个空会话,LSA提供的令牌的SID是S-1-5-7这就是涳会话建立的SID

,用户名是ANONYMOUS LOGON这个用户名是可以在用户列表中看到的。但是是不能在SAM数据库中找到属于系统内置的帐号。

NULL会话几乎成为了微软自己安置的后门但是微软为什么要来设置这样一个“后门”呢?我也一直在想这个问题如果NULL会话没有什么重要的用途,那么微软吔应该不会来设置这样一个东西好不容易才在微软上找到这个:

当在多域环境中,要在多域中建立信任关系首先需要找到域中的PDC来通過安全通道的密码验证,使用空

会话能够非常容易地找到PDC,还有就是关于一些系统服务的问题

其实建立一个空会话的条件也非常严格。首先要能够满足上面的也就是打开TCP 139和TCP 445端口。我

们可以从一次关闭这两个端口的情况中看得出来服务器关闭445和139端口,然后我们来进行空会話的连接

首先,客户端打算连接的是445端口然后再试图连接139端口。当然最后还是失败了

仅仅开放这两个端口还不行,服务器还必须得咑开IPC$共享如果没有IPC共享,即使共享一个文件有权

限为Anonymous Logon,也不能建立会话即使权限设置为完全控制,出现的连接错误依然是权限不够这和其

他帐号是不一样的。如果要允许一个文件夹共享能够类似IPC$(命名管道而非共享)能够使用空会话那么需

中的:NullSessionShares,添加新的共享洺这样才能建立一个共享的空会话。这时将不依赖IPC的存

在了。(即使这样的空会话对于后面的突破也是一点没可取之处的因为没有叻IPC$命名管道,RPC不可取了

这下知道IPC这个命名管道的具体实现了。呵呵)

虽然空会话建立的要求很严格但是那都是默认建立的。既然是默認的对于使用WIN2K系统的服务器来说

,就还是有利用的价值最明显的就是空会话可以很方便地连接到其他的域,枚举用户、机器等。这也就昰扫描

1. 有些人给共享名加个$以达到隐藏的效果,可这用DOS下的net share是可被看到的;

这种隐藏只是微软Windows标准客户端net view的限制不是服务端的限制,網络传输过程中是一视同仁的

所以直接修改客户端解除这种限制或者使用第三方客户端软件均可看到所谓的隐藏共享,比如smbclient就是

2. 有些人給共享加上密码可听说这也是有办法破解的;

这个破解要看是什么层面上的,

}
  • 全国服务热线:400-

使用netbios扫描ip地址是什么原理

使用netbios扫描ip地址是什么原理

领取SEO红包,最高可领200元

}

相信搞网络的应该都听说过nbtscan这个笁具当我们处于局域网中,想查询同处一个局域网的主机时它就是个不错的工具(比如追踪ARP诈骗源)

它也很好用,在win下nbtscan+ip范围即可,洳:(我机子的IP是172.17.27.199子网掩码是255.255.255.0,下面的抓包会用到我的IP查找相应的数据包)


很快就能得到周围的主机的信息了那么,这里就有疑问了它是怎么实现的呢,显然由于有MAC地址估计跟ARP协议有关。

打开抓包工具一看就知道了用Wireshark,于是我抓到了这样的信息:


果然跟ARP协议有關,就相当于遍历每个IP使用ARP广播发相关的信息,然后接收到的主机便回复我的机子那么对方的IP还有MAC地址我就会知道了,上图中倒数第②个数据包便是172,.17.27.193的ARP回复消息

好了,那么接下来又有问题了:ARP协议根本没有主机名这一项啊!

相信你也应该发现了,就是上图中淡黄的那一行nbtscan在得到对方的IP还有MAC后,遍紧接着发送一个NBNS协议数据包得到了对方的主机名(关于NBNS,在这)

总结下这个工具的运行流程:

  1. 遍历输叺的IP范围以广播MAC地址发送ARP查询
  2. 一旦接收到ARP回复,遍记录相应的IP与MAC地址同时向对方发送NBNS消息查询对方的主机信息

好了,这个工具还是挺棒的原理也很简单,改天自己也实现下仅以此祭奠我那悲催的网络考试。。

}

我要回帖

更多关于 怎么理解ip地址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信