首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 7上解析NetBIOS名称

在Windows 7上解析NetBIOS名称
EN

Stack Overflow用户
提问于 2011-01-20 18:00:03
回答 1查看 9.5K关注 0票数 6

根据这个链接,从Windwos开始就不再支持NetBIOS。当然,我不能再从网络属性中看到任何NetBIOS名称。

然而,当我在Windows 7上编写代码时,我仍然会在许多地方遇到NetBIOS名称。例如

  1. 我仍然可以使用“MYDOMAIN \哈维”登录我的机器,我相信MYDOMAIN是一个NetBIOS名称。
  2. 环境变量COMPUTERNAME和USERDOMAIN仍然是NetBIOS名称。我希望在这里看到一个DNS名称
  3. 我从获得的Server实例名称仍然类似于MYMACHINE\Instance1。

我猜微软仍然保持了部分的向后兼容性。我想了解Windows7将如何将NetBIOS名称解析为IP地址。我发现这篇文章解释了NetBIOS名称解析是如何工作的,但恐怕在Windows7中不再是这样了,至少我没有WINS服务器。

我的最后一个问题是如何以编程的方式解析NetBIOS名称,最好是在C#中。我可以使用PInvoke。

UDAPTE

崔德斯是对的。我可以使用System.Net.Dns.GetHostAddresses(“主机名”)解析NetBIOS名称。我用反光镜观察引擎盖下面发生了什么。它正在调用32.dll

这里,它解释了gethostbyname()将执行NetBIOS名称解析。

  1. 检查本地主机名以获得匹配的名称。
  2. 检查主机文件中是否有匹配的名称条目。
  3. 如果配置了DNS服务器,请查询它。
  4. 如果没有找到匹配项,请尝试NetBIOS名称解析。

关于NetBIOS在这个链接中不受支持的神秘之处,我认为它只是意味着不支持API。ServerFault的人认为Windows 7仍然支持NetBIOS。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-20 18:19:37

NetBIOS本身作为旧协议可能不受支持,但SMB/CIFS仍然支持,这就是文件共享的主机名仍然有效的原因。

至于如何解析名称,我能够这样做:

System.Net.Dns.GetHostAddresses(“主机名”)

我在一个域上,所以它可能只是附加一个DNS后缀和进行DNS查找,但它对我有效。试试看。:)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4750736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档