InetAddress.getByName (ipAddress) .getCanonicalHostName () не возвращает ответ, когда DNS блокирует ЛЮБОЙ запрос - PullRequest
0 голосов
/ 27 января 2020

Я использую JDK 8 и пытаюсь выполнить обратный поиск, как показано ниже:

    System.setProperty("sun.net.spi.nameservice.provider.1", "dns,sun");
    System.setProperty("sun.net.spi.nameservice.nameservers", dns);
    hostName = InetAddress.getByName(ipAddress).getCanonicalHostName();

    if (isEmptyOrNull(hostName) || ipAddress.equals(hostName)) {
            System.err.println("Reverse lookup failed.");       
        } else {
            System.out.println("Reverse lookup successful.. Hostname: " + hostName);
        }
    } catch (Exception e) {
        System.err.println("Error in command: " + e.getMessage());
    }

DNS заблокировал ЛЮБОЙ тип запроса, выполнив следующую команду, которая не будет меняться: Add-DnsServerQueryResolutionPolicy -Name "BlockListPolicyQType" -Action IGNORE -QType "EQ, ANY" -PassThru

Как изменить вызов поиска в Java, чтобы не отправлять запрос ЛЮБОГО типа на этот DNS, что приводит к поиску отказ. Любая помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...