web-dev-qa-db-ja.com

JAVA

JavaでDNSサービスをいじっています-nslookupを使用してルックアップを実行するのと同様に、すべてのgoogle.comアドレスをルックアップして配列に表示しようとしています。

nslookup -q=TXT _netblocks.google.com 8.8.8.8

これにはInetAddressを使用していますが、例外エラーが発生し続けます。エラーは「不明なホスト」を参照しているため、InetAddressがTXTレコードを読み取ることができないと思います(google.comを使用している場合は機能しますが、表示されません完全なIP範囲)。以下は私のコードです。

InetAddress dnsresult[] = InetAddress.getAllByName("_netblocks.google.com");
            for (int i=0; i<dnsresult.length; i++)
            System.out.println (dnsresult[i]);

誰かが私を正しい方向に向けることができれば幸いです。

-JK

9
zJK

あなたcannotlookup TXTまたは他のDNSレコードInetAddressクラス。InetAddress.getAllByName()[〜#〜] a [〜#〜]、または[〜#〜] aaaa [〜#〜]を検索します)レコードのみ。

必要に応じて DNS Java を確認してください。

6

InetAddressはこれを行いませんが、DNS TXTレコードルックアップをJava JNDI DNSプロバイダー

4
user207421

これがあなたがやろうとしていることをする例です:

Attribute attr = new InitialDirContext().getAttributes("dns:_netblocks.google.com", new String[] {"TXT"}).get("TXT");
System.out.println("attr.get() = " + attr.get());
System.out.println("attr.getAll() = " + Collections.list(attr.getAll()));

カスタムDNSサーバーを使用する場合は、代わりに「dns://1.1/_netblocks.google.com」を使用してください。

2
user988346