Home / Programmazione / Java / Recuperare il nome del server in Java e Linux
Mattepuffo

Recuperare il nome del server in Java e Linux

Recuperare il nome del server in Java e Linux

Oggi vediamo un semplice metodo per recuperare il nome del server su cui risiede un dominio usando:

  • Java
  • Linux
  • il comando dig

In pratica, attraverso dig, interrogheremo i DNS per recuperare i nameservers.

Useremo la classe Runtime, quindi è possibile trasportare il tutto su Windows facendo attenzione a cambiare il comando.

Il comando che invieremo sarà questo:

dig +short NS mattepuffo.com

Provatelo anche da terminale per capire cosa fa.

Questa, invece, la classe:

public class NameServer {

    public String init(String cmd) {
        StringBuilder sb = new StringBuilder();
        BufferedReader reader = null;
        Process p;
        try {
            p = Runtime.getRuntime().exec(cmd);
            p.waitFor();
            reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = "";
            while ((line = reader.readLine()) != null) {
                sb.append(line).append("n");
            }
        } catch (IOException | InterruptedException e) {
            System.out.println(e.getMessage());
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
        return sb.toString();
    }
}

Da richiamare così:

public class Main {

    public static void main(String[] args) {
        NameServer ns = new NameServer();
        String res = ns.init("dig +short NS mattepuffo.com");
        System.out.println(res);
    }
}

Questo il risultato:

dns2.technorail.com.
dns.technorail.com.
dns3.arubadns.net.
dns4.arubadns.cz.

Enjoy!