关于XP“网络上有重名”

2024-03-05 02:18
文章标签 网络 xp 重名

本文主要是介绍关于XP“网络上有重名”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

      公司的局域网有些机器开机时出现“网络上有重名”的问题,能ping通内网其他机器,连接外网也是正常的,无法修改计算机名。我的虚拟机中也出现了这个问题。

解决办法:

1. 在此XP计算机上打开网络连接属性,然后打开网卡的属性->TCP/IP属性->高级。
2. 在”WINS”选项卡下,将不必要的WINS地址移除。
3. 取消启用LMHOSTS查找的选项。
4. 将NetBIOS设置设为禁用。(NetBIOS为网上邻居需用,若禁用,则网上邻居工作组查看不到任何计算机)


NetBIOS名

1.1 定义计算机名(NetBIOS名)

NetBIOS是80年代末为了利用IBMPc构建局域网而出现的一种MS-DOS程序的高级语言接口。为了利用网络硬件和软件将这些计算机连接在一起组成局域网,微软和其它供应商利用NetBIOS接口来设计它们的网络组件和程序。NetBIOS接口利用最多为16个字符的名称来标识每一个网络资源。

在一个网络中NetBIOS名是唯一的。在计算机启动、服务被激活、用户登录到网络时,NetBIOS名将被动态的注册到数据库中。NetBIOS可以以独立名称的形式注册,也可以以组名称的形式注册。以单机名注册时要有一个IP地址与其相对应,如以组名称注册时会有多个IP地址与其对应。

在Windows2000发布前的所有基于MS-DOS和Windows的操作系统都需要使用NetBIOS名称接口以便网络可以正常工作。伴随着Windows2000的发布,网络中的计算机不再需要NetBIOS名称接口的支持。如在Windows2000和一些UNIX版本的网络中它们只要求客户机支持DNS使用就可以了,不再需要NetBIOS名。但为了与以前版本的网络操作系统结合使用,微软在Windows2000中仍然支持NetBIOS名,以便与以前版本的操作系统协同使用,微软通过两方面实现对NetBIOS名的支持:<BR> 所有使用Windows2000的客户机在默认情况下都支持利用客户端的WINS服务注册和解析NetBIOS名。

Windows2000服务器继续提供一个高效的WINS服务器,用它来管理网络中的NetBIOS名。定义NetBIOS名称

NetBIOS名称包含16字节。前15个字节是由用户指定的,用它来表示:<BR>§网络上的单个用户或计算机<BR>§网络上的一组用户或计算机

在NetBIOS名中的第16个字符作为名称的后缀,用于识别名称及显示注册名称的信息。NetBIOS名可以被设置为独立名称或组名称。

在使用独立名称时,是将网络信息发送给一台计算机,而使用组名称是将网络信息同时发送给多台计算机。

在WindowsNT早期版本中,所有的网络服务都是利用NetBIOS名注册的。而在Windows2000中,登录网络及其它的网络服务都是在
dNS中进行注册的。

1.2 NetBIOS名的解析
NetBIOS名的解析就是将计算机的NetBIOS名成功的与IP地址进行映射的过程。从上面用户已经知道NetBIOS名是用来识别网络上NetBIOS资源由16个字符组成的地址。让用户通过下面这个例子了解NetBIOS名是如何解析的。

一台Windows2000的计算机(CORPSERVER)中运行的文件与打印共享服务的NetBIOS名的解析过程。当计算机启动时文件与打印共享服务利用计算机名在网络上注册一个独立NetBIOS名。这个NetBIOS名前15位字符是计算机名,第16位字符为0x20。如果计算机名不够15个字符,那么利用空格补齐。(即:CORPSERVER[20])。当用户试图与这台计算机的共享文件夹建立通信时必须指明它的文件与打印共享的NetBIOS名。在建立文件与打印共享连接前,首先要建立TCP连接,为了建立TCP连接首先要将NetBIOS名(即:CORPSERVER[20])解析成IP地址。WINS客户机主要利用广播、LMHOSTS文件、WINS服务器三种方式的组合解决NetBIOS名解析的问题,根据组合方式的不同分成了四种NetBIOSnode模式,见下表:
Node模式


描述
B-node用户利用广播NetBIOS名查询的方法实现名称的注册和解析;在广播失败后,查询Lmhosts文件,寻找相应的地址
P-node(peer-peer)
利用点对点的方式直接向WINS服务器查询相应NetBIOS名的IP地址。M-node(mixed)
M-node是把B-node和P-node组合在一起。默认情况下使用广播的方式,如果失败,再向WINS服务器进行查询。H-node(hybrid)
H-node是把B-node和P-node组合在一起。默认情况下向WINS服务器进行查询,如果失败,再使用广播的方式。如果两种方法都失败,则查询Lmhosts文件,寻找相应的地址。运行Windows2000的计算机默认使用B-node模式,当为它们设置了WINS服务器后,改用H-node模式。Windows2000也能使用本地数据库文件Lmhosts解析NetBIOS名。此文件存放在:SystemRoot/System32/Drivers/Etc文件夹中。

用户一定要为基于活动目录的Windows2000计算机设置一个WINS服务器的IP地址,以便它们可以与无法使用活动目录的WindowsNT、Windows2000,Windows95、Windows98计算机进行通信。


LMHOSTS查询

LMHOSTS查询的用处是用来进行NETBIOS名静态解析的。将NETBIOS名和IP地址对应起来,功能类似于DNS,只不过DNS是将域名/主机名和IP对应。

