问题标签 [netbios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6924 浏览

c# - 如何在 C# 中从 IP 获取机器的 NetBIOS 名称?

给定机器的 IP 地址,我如何在 C# 中以编程方式获取其 NetBIOS 名称?我知道我可以通过“nbtstat -A”从命令行获取它,但我正在寻找更好的解决方案。

0 投票
3 回答
28317 浏览

windows - 根据 IP 地址远程获取计算机名称的最佳方法是什么?

我有几台由 IP 地址识别的 Windows 机器。我想编写一个远程查询计算机并获取其名称的应用程序。我不能依赖 DNS,因为它不能提供准确的结果。

听说有一个 NetBIOS API 可以使用,但是我对这个 API 不熟悉。

0 投票
1 回答
132 浏览

.net-3.5 - .net 3.5: (ip2hostname) 查找某个 ip 是否被域中的另一台计算机使用

我在一个域下工作,我正在制作一个应用程序,将 ip 从 1 更改为 253,直到它找到一个可用的、不冲突的 ip(它从域中获得 ping 响应,每次更改 ip 时都会尝试 ping 它),这部分有效。问题是,我不希望程序覆盖被其他简单关闭的计算机使用的 IP 地址,这就是为什么它在前一个过程中没有与它们冲突的原因。

所以我的问题基本上是

如何确定我刚刚更改为的 ip 是否被我域中的另一台计算机使用?(计算机可能已关闭,否则会混淆)

奇怪的问题和任务,我知道。

我不介意使用外部 cmd 工具,将输出流式传输到我的代码,只要它是内置窗口即可。

0 投票
1 回答
365 浏览

python - 使用 python 编码和填充 netbios 名称

我正在尝试创建一个简单的脚本,它将字符串(最多 15 个字符)转换为 netbios 名称(参见http://support.microsoft.com/kb/194203):

尝试转换名称:“testing”将返回:“4645454646444645454a454f4548”,这是正确的。现在根据提交的名称的长度(最多 15 个字符),我们需要填充 4341,直到转换后的字符串为 64 长。例子 :

但实际上应该是:4645454646444645454a454f4548434143414341434143414341434143414341

无论如何要轻松做到这一点?

谢谢 !

0 投票
2 回答
1406 浏览

php - netbios 名称的正则表达式

我在弄清楚如何构建正则表达式来验证 netbios 名称时遇到了这个问题。根据 ms 标准,这些字符是非法的 \/:*?"<>|

所以,这就是我想要检测的。我的正则表达式看起来像这样

但是,那是行不通的。

谁能指出我正确的方向?(请不要使用 regexlib.com ...)如果重要的话,我正在使用 php 和 preg_match。

谢谢

0 投票
1 回答
9377 浏览

c# - 在 Windows 7 上解析 NetBIOS 名称

根据此链接,从 Windwos Vista 开始不再支持 NetBIOS。果然,我再也无法从网络属性中看到任何 NetBIOS 名称。

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

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

我猜微软仍然保留其中的一些部分以实现向后兼容性。我想了解 Windows 7 如何将 NetBIOS 名称解析为 IP 地址。我发现这篇文章解释了NetBIOS 名称解析的工作原理,但恐怕这在 Windows 7 中不再适用。至少我没有 WINS 服务器。

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

UDAPTE

特里杜斯是对的。我可以使用 System.Net.Dns.GetHostAddresses("hostname") 来解析 NetBIOS 名称。我使用反射器来查看引擎盖下发生了什么。它从 ws2_32.dll 调用 gethostbyname()

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

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

关于此链接中不支持 NetBIOS 的奥秘,我认为这只是表示该 API 不支持。 ServerFault 的人认为 Windows 7 仍然支持 NetBIOS。

0 投票
3 回答
1260 浏览

android - JCIFS、Android 和 getbyname

好吧,尝试了以下代码:

它抛出了那个异常。有任何想法吗?我已经在 LAN 上的几台命名机器上进行了尝试

0 投票
11 回答
72809 浏览

powershell - PowerShell 中计算机的 NetBIOS 域

如何从 PowerShell 获取当前计算机的 NetBIOS(又名“短”)域名?

$ENV:USERDOMAIN 显示当前用户的域,但我想要当前机器所属的域。

我发现你可以在 VBScript 中很容易地做到这一点,但显然ADSystemInfo在 PowerShell中使用起来不是很好。

更新

这是我的最终解决方案,包含使用Win32_NTDomain的建议,但过滤到当前机器的域

0 投票
1 回答
2147 浏览

.net - Environment.MachineName 是否有可能返回零长度字符串

我在客户站点上追逐一个奇怪的错误,想知道是否有Environment.MachineName可能返回一个零长度的字符串。文档说这是从注册表中读取的,但没有指定在哪里。我无法想象一台机器不能有netbios名称,只是想问一下。

编辑

经过一番调查,这似乎没有返回零长度字符串,但我只是对它是否可行感兴趣。

0 投票
2 回答
424 浏览

.net - .NET 中的 Netbios 支持?

MS 是否支持 .NET 中的 Netbios?我该如何使用它?