如何得到一个网络邻居上主机的IP地址?

mengshui 2003-10-15 12:32:05
在网络邻居上看到一台主机,但是不知道它的IP地址,该如何得到该机器的IP地址?
猜测该机器安装了NetBEUI协议(因为在我的机器上没有安装NetBEUI协议时,看不到该机器),而起该机器的IP地址与我的机器的IP地址不是一个网段(因为这些机器的地址设置无人管理,所以是个人随意设置的),所以用扫描的方法找不到这台机器。
已经尝试过的方法有:
1. ping 主机名
2.nbtstat -a 主机名
3.用MAC扫描器,但是因为不知道这台机器在哪个网段,所以扫描不到

我想,对这个问题做一个延伸就是,如何得到所有物理上邻接(通过HUB级联或者是网桥连接)的机器的IP地址?不知道这是不是可能的。

...全文
4733 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
kwklover 2003-10-19
  • 打赏
  • 举报
回复
NBT提供的服务可以分成三类:名称服务(UDP137)、数据报服务(UDP138)和会话服务(T
CP139)。 1)名称服务主要用于广播解决本子网的NETBIOS名和IP地址转换的关系,比如我前
面那个 ping CJT的例子。因为NBT是建立在TCP/IP之上,而建立TCP/IP通讯是必须知晓双方
IP 地址的,这跟Nbf直接用MAC地址通讯很不一样。但也因为使用的是UDP广播,所以名称 服
务无法跨越路由器。(这里我们只针对b-节点,不对WINS加以介绍) 2)数据报服务提供了无
连接和面向广播的通信方式。它主要用于浏览列表通知,我前面也说过我们桌面上的那个网上
邻居就是它构建的,此外我们用NET SEND *命令给计算机组发消息时也是靠它的UDP广播(多
播)能力。但也正因为它使用了UDP传输层协议,因而在跨越路由器时也会遇到与名称服务相
同的问题。 3)使用面向连接TCP协议的会话服务才是我们的救星,因为它可以跨越路由器。
网络中产 生的NETBIOS通信主要也是因为会话服务的使用,而文件和打印机共享服务则构成了
会话 服务通信的主体。

说到这里就不得不提SMB(Server Message Block),不过要讲清楚 SMB,可能要从NCB的由
来说起,那可就又是一个长篇了。这里我就教给那些还不太明白它们之间关系的同学一个简单
的办法,虽不太准确,但挺实用,希望清楚的同学别给我戴上误导群众的高帽哦:-)首先SM
B是一种协议,一种“应用层”的协议,一种基于SERVER/CLIENT架构的应用层协议,大家完全
可以把它看成是一种HTTP,FTP或是TEL NET 而添加了文件及打印机共享服务的机子就是SERV
ER端,可以被其它工作站和服务器访问 如果没有添加文件及打印机共享服务,则不能被其他
机子访问。当然,SMB除了提供文件 及打印机服务以外,还可以进行会话控制和交换消息,如
用net send命令可直接把使用 消息类型的SMB包发给特定计算机。而且因为会话服务是建立在
TCP上的,只要你能获知 远程主机IP,就可以跨越路由器。

总算不负大家所托,又凑了一篇,就不知大家看了以后是不是失望大于期望呢:-)原理的学
习毕竟是枯燥的,但也是必须的。因为篇幅和水平有限,很多地方的介绍我都简略了,可能有
些同学读起来会稍感困难,在后面我转了一些概念性的文档以帮助大家阅读。其实说句实话,
与其看这些东西倒不如找个netxray来,亲自抓包看看到底在你打开网上邻居,开关机,共享
文件,进行名字解析,名字注册时自己的机器干了些什么,远比我这东一句西一句的乱讲要强
多了。 至于那些“死逮着我不放”的同学,要看下一篇,只好再等等了。
kwklover 2003-10-19
  • 打赏
  • 举报
回复
这第一部分就先写到这里,不知大家的感觉如何,想来都觉得是看得挺过瘾,却解决不了什
么问题,比如浏览网络的必要条件是什么,NetBEUI?TCP/IP?文件及打印机共享还是NETBIO
S API?用\\IP浏览远程主机的原理是什么?查找计算机可以跨路由器查找吗?喜欢动手的同
学完全可以自己用Netxray去搞清楚,懒惰一点的嘛就做好准备等着看下一部分--深入NETBIO
S剖析了。


*******深入NETBIOS剖析********

在这部分里,我首先将对NETBIOS作一些基础性的介绍,然后主要针对LANA编号, NETBIOS名
字表,NBT这三方面对NETBIOS的特性进行讲解,使大家对NETBIOS接口通讯的原理有所了解,
并掌握使用NETBIOS名字表来识别网上邻居浏览故障及其排除的方法。其中可能要借助一些网
络命令,如net,nbtstat等,若有不会使用的同学请自行查阅windows帮助文档(最好看NT下的
,98的有点渣渣),这里就不作解释了。

熟悉网络编程的同学都知道,在Windows下有两套重要的网络API,WINSOCK和 NETBIOS。平时
我们用IE浏览网页,用FOXMAIL收发邮件以及用OICQ聊天用的都是 WINSOCK API,但还有一部
分网络应用需要用到传统网络接口NETBIOS,浏览网上邻居和共享文件就是其中的典型。虽然
微软已经在其最新的WINSOCK API里加入了对AF_NETBIOS地址族的访问,并打算从它的win200
0中使对NETBIOS API的支持变成可选项,但NETBIOS的真正消亡还有待时日。这里我不想翻开
NETBIOS厚重的历史去评判它的优劣来浪费大家的时间。存在即是真理,我们切入正题好了。
NETBIOS API的最大优点就是使得编程接口“与协议无关”---应用程序可通过TCP/IP,NetB
EUI以及IPX/SPX来运行。

举个例子来说,如果你在网络属性里同时添加了这三种协议,那当你通过网上邻居浏览某台
机子的资源时能确定用的是哪种协议在和它进行通信吗?不过由于这种“与协议无关”性是通
过对传输协议本身进行改造,在相应协议上添加NETBIOS接口实现的,所以也就产生了一些局
限性:

一是并非所有的协议都支持NETBIOS,我们知道的就只有上面提到的那三种协议实施了NETBI
OS接口(也许在它们前面加个Microsoft标识更恰当些);

二就是我在前面提过的LANA编号的问题了,LANA号的提法在多宿主机环境下可能更准确些,
对于我们一般只安装有一块网卡的机子来说大家就把它简单理解成一种通讯协议的对称性就可
以了。

举个例子,A只安装了TCP/IP,B只安装了NetBEUI,虽然他们都在协议上绑定了NETBIOS接口
,但彼此在网络邻居里是看不到的。这也提醒我们要想在网络邻居里看到最多的机子,就要把
三个协议全部安装。为了后文叙述的方便,我们把启用了NETBIOS的三种协议分别用一个名字
来表示:NetBT/NBT(TCP/IP)、Nbf(NetBEUI)、NwlnkNb(IPX/SPX),它们各对应一个 L
ANA号,只有相同的LANA号之间才能建立通信连接。

接下来要说的就是最为关键的NETBIOS名字的问题了。对于BSD系统,每台机器都有一个主机
名,从而也引出了DNS的概念,这也可以说是UNIX和TCP/IP紧密结合的产物。而Windows可没有
跟某种协议有近亲关系,在它眼里只有机器名(即NETBIOS名)才是最关键的。

在win32环境中,针对每个可用的LANA编号,每个进程都会为其维持一张NETBIOS名字表。我
们可以用nbtstat -n命令获得本机与NBT相关的名字表(你要是连TCP/IP都没安,可别来问我
为什么不能用)。NETBIOS 名字分两种类型:唯一名(UNIQUE)和组名(GROUP)。唯一名很
好理解,就是说在同一子网上要独一为二(注意我这里没有用广播域,这在我的第三部分里我
会结合以前的一些讨论详作说明);而组名的作用是可以实现多播数据通讯。结构上也由两部
分组成:字符串和Scope ID。这里的字符串就是我们给自己的计算机、工作组起的名字,而且
对所能使用的字符及其长度都有限制,大家自己去查书,我就不在这里浪费时间了,需要说明
的是一些同学为了“隐藏”自己,把自己的机器名起的象个IP一样,如0.0.0.0(真不知是那位
高人教大家的,呵呵)其实字符“."是不允许做机器名的,从这个角度讲win98真是太渣渣了
(误导群众,怪不得老死机,该!)而NT在这方面做的就好多了。我主要讲解的是Scope ID域
,它占用NETBIOS名的最后一个字节,最大的作用莫过于可以标识不同的Microsoft 网络服务
了,因为它是NETBIOS名的一部分,因此UNIQUE name允许两台computername 相同,但scope
ID不同的计算机在同一子网上存在。我不打算摘抄大段的NETBIOS 标识符给大家,这里就以我
机子上的一个NETBIOS名字表为例给大家讲解一下常用的NETBIOS标识符类型:

C:\>nbtstat -n NetBIOS Remote Machine Name Table Name Type Status --------------
-------------------------------
CJT <00> UNIQUE Registered
CJT<00>代表工作站服务,每一台上网的计算机必须首先注册的唯一标识符,这也是进行网络
邻居浏览的唯一必要条件。在同一子网上的其它机子可以用ping CJT得到我的IP,注意这可跟
DNS没有关系,是通过广播查询CJT<00>得到的,因为TCP/IP和NETBIOS有绑定。

MINEGROUP <00> GROUP Registered

这条没什么可说的,但凡把工作组名设成MINEGROUP的机子都会注册这一项,从而同一子网上
的某些机子间建立一种特定的逻辑关联,使对于MINEGROUP<00>进行的通讯只被这些机子接收
,这里大家可以考虑不在MINEGROUP的机子对这些报文的处理过程。虽说这一项是名字表里最
不重要的一项,但大多数同学无法浏览网上邻居的故障却都和它有关哦!等会儿我会说明。还
有大家可以想想,要是你的工作组名和别人的机器名起的一样会出现什么事情呢?

CJT <03> UNIQUE Registered CJT<03>代表消息服务,就是那个在win2000下突然弹出个窗口
来说“某某某侵犯版权” 的东东。其实这是个挺好的服务,可以让我们用win9X下的WINPOPU
P和winNT下的NET SEND 进行简单的消息传送。不过在NT下,CJT<03>只代表消息的接收端,要
发送消息,还需注册一个CJT<01>,这也是NT第一次用net send发消息要等很久的原因,因为
CJT<01>只在你用到net send时才会去注册;而9X下只用一个CJT<03>就把收发全搞定了。不过
那个 WINPOPUP好象不能给自己发消息耶,真不知微软在搞啥子。

CJT <20> UNIQUE Registered 与CJT<00>相对照,CJT<20>代表服务器服务,我前面已经说过
,凡是提供文件及打印机共享服务的机子就叫做SERVER,它会在入网时进行浏览器宣告,这也
是一台机子可通过网上邻居“被”访问的唯一必要条件。

MINEGROUP <1E> GROUP Registered 还记得我前面说过的那个浏览器选举吗?我把<1E>标志
称为候选者,这样当MINEGROUP组里的当前浏览主控服务器当机后,所有拥有<1E>标志的机子
都有资格参加竞选。至于这个标志是怎么来的,记住一句话:SERVER完全同意作为默认的候选
浏览主控服务器。关于这句话的理解,我后面将有一道题帮助大家认识它。

XIXI <03> UNIQUE Registered 咦?又一个<03>,这个XIXI是啥子东西?其实XIXI就是CJT的
用户名了,就是那个登录提示框里的东西。使我们除了通过对方的机器名以外还可以通过他的
用户名给对方发消息。不过要是和别人的名字发生了重复怎么办?会报冲突吗?不会。因为这
个XIXI<03>是我们在按了回车车键以后才进行注册的。写到这里,不禁对以前那个ESC键的问
题有所领悟,

原来所谓的登录网络就是干了这么一件事,那如果...如果...,企不是...呵呵,搞个测

试先。

MINEGROUP <1D> UNIQUE Registered 这个<1D>想来大家都已经猜到了,就是表明CJT是MINE
GROUP里的浏览主控服务器了,当 “领导”的感觉总是这么爽。嘻嘻

..__MSBROWSE__.<01> GROUP Registered 见过这个怪东西的人肯定不少,但真正知道它用途
的恐怕不多。这是一个组名,由整个子网上的所有浏览主控服务器构成,这样当MINEGROUP里
的机子想要浏览其他组的资源时,CJT就凭借这个标识为大家查找那个组的浏览主控服务器,
从而使我们能获得该组的浏览列表。 基本的一些标识符类型就介绍完了,只要掌握了这些,
解决常见的浏览器故障已是绰

绰有余了,通过后面的一道习题大家可以实践掌握这种方法。对于还想进一步了解更多标识
符类型的同学可以使用net start命令获知其它的微软服务,大多数服务都有一种标识符与其
相对应。

MAC Address = 00-88-CC-23-15-54 前面POPO曾说过,使用nbtstat -A IP可以获知远程主机
的MAC,至于原理,就是我们在这里最后要说的NBT了。现在大家已经知道,NBT就是建立在TC
P/IP传送协议之上的NETBIOS接口,我们先将它与Nbf进行一番对比。Nbf指的是NETBIOS帧协议
,以NetBEUI为基础,这可是真正的架构在链路层之上的协议哦,不过也因为它是在LLC上面,
所以无法路由。只有借助一些可路由协议(如IP或IPX)才能实现跨广播域浏览因为TCP/IP发
展最为迅速,最为普及,NBT也才受到大家如此的关注。
kwklover 2003-10-19
  • 打赏
  • 举报
回复
有关网上邻居的问题(zt,有几个网管能够有这样的认识,经典呀)
kaka2000 发表于 2003-10-13 18:15 NT世界 ←返回版面 [快速返回]

有关网上邻居的问题,问的人一直比较多,在理解上存在的误区也普遍较为严重。鉴于Mic
rosoft的NETBIOS文档不是很细致,我四处收集了一些相关资料加上自己的实践经验写了这个
系列,希望能对大家有所帮助.

 本来想为了增加可读性,把这个系列写成问答的形式,不过一时之间脑袋里也编不出这么
多的问题,还是按部就班先感性的对微软的浏览服务作一大致介绍,然后再深入剖析NETBIOS
的具体工作机理,大家要是有什么问题,可以提出来我们一起讨论.

计划分三部分来讲,微软网络浏览过程,深入NETBIOS剖析,以及网络设置详述

***微软网络浏览过程简介***

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

问:什么情况下会导致在网络邻居中计算机能看见却无法访问或可以访问却看不见?请选择
最佳答案: A.你的网络存在物理问题,比如网线 B.作为域主浏览器的Windows NTserver的浏
览服务坏了 C.Windows NTserver网卡有问题 D.你的网络没有问题,用户描述的是正常的微软
浏览现象

正确答案

书上的解释:微软的网络浏览可能在使用中出现"中断",而实际上它们并没有中断, 这种误解
是由于用户对微软网络浏览的处理过程不熟悉造成的。

