免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3325 | 回复: 1
打印 上一主题 下一主题

【网络安全】网上邻居深层解析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-16 11:31 |只看该作者 |倒序浏览
[B][转自小熊的,自己看不明白,转来给大家看看,如果没意义的话,版主就删了][/B]\r\n\r\n有关网上邻居的问题,问的人一直比较多,在理解上存在的误区也普遍较为严重。鉴 \r\n于Microsoft的NETBIOS文档不是很细致,我四处收集了一些相关资料加上自己的实践经 \r\n验写了这个系列,希望能对大家有所帮助. \r\n\r\n 本来想为了增加可读性,把这个系列写成问答的形式,不过一时之间脑袋里也编不出 \r\n这么多的问题,还是按部就班先感性的对微软的浏览服务作一大致介绍,然后再深入剖 \r\n析NETBIOS的具体工作机理,大家要是有什么问题,可以提出来我们一起讨论. \r\n\r\n***微软网络浏览过程简介*** \r\n\r\n在“Windows NT系统管理技术内幕”一书中,讲到了一个非常具有代表性的问题,我把 \r\n它摘抄了下来: \r\n\r\n问:什么情况下会导致在网络邻居中计算机能看见却无法访问或可以访问却看不见?请 \r\n选择最佳答案: A.你的网络存在物理问题,比如网线 B.作为域主浏览器的Windows \r\nNTserver的浏览服务坏了 C.Windows NTserver网卡有问题 D.你的网络没有问题,用户 \r\n描述的是正常的微软浏览现象 \r\n\r\n正确答案: D \r\n\r\n书上的解释:微软的网络浏览可能在使用中出现\"中断\",而实际上它们并没有中断, 这种 \r\n误解是由于用户对微软网络浏览的处理过程不熟悉造成的。 \r\n\r\n就象同学们经常在抱怨的“为什么别人的网上邻居可以用,我的却不行?”“为什么有 \r\n时候可以浏览,有时候却无法浏览网络?”解铃还须系铃人,让我们一起去看看微软的 \r\n网络浏览到底是如何实现的。鉴于大家可能对NT的“域”概念还不甚了解,出现浏览故 \r\n障的也多为98的机子,我将以98的“工作组模式”为大家讲解。 \r\n\r\n1.什么是浏览列表(Browsing List) 在微软网络中,用户可以在浏览列表里看到整个 \r\n网络(何指?子网还是广播域?大家可以考虑考虑)上所有的计算机。当你通过网上邻 \r\n居窗口打开整个网络时,你将看到一个工作组列表,再打开某个工作组,你将看到里面 \r\n的计算机列表(也可在 DOS方式下用net view /domain:workgroupname命令得到),这 \r\n就是我们所说的 Browsing List。工作组从本质上说就是共享一个浏览列表的一组计算 \r\n机,所有的工作组之间都是对等的,没有规定不可以让所有的计算机同处于一个工作组 \r\n中。 \r\n\r\n2.浏览列表在哪里 曾在木棉上看到过一场争论,有人说:网上邻居里的计算机列表是 \r\n广播查询得来的。可有人举反例说:我的同学都关机了,可我还是能在网上邻居里看到 \r\n它,应该是从HUB或交换机之类较为固定的设备的缓存中取得的。 其实他们都只说对了 \r\n一个方面,把他们二人的说法结合起来就是正确答案了- 浏览列表是通过广播查询浏 \r\n览主控服务器,由浏览主控服务器提供的。 \r\n\r\n3.浏览主控服务器又是什么 浏览主控服务器是工作组中的一台最为重要的计算机,它 \r\n负责维护本工作组中的浏览列表及指定其他工作组的主控服务器列表,为本工作组的其 \r\n他计算机和其他来访本工作组的计算机提供浏览服务,每个工作组都为会每个传输协议 \r\n选择一个浏览主控服务器,而我们经常遇到的无法浏览网络的错误大多是因为你所处的 \r\n工作组没有浏览主控服务器而造成的。你可以在一个工作组中用NBTSTAT -a \r\ncomputername 命令找出使用NBT协议的浏览主控服务器,它的标识是含有\\\\_MSBROWSE_ \r\n名字段。 \r\n\r\n4.浏览主控服务器是如何指定的 缺省情况下,win98工作组中的浏览主控服务器是该工 \r\n作组中第一台启用文件及打印机共享功能的计算机,也允许手工将一蘕in计算机配置 \r\n为浏览主控服务器(方法会在后面讲述网络配置时具体介绍,但由于浏览主控服务器需 \r\n要维护动态浏览列表,性能会受影响),如果一个工作组中有多台计算机配置了这个选 \r\n项,或是当前的浏览主控服务器关闭了系统,又没有其他计算机启用主控设置时,就要 \r\n进行主控浏览器的选举。 \r\n\r\n5.如何通过浏览器选举产生浏览主控服务器 关于浏览器的选举报文,不太好抓包,我就 \r\n只好按书上的东西来讲述了.其实过程很简单,首先由一台计算机发送一个选举临界报文 \r\n,该报文包含了来自发送计算机的信息(操作系统,版本及NET名等),选举报文向网络中广 \r\n播,工作组中的每一台计算机都会用自身信息与选举报文进行优先级比较,主要是操作系 \r\n统起主要作用,记得好像是NT Server>NT Workstation>Win98>WFWG,反正到最后是那个 \r\n自身条件最好的成为新的浏览主控服务器. \r\n\r\n6.整个网络浏览的过程是怎样的 当一蘕in98进入网络时,如果它带有服务器服务(启 \r\n用了文件及打印机共享)会向网络广播宣告自己的存在,而浏览主控服务器会取得这个 \r\n宣告并将它放入自己维护的浏览列表中;而没有在相应协议上绑定文件及打印机共享的 \r\n计算机则不会宣告,因而也就不会出现在网络邻居里了。当客户计算机想获得需要的网 \r\n络资源列表时,首先会广播发出浏览请求,浏览主控服务器收到请求后,如果请求的是 \r\n本组的浏览列表,则直接将客户所需的资源列表发回;如果请求的是其它工作组的浏览 \r\n列表,浏览主控服务器会根据本身Browsing List中的记录找到相应工作组的主控浏览 \r\n器返回给用户,用户可从那里得到它想要的浏览列表。至于如何去和另一台计算机共享 \r\n交换资源,就不是我们这里要讨论的问题了。 \r\n\r\n明白了网络浏览的原理,下面我给大家讲一个有用的应用,现在很多同学出于安全的考 \r\n虑都不太欢迎陌生人通过网上邻居访问自己的机子,可有时下部电影又需要给认识的同 \r\n学共享出来,因而还不能删除文件及打印机共享服务。怎么办?有些人给共享名加个 \r\n$,以达到隐藏的效果,可这用DOS下的net share是可被看到的;有些人给共享加上密 \r\n码,可听说这也是有办法破解的,而且很容易激起“黑客同志”的好奇心。有没有办法 \r\n将自己的机器在网络邻居里隐藏起来呢?而对于认识的同学可以让他用\\\\IP 来访问。 \r\n想对了,关键就是要阻止自己的机器向网络中去宣告自己,而且我知道我们其中的一些 \r\n人已经将此变成了现实,至于方法嘛,就不要来问我了。 \r\n\r\n注:因为有关win98浏览服务的资料很少,涉及的书籍也多为以NT的“域”模型进 行介 \r\n绍,因而我只能根据自己的理解结合netxray的实践来测试,细节部分难 免有错,欢迎 \r\n大家指正。 \r\n\r\n7.在我的网上邻居里为什么有些机子访问不了 如果微软的网上邻居真能做到所见即所 \r\n得,相信抱怨它的人不会象现在这么多,可通过前面对浏览服务的介绍,大家已经知道 \r\n这是不可能的,因为浏览列表的获得不是通过访问其中每一台机子得到的,很多时候网 \r\n络中的计算机并不能正确更新浏览列表。当一台计算机正常关机时,它会向网络发出广 \r\n播宣告,使浏览主控服务器及时将它从浏览列表中删除;而非正常关机后,浏览列表里 \r\n仍会把该条目保持很长一段时间(NT下是45分钟),这就是我们仍能在网络邻居里看到它 \r\n的原因.而98的稳定性是众所周知的 在还没来得及关机前就已经崩溃了^-^ \r\n\r\nSMB(Server Message Block)协议在NT/2000中用来作文件共享,在NT中,SMB运行于 \r\nNBT(NetBIOS over TCP/IP)上,使用137,139(UDP),139(TCP)端口。在2000 \r\n中,SMB可以直接运行在tcp/ip上,而没有额外的NBT层,使用TCP 445端口。因此在 \r\n2000上应该比NT稍微变化多一些。 \r\n\r\n可以在“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT \r\n(NetBIOS over TCP/IP)。 \r\n\r\n当2000使用网络共享的时候,就面临着选择139或者445端口了。下面的情况确定会 \r\n话使用的端口: \r\n\r\n1、如果客户端启用了NBT,那么连接的时候将同时访问139和445端口,如果从445端口 \r\n得到回应,那么客户端将发送RST到139端口,终止这个端口的连接,接着就从445端口 \r\n进行SMB的会话了;如果没有从445端口而是从139得到回应,那么 \r\n就从139端口进行会话;如果没有得到任何回应,那么SMB会话失败。 \r\n2、如果客户端禁用了NBT,他就将只从445端口进行连接。当然如果服务器(开共享 \r\n端)没有445端口进行SMB会话的话,那么就会访问失败了,所以禁用445端口后,对访 \r\n问NT机器的共享会失败。 \r\n3、如果服务器端启用NBT,那么就同时监听UDP 137、138端口和TCP139,445。如果禁 \r\n用NBT,那么就只监听445端口了。 \r\n\r\n所以对于2000来说,共享问题就不仅仅是139端口,445端口同样能够完成。 \r\n\r\n最后说一下我的理解我经验:如果都是98的网络出现网上邻居不正常,完全可以在其中安装一台2000,也许情况会好一点!

论坛徽章:
0
2 [报告]
发表于 2004-05-16 12:55 |只看该作者
好棒的解说啊,不过好象还是有些地方没不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP