gpt4 book ai didi

c# - .NET GetHostByAddress 别名只显示 8 个条目

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:40 30 4
gpt4 key购买 nike

我需要从我们的 DNS 服务器输入的单个 IP 地址中获取每条 CNAME 记录。
当我查找时:

[System.Net.Dns]::GetHostByAddress("81.95.243.81").Aliases

它只返回相同的 8 个别名:

botexshop.dk
bisamba.dk
nordsoenoceanarium.dk
www.brandingcommunity.com
botexhome.dk
botexudstyr.dk
botexjylland.dk
marineacademy.dk

但我知道IP地址有超过69条CNAME记录(请看这里:Toolbox | DNSstuff | Reverse DNS Lookup Results for 81.95.243.81)

为什么 GetHostByAddress 始终只返回相同的 8 个别名?我如何获得所有 CNAME?

最佳答案

System.Net.Dns 在很多方面都非常缺乏。我看到有些人甚至编写了成熟的 DNS 解析器来获得他们需要的东西。

我知道这并没有完全回答你的问题,但这个功能似乎完成了工作,但它非常脆弱并且依赖于 nslookup 所以 YMMV:

function get-dnsaliases($ip)
{
$ip_rev = $ip -split '\.'
[array]::reverse($ip_rev)
$ip_rev = $ip_rev -join '.'
$ptr_regex = "^`t" + [regex]::escape("$ip_rev.in-addr.arpa, type = PTR, class = IN")

$responses = nslookup -d $ip

$foundanswer = $null
$aliases = @()

foreach ($response in $responses)
{
if($foundanswer)
{
if($response -match "^`tname = (?<alias>.+)$")
{
$aliases += $Matches.alias
}
}
elseif($response -match $ptr_regex)
{
$foundanswer = $true
}
}
return $aliases
}

关于c# - .NET GetHostByAddress 别名只显示 8 个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205463/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com