就象同学们经常在抱怨的“为什么别人的网上邻居可以用,我的却不行?”“为什么有时候
可以浏览,有时候却无法浏览网络?”解铃还须系铃人,让我们一起去看看微软的网络浏览到
底是如何实现的。鉴于大家可能对NT的“域”概念还不甚了解,出现浏览故障的也多为98的机
子,我将以98的“工作组模式”为大家讲解。

1.什么是浏览列表(Browsing List) 在微软网络中,用户可以在浏览列表里看到整个网络
(何指?子网还是广播域?大家可以考虑考虑)上所有的计算机。当你通过网上邻居窗口打开
整个网络时,你将看到一个工作组列表,再打开某个工作组,你将看到里面的计算机列表(也
可在 DOS方式下用net view /domain:workgroupname命令得到),这就是我们所说的 Browsi
ng List。工作组从本质上说就是共享一个浏览列表的一组计算机,所有的工作组之间都是对
等的,没有规定不可以让所有的计算机同处于一个工作组中。

2.浏览列表在哪里 曾在木棉上看到过一场争论,有人说:网上邻居里的计算机列表是广播查
询得来的。可有人举反例说:我的同学都关机了,可我还是能在网上邻居里看到它,应该是从
HUB或交换机之类较为固定的设备的缓存中取得的。 其实他们都只说对了一个方面,把他们二
人的说法结合起来就是正确答案了--- 浏览列表是通过广播查询浏览主控服务器,由浏览主控
服务器提供的。

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

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

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

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

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

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


7.在我的网上邻居里为什么有些机子访问不了 如果微软的网上邻居真能做到所见即所得,相
信抱怨它的人不会象现在这么多,可通过前面对浏览服务的介绍,大家已经知道这是不可能的
,因为浏览列表的获得不是通过访问其中每一台机子得到的,很多时候网络中的计算机并不能
正确更新浏览列表。当一台计算机正常关机时,它会向网络发出广播宣告,使浏览主控服务器
及时将它从浏览列表中删除;而非正常关机后,浏览列表里仍会把该条目保持很长一段时间(
NT下是45分钟),这就是我们仍能在网络邻居里看到它的原因.而98的稳定性是众所周知的 ---
-在还没来得及关机前就已经崩溃了^-^
icuc88 2003-10-19
  • 打赏
  • 举报
回复
NO, 看到了不一定可以PING通:)

有时候网上邻居看到的只是临时的机器。
sungod8 2003-10-19
  • 打赏
  • 举报
回复
1.我觉得能在网上邻居看到就能PING 到计算机名(如果ICMP没被关)
2.使用TRACERT 命令
3.有大量的网络管理软件,即能看IP也能看计算机名
4.nbtstat应该可以看到啊,不过我没有你这样的环境,你可以多试试几个参数

*******深入NETBIOS剖析********

在这部分里,我首先将对NETBIOS作一些基础性的介绍,然后主要针对LANA编号,NETBIOS名字表,NBT这三方面对NETBIOS的特性进行讲解,使大家对NETBIOS接口通讯的原理有所了解,并掌握使用NETBIOS名字表来识别网上邻居浏览故障及其排除的方法。

在Windows下有两套重要的网络API,WINSOCK和NETBIOS。平时我们用IE浏览网页,用FOXMAIL收发邮件以及用OICQ聊天用的都是WINSOCKAPI,但还有一部分网络应用需要用到传统网络接口NETBIOS,浏览网上邻居和共享文件就是其中的典型。NETBIOSAPI的最大优点就是使得编程接口“与协议无关”---应用程序可通过TCP/IP,NetBEUI以及IPX/SPX来运行。

举个例子来说,如果你在网络属性里同时添加了这三种协议,那当你通过网上邻居浏览某台机子的资源时能确定用的是哪种协议在和它进行通信吗?不过由于这种“与协议无关”性是通过对传输协议本身进行改造,在相应协议上添加NETBIOS接口实现的,所以也就产生了一些局限性:

一是并非所有的协议都支持NETBIOS,我们知道的就只有上面提到的那三种协议实施了NETBIOS接口

二就是我在前面提过的LANA编号的问题了,LANA号的提法在多宿主机环境下可能更准确些,对于我们一般只安装有一块网卡的机子来说大家就把它简单理解成一种通讯协议的对称性就可以了。

举个例子,A只安装了TCP/IP,B只安装了NetBEUI,虽然他们都在协议上绑定了NETBIOS接口,但彼此在网络邻居里是看不到的。这也提醒我们要想在网络邻居里看到最多的机子,就要把三个协议全部安装。

为了后文叙述的方便,我们把启用了NETBIOS的三种协议分别用一个名字来表示:NetBT/NBT(TCP/IP)、Nbf(NetBEUI)、NwlnkNb(IPX/SPX),它们各对应一个LANA号,只有相同的LANA号之间才能建立通信连接。

接下来要说的就是最为关键的NETBIOS名字的问题了。对于BSD系统,每台机器都有一个主机名,从而也引出了DNS的概念,这也可以说是UNIX和TCP/IP紧密结合的产物。而Windows可没有跟某种协议有近亲关系,在它眼里只有机器名(即NETBIOS名)才是最关键的。在win32环境中,针对每个可用的LANA编号,每个进程都会为其维持一张NETBIOS名字表。我们可以用nbtstat-n命令获得本机与NBT相关的名字表。

NETBIOS名字分两种类型:唯一名(UNIQUE)和组名(GROUP)。唯一名很好理解,就是说在同一子网上要独一为二;而组名的作用是可以实现多播数据通讯。

结构上也由两部分组成:字符串和ScopeID。这里的字符串就是我们给自己的计算机、工作组起的名字,而且对所能使用的字符及其长度都有限制(需要说明的是一些同学为了“隐藏”自己,把自己的机器名起的象个IP一样,如0.0.0.0,真不知是那位高人教大家的,呵呵)。其实字符“.“是不允许做机器名的,从这个角度讲win98真是太渣渣了(怪不得老死机!!)而NT在这方面做的就好多了。我主要讲解的是ScopeID域,它占用NETBIOS名的最后一个字节,最大的作用莫过于可以标识不同的Microsoft网络服务了,因为它是NETBIOS名的一部分,因此UNIQUEname允许两台computername相同但scopeID不同的计算机在同一子网上存在。这里就以我机子上的一个NETBIOS名字表为例给大家讲解一下常用的NETBIOS标识符类型:

C:\>nbtstat-n

NetBIOSRemoteMachineNameTableNameTypeStatus---------------------------------------------
CJT<00>UNIQUERegistered
CJT<00>代表工作站服务,每一台上网的计算机必须首先注册的唯一标识符,这也是进行网络邻居浏览的唯一必要条件。在同一子网上的其它机子可以用pingCJT得到我的IP,注意这可跟DNS没有关系,是通过广播查询CJT<00>得到的,因为TCP/IP和NETBIOS有绑定。

MINEGROUP<00>GROUPRegistered这条没什么可说的,但凡把工作组名设成MINEGROUP的机子都会注册这一项,从而同一子网上的某些机子间建立一种特定的逻辑关联,使对于MINEGROUP<00>进行的通讯只被这些机子接收,这里大家可以考虑不在MINEGROUP的机子对这些报文的处理过程。虽说这一项是名字表里最不重要的一项,但大多数无法浏览网上邻居的故障却都和它有关哦!等会儿我会说明。还有大家可以想想,要是你的工作组名和别人的机器名起的一样会出现什么事情呢?

CJT<03>UNIQUERegisteredCJT<03>代表消息服务,就是那个在win2000下突然弹出个窗口来说“某某某侵犯版权”的东东。其实这是个挺好的服务,可以让我们用win9X下的WINPOPUP和winNT下的NETSEND进行简单的消息传送。不过在NT下,CJT<03>只代表消息的接收端,要发送消息,还需注册一个CJT<01>,这也是NT第一次用netsend发消息要等很久的原因,因为CJT<01>只在你用到netsend时才会去注册;而9X下只用一个CJT<03>就把收发全搞定了。不过那个WINPOPUP好象不能给自己发消息耶,真不知微软在搞啥子。

