GetHostByAddress 有效了吗?
GetHostByAddress valid anymore?
我的所有 PS 远程工具都依赖于我编写的一个函数,该函数运行以下代码来解析主机名。
这今天停止工作,现在导致此错误。
我环顾四周并尝试了 GetHostEntry,但这似乎只有 return IP 地址。
$Computername = ([Net.Dns]::GetHostByAddress($IPAddress)).HostName
"Exception calling "GetHostByAddress" with "1" 个参数:"请求的
姓名
有效,但未找到请求类型的数据”
在 line:1 char:28
+ [Net.Dns]::GetHostByAddress <<<< ($IP).主机名
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
我要做的第一件事是独立确认感兴趣的 PTR
记录仍在 DNS 中。在 Windows 上,我会使用 nslookup
。例如,要查找 IP 10.1.2.3
的主机信息:
nslookup
> set type=ptr
> 3.2.1.10.in-addr.arpa.
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find 1.2.3.10.in-addr.arpa: NXDOMAIN
>
如果您像上面那样取回 NXDOMAIN,那么您使用的是什么调用都没有关系...数据不存在。
如果您确实得到了答复,那么可能实际上是 API 电话。此页面 https://docs.microsoft.com/en-us/dotnet/api/system.net.dns.gethostbyaddress?view=netframework-4.8 确实指定 GetHostByAddress
方法已过时并使用 GetHostEntry
,就像您尝试过的那样。 GetHostEntry
仅返回 IP 地址的事实表明 PTR
记录已消失,或者可能无法从您查询的位置访问,或者您可能没有 DNSPermission
所要求的打电话。
我的所有 PS 远程工具都依赖于我编写的一个函数,该函数运行以下代码来解析主机名。
这今天停止工作,现在导致此错误。 我环顾四周并尝试了 GetHostEntry,但这似乎只有 return IP 地址。
$Computername = ([Net.Dns]::GetHostByAddress($IPAddress)).HostName
"Exception calling "GetHostByAddress" with "1" 个参数:"请求的 姓名 有效,但未找到请求类型的数据” 在 line:1 char:28 + [Net.Dns]::GetHostByAddress <<<< ($IP).主机名 + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException
我要做的第一件事是独立确认感兴趣的 PTR
记录仍在 DNS 中。在 Windows 上,我会使用 nslookup
。例如,要查找 IP 10.1.2.3
的主机信息:
nslookup
> set type=ptr
> 3.2.1.10.in-addr.arpa.
Server: 127.0.0.1
Address: 127.0.0.1#53
** server can't find 1.2.3.10.in-addr.arpa: NXDOMAIN
>
如果您像上面那样取回 NXDOMAIN,那么您使用的是什么调用都没有关系...数据不存在。
如果您确实得到了答复,那么可能实际上是 API 电话。此页面 https://docs.microsoft.com/en-us/dotnet/api/system.net.dns.gethostbyaddress?view=netframework-4.8 确实指定 GetHostByAddress
方法已过时并使用 GetHostEntry
,就像您尝试过的那样。 GetHostEntry
仅返回 IP 地址的事实表明 PTR
记录已消失,或者可能无法从您查询的位置访问,或者您可能没有 DNSPermission
所要求的打电话。