一个局域网内,没有dns服务器时,机器名到ip的解析由谁来负责呢? - 网络管理 - 51...

来源:百度文库 编辑:神马文学网 时间:2024/04/28 23:26:50
1、计算机的主机名也叫hostname,主机名就是计算机的名字,网上邻居是根据主机名来识别的。

  这个名字可以随时改,从我的电脑属性里有个计算机名,更改就可。
一般在局域网访问时学中用,比如输入[url=file://\\pc1]\\pc1[/url],就可以访问网上邻居pc1的共享资源。

2、Internet域名系统中的主机名,因特网上的主机或 Web 站点由主机名识别。主机名有时称为域名。主机名映射到 IP 地址,但是主机名和 IP 地址之间没有一对一关系。

  当 Web 客户机发出到主机的 HTTP 请求时,使用主机名。发出请求的用户可能会指定服务器的 IP 地址,而不是主机名,但现在这在因特网上不常见。对于用户来说,主机名比数字 IP 地址更方便。公司、组织和个人常常选择其 Web 站点的主机名,用户能很容易地记住这些主机名。

  现代 HTTP 实施中更重要的是,在 HTTP 请求中使用主机名意味着:

  * 一个主机名中的服务可以由许多服务器提供,它们有不同的 IP 地址。

  * 具有一个 IP 地址的一台服务器可以提供许多主机名中的服务。这称为虚拟主管。虚拟主管说明此过程。

  主机名由称为 DNS 服务器或域名服务器的服务器映射到 IP 地址。DNS 代表域名服务。在大型网络中,许多 DNS 服务器可以相互协作,以提供主机名和 IP 地址之间的映射。



这两个主机名不是一回事,请不要混淆。
DNs主要用来解析域名和IP的应对关系。在解析过程中,DNS服务器可以设置主机头来识别站点。

[ 本帖最后由 小侠唐在飞 于 2010-7-21 10:13 编辑 ] 金杯银杯,不如网友的口碑;金奖银奖,不如网友的褒奖;熊掌鸭掌,不如网友的鼓掌~   
【欢迎访问小侠唐在飞技术博客http://xiaoxia.blog.51cto.com】
【欢迎访问小侠唐在飞精品资料下载 http://down.51cto.com/23357/up】
【提问的智慧,新手必看 http://bbs.51cto.com/thread-426198-1.html】 12# 发表于 2010-7-21 10:11  只看该作者 本文主要讨论XP系统在共享访问时遇到的一些问题及解决方法。
通过本文,你可以了解到
◆何为137及445等端口
◆如何理解netbios的名称解析
◆什么是SMB协议?如何理解?
◆XP环境下三种访问方式分析

一、基本服务和端口分析
      为了方便实验,这里搭建了一个很简单的环境,基本配置如下图:


      为了一步步探究局域网访问的根源和真相,我们用两台主机直连来模拟局域网环境,尽管vista、win7已经正式发布,但目前主流的系统仍是windows XP。所以我这里准备了XP1和XP2两台新装的主机,为了不受干扰,系统里基本没有安装什么软件。
      登陆到XP1上,用netstat -a 这条命令查看一下系统所开放的什么端口,如下图:

可以看到即使在最基本、最简单的环境下,系统也会默认开放一些端口和服务,
第一列即为开放端口的协议类型,在这里主要是tcp和udp。
第二列是本地地址及服务,即从本机所开放的端口或服务。它的基本表示形式是
【IP地址/计算机名称】:【端口/服务】
第三列,这里的foreign不能理解为【外国的】,它的另一个含义为【外来的、不属于本身的】,在这里就表示除本机以外的其他地址和连接端口,表现形式同上。
第四列则为当前端口连接的状态,listening 表示正在监听。
可能有的朋友会问,Local Address一列中为什么有的是服务名称,有的是端口名呢?
这是因为这个命令默认不对计算机名进行IP解析,在显示端口时,如果有其对应服务名称,就显示出来,没有则直接显示端口号。我们从这里也可以知道,并不是每个端口都会对应一个服务,可能很多端口都是“无名氏”。
我们可以通过netstat -an 来更改显示方式。如下图:

对比这两个图可以看出,XP1一共对应2个地址,127.0.0.1和0.0.0.0 。127开头属于保留地址,作为系统内部还回测试之用。另一个应该是在网卡上设定的IP,因为此时我没有插网线,也没有分配IP地址,所以就会用0.0.0.0 代替。对于上面列出的9个条目,我们挑几个重点的分析一下。
在上个图中可以看到几个熟悉的端口,如135、445 等。他们分别对应epmap和microsoft-ds服务。epmap即end-point map简称,从字面上理解就是终端映射服务,这个服务可以为dhcp、dns和wins服务提供网络定位。同时,135端口还可以用在RPC协议上。microsoft-ds即Microsoft directory service ,我们可以通过这个服务在445端口上利用SMB协议实现网络文件共享。还有isakmp和ntp,前者是ipsec体系中的一种主要协议,ntp为Network Time Protocol网络校时协议,主要是校准系统时间之用。
后面2个服务和今天的话题关联不大,不多讨论。
除了通过命令查看计算机连接情况外,还可以通过一些工具来查看。比如tcpview


尽管方法不同,但结果都是一样的。
OK,现在我们给XP1和XP2加上IP,并接入网络,然后再次查看连接情况,如下图:

其中红框内是新增的5个连接,就是说在接通网络后,系统自动运行了几个新的协议,其中有非常重要的netbios三兄弟,即netbios-ssn、netbios-ns和netbios-dgm。
我们来依次熟悉一下吧:
Netbios-ssn:即Netbios Session Service,用于SMB协议提供文件共享和打印等服务
Netbios-ns:即Netbios Name Service,实现netbios和IP地址的解析
Netbios-dgm:即Netbios Datagram,通过它可以在两台主机之间相互发送datagram这类数据包。但是一种无连接服务,所以稳定性并不是很高。
我们可以看到,系统已经做好了两台主机传送数据和互访的基本条件。很明显,这些是基于netbios名的,而非主机名。这一点需要多多留意,尽管netbios名和主机名差别很小,但并非一个等同的概念。
【有关两者之间的区别,可以参考浅谈netbios及其相关内容这篇文章,里面叙述的更详细】
只顾着说XP1这台主机了,XP2现在怎么样了? 是否和XP1一样呢?
我们来看一下:

这个是主机XP2上的连接情况,点击是上面的【A】字符切换一下显示模式,

和XP1是一模一样的。
OK,到此为止,基本端口和服务分析完毕,现在我们开始做一些关键性测试。

二、应用测试和分析

1、ping测试
       在访问局域网时,大家习惯性会用到例如在地址栏输入[url=file://ip/]\\ip[/url] 或者\\主机名等方式来访问对方的共享资源或者打印机等设备,那我们就试一下在这个非常纯净的环境下,看看访问是否顺利,并逐一解决如果不顺利,会发生什么情况?? 如何解决?等问题。
      XP1和XP2仅仅是分配的IP以及子网掩码,其他的一概未设置。我们首先ping一下,看看这两台及是否能ping通,这也是我们的一贯思路。

如上图,先用了hostname来验证本机身份,没错,是XP1。然后用ping一下XP2。从结果上可以看到ping是失败的。为什么呢?从上图似乎看不出什么问题,反馈信息只是告诉你“请求超时”,导致这个结果的原因有很多,我们不能靠猜测来解决问题,而是需要真凭实据!
分析这类问题我们需要借助一些抓包工具,我用的是wireshark1.1(前身叫ethereal)。在XP2上运行wireshark,并重复上面的动作,下面是抓包的情况:

一共有6条记录,我们一一分析。
第一条:显然,我们发出ping命令后,因为最初XP1不知道XP2在哪里,所以就以自己为起点,向整个局域网发送广播,利用ARP协议来查找192.168.1.2的MAC地址。第一行的Source是XP1的网卡MAC地址(因为MAC的前24位是厂商标识符,XP是一台DELL笔记本,所以会显示DELL_OF),目的地则是广播,即该网段所有地址,INFO中说明,XP1正在查找XP2的MAC地址。
第二条:这条是查询的结果,对方的MAC地址是Shenzhen_05(表示方法同上)。
第三条:因为ping是一个依靠向对方发送icmp的请求包,并接受返回的reply包来判定网络是否连通的小程序。默认情况下,一共发送4个,每个大小为固定的32byte,从上面来看,数据包已经到了XP2主机上,但是并没有得到XP2的回应。体现在XP1就是Request timed out,每一条超时信息对应1个ICMP的请求信息。
第四、五、六就是XP1的请求信息。

那如何解决呢?其实之所以没有得到XP2的回应,是因为对方开启了防火墙的原因。在XP防火墙的高级设置里,我们可以设置是否传入回显请求,只需要在下图所示的地方修改一下即可。

然后再次测试就可以了。
2、共享访问问题分析
        由于这里没有dns服务器来对将主机名解析为IP,所以,目前XP1和XP2两台主机通讯只能依靠netbios名称服务,即NBNS来完成。这也是早期系统主要的局域网访问协议,比如win98等。
我们在XP1上测试一下,用[url=file://xp2/]\\xp2[/url] 看是否能访问到XP2上的默认共享文件。
如下图:

可以看到,无法访问。试一下IP方式

同样失败。
       这个应该是大家平时在使用共享访问时常会出现一种情况,其实解决这个问题很简单,只要那XP1和XP2的默认防火墙关掉,问题就解决了。
但,实际上,当我们遇到问题时似乎都习惯不去认真思考问题的原因。往往是通过一些通用的办法来解决,看似达到了效果,其实无形中失去了学习知识的机会,而就是这些知识点阻碍了你的进步和提高。比如系统中了很深的毒,我们可以直接重装,那个迅速,效率高啊!但,你知道这个是什么病毒?怎么引起的?就这样一刀切,下次遇到同样的问题怎么办?这类的例子非常多,发生在我身上也不少,我正努力纠正这个毛病,也希望和大家共勉。
      回到这个问题上来,关闭防火墙就可以解决,这就是所谓的通用办法,当然也是最有效的。但,这里我们就要认真讨论这个问题的来龙去脉,否则这篇文章就不能冠以“精解”字眼了。
     要分析这个问题,有个概念要事先介绍一下。那就是SMB(Server Message Block protocol)协议标准,SMB工作原理就是让Netbios和SMB在TCP/IP协议族上运行,并提供网络上的访问与共享。windows的网上邻居就是以这个协议作为基础的。可能有的朋友会问,怎么和netbios扯上关系了?  其实是这样的,smb需要利用netbios的Name Services服务来解析出要访问的对象,并利用netbios session服务与之建立会话,既而完成共享及访问的任务。这些都是在windows下的实现,在其他系统,比如linux就有些区别了,SAMBA就是实现SMB标准的一种软件,可以实现从linux到windows之间的共享。
      之所以访问不成功,主要是因为防火墙阻止了SMB和netbios相关服务和协议的运行。我们试着在防火墙上打开它们,看看结果怎么样。
      我们知道,SMB协议通过TCP的445端口来实现,因此我们需要在XP1的防火墙上打开这个端口,这样SMB协议才可以正常工作。

输入一个识别名称及端口号445,默认已经选中TCP类型,然后确定

咦? 为什么会有这样的提示呢?我们以前肯定没有添加过什么端口,自己检查一下发现在这个窗口里有一项【文件和打印机共享】

双击打开后,发现TCP 445已经列在其中,原来如此。

所以刚才无法添加这个端口了,这里也反应了一个现象, 就是即使这个端口没有被使用,windows 防火墙也不允许额外添加相同端口,此时我们将其启用。

OK,SMB协议已经打开,我们可以进行访问测试了。
3、三种共享访问方式测试及分析

   为了得到更精确的结果,同时也是为了测试netbios的name services服务,我们把XP1和XP2的netbios名(默认等同于主机名)修改成xp1bios和xp2bios,如图:
XP1:

xp2:

OK,一切准备就绪,开始测试。
      在访问网上邻居一般会用到3种形式,从XP2上访问XP1的共享资源。依次测试后结果如下:
1、基于UNC路径的IP地址访问,即[url=file://ip/]\\IP[/url]地址,同时我们也扑捉一下当前的数据包

已经出现连接对话框,表明是可以访问到XP1的,同时请大家注意访问方式

从协议情况来看,SMB协议已经可以正常工作,其中microsoft-DS的端口即为445,SMB共享服务是需要通过microsoft-DS来实现。
2、基于UNC路径的主机名访问,即[url=file://ip/]\\[/url]主机名

采用主机名的访问方式,结果失败。

上图是失败时的抓包情况,可以看到NBNS服务在解析XP1的主机名时生效,原因很简单,因为NBNS为netbios名的提供解析服务,解析对象不是主机名。
3、基于UNC路径的Netbios名访问,即[url=file://netbios/]\\Netbios[/url]

XP1bios也无法访问


总结:之所以只有IP方式可行,是因为SMB可以利用TCP/IP协议来实现访问,而其他两种方式均需要一个解析过程才可以完成,因此如果允许Netbios三个服务相关的137、138、139这三个端口,则可以利用netbios名访问对方。
如下图:

打开4个端口。

通过xp2bios访问对方。请大家注意第二个红框。是XP2bios\guest
而不是XP2\guest,说明这个是通过netbios名解析后并通过SMB协议访问的。
此时的抓包情况,如下图:

可以看到,开放137、138、139及445端口后,NBNS、SMB协议已经正常运行了。

下节将重点讲解XP共享访问及相关的排错知识
To Be Continued ......

本文出自 51CTO.COM技术博客

http://jeffyyko.blog.51cto.com/28563/149596
一个局域网内,没有dns服务器时,机器名到ip的解析由谁来负责呢? - 网络管理 - 51... 局域网50台电脑,怎样设置IP地址、子网掩码、默认网关、首选DNS服务器、备用DNS服务器... 局域网中有台DNS服务器,在客户机中输入网址,有时能正确解释分析到局域网中地web服务器,... DNS服务器?????????????? Windows专区 / 网络管理配置和工具使用 DNS服务器?????????????? Windows专区 / 网络管理配置和工具使用 全国各地 DNS 服务器 IP 总汇 - ♂等^ [转]全国各地 DNS 服务器 IP 总汇 急求:DNS服务器配置中外网与内网的问题,在线等~ - DNS架设 - 服务器架设与应用 ... DNS在局域网中的作用? - Windows专区 / 网络管理配置和工具使用 着眼DNS服务 灵活管理局域网 DNS反向查询 通过ip查服务器挂多少域名 转贴:IP地址 子网掩码 默认网关 DNS服务器 DNS服务器 Windows服务器中文站 -> 局域网中设置DNS服务器后不能访问163,QQ等主页 如何建立DHCP服务器 [局域网管理] 局域网内WSUS服务器的安装与使用经验 -WSUS(Windows Server Upda... 如何取电脑的:机器名、用户名、IP地址、MAC地址 全国主要城市的DNS服务器列表 XMPP/Jabber服务器的SRV DNS配置 全国主要城市的DNS服务器列表 中小企业局域网网络管理方案 女人的相貌该由谁“负责”? 女人的相貌该由谁“负责”? 自制本地DNS服务器方法为宽带网络提速