CJT<20>UNIQUERegistered与CJT<00>相对照,CJT<20>代表服务器服务,我前面已经说过,凡是提供文件及打印机共享服务的机子就叫做SERVER,它会在入网时进行浏览器宣告,这也是一台机子可通过网上邻居“被”访问的唯一必要条件。

MINEGROUP<1E>GROUPRegistered还记得我前面说过的那个浏览器选举吗?我把<1E>标志称为候选者,这样当MINEGROUP组里的当前浏览主控服务器当机后,所有拥有<1E>标志的机子都有资格参加竞选。至于这个标志是怎么来的,记住一句话:SERVER完全同意作为默认的候选浏览主控服务器。关于这句话的理解,我后面将有一道题帮助大家认识它。

XIXI<03>UNIQUERegistered咦?又一个<03>,这个XIXI是啥子东西?其实XIXI就是CJT的用户名了,就是那个登录提示框里的东西。使我们除了通过对方的机器名以外还可以通过他的用户名给对方发消息。不过要是和别人的名字发生了重复怎么办?会报冲突吗?不会。因为这个XIXI<03>是我们在按了回车车键以后才进行注册的。写到这里,不禁对以前那个ESC键的问题有所领悟,原来所谓的登录网络就是干了这么一件事!

MINEGROUP<1D>UNIQUERegistered这个<1D>想来大家都已经猜到了,就是表明CJT是MINEGROUP里的浏览主控服务器了。

..__MSBROWSE__.<01>GROUPRegistered见过这个怪东西的人肯定不少,但真正知道它用途的恐怕不多。这是一个组名,由整个子网上的所有浏览主控服务器构成,这样当MINEGROUP里的机子想要浏览其他组的资源时,CJT就凭借这个标识为大家查找那个组的浏览主控服务器,从而使我们能获得该组的浏览列表。基本的一些标识符类型就介绍完了,只要掌握了这些,解决常见的浏览器故障已是绰绰有余了,通过后面的一道习题大家可以实践掌握这种方法。对于还想进一步了解更多标识符类型的同学可以使用netstart命令获知其它的微软服务,大多数服务都有一种标识符与其相对应。

MACAddress=00-88-CC-23-15-54前面POPO曾说过,使用nbtstat-AIP可以获知远程主机的MAC,至于原理,就是我们在这里最后要说的NBT了。现在大家已经知道,NBT就是建立在TCP/IP传送协议之上的NETBIOS接口,我们先将它与Nbf进行一番对比。Nbf指的是NETBIOS帧协议,以NetBEUI为基础,这可是真正的架构在链路层之上的协议哦,不过也因为它是在LLC上面,所以无法路由。只有借助一些可路由协议(如IP或IPX)才能实现跨广播域浏览因为TCP/IP发展最为迅速,最为普及,NBT也才受到大家如此的关注。

NBT提供的服务可以分成三类:名称服务(UDP137)、数据报服务(UDP138)和会话服务(TCP139)。

1)名称服务主要用于广播解决本子网的NETBIOS名和IP地址转换的关系,比如我前面那个pingCJT的例子。因为NBT是建立在TCP/IP之上,而建立TCP/IP通讯是必须知晓双方IP地址的,这跟Nbf直接用MAC地址通讯很不一样。但也因为使用的是UDP广播,所以名称服务无法跨越路由器。

2)数据报服务提供了无连接和面向广播的通信方式。它主要用于浏览列表通知,我前面也说过我们桌面上的那个网上邻居就是它构建的,此外我们用NETSEND*命令给计算机组发消息时也是靠它的UDP广播(多播)能力。但也正因为它使用了UDP传输层协议,因而在跨越路由器时也会遇到与名称服务相同的问题。