LMHOSTS 文件是个纯文本文件,微软提供了一个示例程序 LMHOSTS.SAM,位于 C:/WinNT/System32/Drivers/Etc 目录下。如果我们需要启用 LMHOSTS 文件查询(至于什么时候会用到这种解析方式,我们在下面会讲到),则应该将其改名为 LMHOSTS,当然推荐的方法是制作副本(即另存为 LMHOSTS),这样可免除将原文件失手改错而不得不从安装光盘里解压还原出来的麻烦。下面是LMHOSTS 文件的部分内容:
#
# The following example illustrates all of these extensions:
#
# 102.54.94.97 rhino #PRE #DOM:networking #net group's DC
# 102.54.94.102 "appname /0x14" #special app server
# 102.54.94.123 popular #PRE #source server
# 102.54.94.117 localsrv #PRE #needed for the include
#
# #BEGIN_ALTERNATE
# #INCLUDE //localsrv/public/lmhosts
# #INCLUDE //rhino/public/lmhosts
# #END_ALTERNATE
#
# end of this file.

由上面的示例我们可以看出,LMHOSTS 文件跟我们在前面已经接触过的 HOSTS 文件的格式一样,当然其规则也一样,比如:
#字符是用来注释的;
IP 地址必须放在一行的第一栏,地址和主机名之间必须有空格;
计算机名称最长为 16 个字符,但是只能输入 15 个。

但是与 HOSTS 不同的是,LMHOSTS 文件中可以指定执行某种特殊功能的特定的命令。它们也是用 # 标记的,但如果看到有下面的特殊字符串,则表明其为命令字:

#PRE——这个命令放在 IP 地址和名称后面,表示当系统启动时,先将这个地址预先载入(Preload)到 Cache(内存高速缓存)中。查询时,系统先从 Cache 中开始,如果失败,再利用广播,再失败,才到本 LMHOSTS 文件中顺序读取。

#DOM:domain_name——这个命令放在计算机 NetBIOS 名字之后,表明它是一个域控制器(Domain Controller),这里 domani_name 是域名,表明该控制器属于哪一个域。

#INCLUDE ——这个命令表明将 filename 所指向的另一个 LMHOSTS 文件加入到本文件中,系统从该文件中读取 IP 地址和 NetBIOS 名字。Heatch 记得当年应付等级考试啃 C 时就遇到过相同的格式,当然在两年前风行一时的 config.sys 多重启动配置时也有相似的例子[Include],即使现在我们用 DreamWaver 做网页不是也还是有 Server-Side Include 吗,说这么多只是想证明它的好处——集中管理 LMHOSTS 文件,即可以将所有用户共享的 LMHOSTS 文件放到服务器上,每个用户再利用 #INCLUDE 命令把它添加到自己的 LMHOSTS 文件中。

#BEGIN_ALTERNATE 和 #END_ALTERNATE 命令必须配套使用,它们的作用是可以在一个 LMHOSTS 文件中指定多个 #INCLUDE 命令,即是说,如果我们有两个以上的域控制器,那么我们就可以 INCLUDE 其上的的 LMHOSTS 文件,一旦某个控制器“牺牲”,可立即用别的域控制器来替代。

/0xnn——这里的 /0xnn 命令是用来在 LMHOSTS 文件中指定包含非打印字符(Non-Printable)的 NetBIOS 名字,它们必须用引号括起来。正如前面的《关于 WINS(二)》所讲,这些非打印字符只用于特殊的设备名称,并且只能放在计算机名称后面第16个字符的位置(我的计算机名称没有15个字符那么长啊——按空格键嘛),如示例中的102.54.94.102 "appname /0x14"

关于 Preload 的特别说明:
1、一个 LMHOSTS 文件中最多只允许 Preload 100 个 IP 地址和计算机名称;
2、#INCLUDE 命令所指向的文件中的所有项都必须加上 #PRE 命令;
3、修改注册表增加预载数目:主键 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Netbt/Parameters,新建字符串值 MaxPreLoads,输入自己想要的数目。
LMHOSTS 文件的应用场合是没有 WINS 服务器的网络环境,引入 LMHOSTS 文件的目的是用来解决广播方式无法跨越路由器的局限的,LMHOSTS 文件与广播方式相辅相行实现网段内外的全通信。这里我们再来看一下它们的的工作进程:
  1、系统启动时将 LMHOSTS 文件中被设为#PRE的地址和机器名预载到内存中;
  2、客户端发出查询请求时,先在 Cache 中检查是否已存在目的 IP 地址;
  3、找到了自不用说,如果在 Cache 中没有找到,系统改用广播方式再次查找;
  4、这次找到了也自不用说,如果广播查询还是没有找到,就得用到 LMHOSTS 文件了;
  5、找到啦,好!把它也添加到 Cache 中保存起来;
  那么 LMHOSTS 文件的跨域操作又是如何实现的呢?还记得三天前的第一讲吗?我们说到了一个 #DOM:Domain_Name 命令。假定我们这里有两个域:Lanhome01和Lanhome02,其 IP 地址分别为 192.168.0.1 和 192.168.1.10,计算机名分别为 Heatch01 和 Heatch02,现在有一台域 Lanhome01 的工作站 cxy01 想要登录到域 Lanhome02,但我们在网络上没有运行 WINS 服务。如果仅通过广播方式,cxy01无法被 Lanhome02 域控制器审核并验证身份。这里只需在 LMHOSTS 文件添加如下一行即可:
  192.168.1.10    Heatch02 #PRE #DOM:Lanhome02

这篇关于关于XP“网络上有重名”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775010

相关文章

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了