С общедоступного DNS-сервера невозможно извлечь все данные, которые на нем хранятся. Перечисление всех IP-адресов по одному - единственное решение.
Если у вас есть особые отношения с DNS-сервером (например, он управляется вашим работодателем), вы можете запросить у администратора DNS право передать всю зону (DNS-запрос, известный как AXFR). Они могут авторизовать ваш IP-адрес или дать вам ключ TSIG для аутентификации.
Затем вам нужно будет найти способ сделать зонную передачу (возможно, с аутентификацией TSIG) в Java. Используя эти ключевые слова, я нахожу некоторый код и документацию . Используйте поисковую систему кода, например Поиск кода Google или Krugle , чтобы найти примеры использования.
[Эксперты DNS, вероятно, будут кричать «Использовать прогулки по зонам в NSEC», но большинство зон DNS не подписаны NSEC.]