Первое, что я хотел бы сделать, это самостоятельно подтвердить, что интересующие записи 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
, как того требует этот вызов.