3)使用面向连接TCP协议的会话服务才是我们的救星,因为它可以跨越路由器。网络中产生的NETBIOS通信主要也是因为会话服务的使用,而文件和打印机共享服务则构成了会话服务通信的主体。
lyb12345 2003-10-15
  • 打赏
  • 举报
回复
我来挖第一个坑
mengshui 2003-10-15
  • 打赏
  • 举报
回复
感谢各位介绍的各种工具,大概用了几个,感觉是,使用IP地址扫描的工具行不通(如EXview、IPscanner)。使用基于监听的工具(如CaptureNet、sniffer)好像只能得到机器的物理地址(不知道是不是我不会用),还是得不到IP地址。
mengshui 2003-10-15
  • 打赏
  • 举报
回复
用sniffer该如何做?
happyjacksir 2003-10-15
  • 打赏
  • 举报
回复
用IPscanner 扫描一下什么都有了。。
阳光小子神 2003-10-15
  • 打赏
  • 举报
回复
sniffer
可以做到,我也这么认为
mengshui 2003-10-15
  • 打赏
  • 举报
回复
to arlaichin(freerabbit)
我要解决的问题是如何得到它的IP地址,而不是知道了有什么用。
to solidesnake(林)
能不能说得详细些?
zmonarch 2003-10-15
  • 打赏
  • 举报
回复
不在同一网段,当然不能了
不过你可以这样,你下载一ipbook,也许一切都可以解决,并且能访问对方的共享
arlaichin 2003-10-15
  • 打赏
  • 举报
回复
就算你知道了他的IP又有什么用?你又和他不在同个网段,可能建立不了IP路由.除非是修改你们的IP或网络掩码
solidesnake 2003-10-15
  • 打赏
  • 举报
回复
sniffer
mengshui 2003-10-15
  • 打赏
  • 举报
回复
to jackjones(Edmond) & izoc()
两位说的都是有网关与DNS服务器的情况。izoc()说網上大部分網站都能ping,是经过了网关的转发。我已经说过了,这个网络是无人管理的,所以即没有网关,也没有DNS服务器。
在同一个网段时,即使没有网关与DNS服务器,也是能扫描到的,比如说我的机器IP地址是192.168.aa.bb,相邻的网络上有一台机器的IP地址是192.168.aa.cc,那么我就能扫描到它。而如果这台机器把它的IP地址更改为192.168.dd.bb,就不能扫描到,因为没有网关来转发。但是如果两台机器都安装了NetBEUI协议,就可以从网络邻居上看到对方。
izoc 2003-10-15
  • 打赏
  • 举报
回复
我不是太明白你的問題,已經連接的機器ip應該都是能得到的.最簡單就是用PING,如果PING不到可能是因為對方開了防火牆,而不是因為不是同一網段的問題.網上大部分網站都能ping,難道你跟他們都是同一網段?
jackjones 2003-10-15
  • 打赏
  • 举报
回复
你们可以互相通讯吗,如果可以就ping它的主机名后面就可以显示ip地址了,或是nslookup命令解析ip地址!
mengshui 2003-10-15
  • 打赏
  • 举报
回复
to sea168(海纳百川)
你说的不对,事实上是,我在网络邻居上能看到他,在本网段扫描却没有同名的机器。
而且,在扫描时,有很多本网段的机器,在网络邻居上却根本看不到。
jonne 2003-10-15
  • 打赏
  • 举报
回复
去下载一个EXVIEW,什么都看见了。
牟海川 2003-10-15
  • 打赏
  • 举报
回复
3.用MAC扫描器,但是因为不知道这台机器在哪个网段,所以扫描不到

既然你能看到这台电脑,当然跟你在同一网段内了,如果是随便设的,你根本无法看得到他

扫描应该能扫得到的

6,185

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