Program DNS Lookup Di Bahasa Java

Program DNS Lookup Di Bahasa Java – Hallo sobat kopi coding, pada postingan kali ini kita akan mempelajari bagaimana cara membuat program DNS Lookup untuk menampilkan DNS Record dari sebuah domain di bahasa pemograman Java.

Program DNS Lookup Di Bahasa Java
Program DNS Lookup Di Bahasa Java

DNS merupakan kepanjangan dari Domain Name System yang merupakan sebuah service yang dapat menerjemahkan nama domain atau host ke alamat IP. Misalnya, pada address bar browser kita tulis facebook.com, komputer kita langsung menghubungi DNS Server, dan DNS Server akan menjawab dengan alamat ip yang berupa numerik, sehingga komputer kita dapat terhubung. Jadi DNS Lookup berfungsi untuk menampilkan informasi IP Address dari sebuah domain yang didapat dari DNS Server.

Yuk langsung saja kita lihat source code dan penjelasan program DNS Lookup untuk menampilkan DNS Record di bahasa pemograman java.

Program DNS Lookup Di Bahasa Java

Source Code :

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Scanner;
import javax.naming.directory.Attributes;
import javax.naming.directory.InitialDirContext;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;

public class DNSLookup
{
  public static void main(String args[]) {

      InetAddress inetAddress;
      Scanner sc = new Scanner(System.in);
      System.out.print("Masukkan Domain: ");
      String domain = sc.nextLine();

      try {
        if (Character.isDigit(domain.charAt(0))) {

          byte[] b = new byte[4];
          String[] bytes = domain.split("[.]");
          for (int i = 0; i < bytes.length; i++) {
            b[i] = new Integer(bytes[i]).byteValue();
          }

          inetAddress = InetAddress.getByAddress(b);
        } else {
          inetAddress = InetAddress.getByName(domain);
        }

        System.out.println("===============================");
        System.out.println(inetAddress.getHostName() + "/" + inetAddress.getHostAddress());

        InitialDirContext iDirC = new InitialDirContext();

        Attributes attributes = iDirC.getAttributes("dns:/" + inetAddress.getHostName());

        NamingEnumeration attributeEnumeration = attributes.getAll();
        System.out.println("\nInformasi DNS:");

        while (attributeEnumeration.hasMore()) {
          System.out.println("\n" + attributeEnumeration.next());
        }
        
        attributeEnumeration.close();
    }
    catch (UnknownHostException exception) {
      System.err.println("error: Domain tidak diketahui '" + domain + "'");
    }
    catch (NamingException exception) {
      System.err.println("error: Tidak ada Record DNS di Domain '" + domain + "'");
    }
  }
}

 

Simpan source code dengan nama DNSLookup.java, tetapi sesuaikan aja dengan nama file yang dinginkan dan jangan lupa harus berektensi .java

Penjelasan :

Berikut adalah penjelasan source code program setiap barisnya :

  • Baris 1-7 : import library yang dibutuhkan pada program.
  • Baris 9 : Membuat class dengan nama DNSLookup.
  • Baris 13 : mendeklarasikan variable ineAddress yang bertipe InetAddress.
  • Baris 14 : mendeklarasikan variable sc untuk fungsi input.
  • Baris 15-16 : mendeklarasikan variable domain yang diisikan dari input user.
  • Baris 19 : Cek kondisi jika inputan berupa alamat IP.
  • Baris 21-25 : mengkonversi alamat IP dari representasi string ke byte array.
  • Baris 27 : memasukkan hasil konversi alamat IP ke variable inetAddress.
  • Baris 28-29 : memasukkan domain ke variable inetAddress jika bukan IP address.
  • Baris 32-33 : menampilkan domain dan IP address.
  • Baris 35-46 : Menampilkan informasik DNS Record.
  • Baris 48-50 : menampilkan error jika domain tidak diketahui.
  • Baris 51-53 : menampilkan error jika domain tidak memiliki DNS Record.

Compile & Run :

Berikut adalah cara meng-compile source code secara manual:

$ javac DNSLookup.java

$ java DNSLookup

berikut gambar hasil compile dan run source code programnya:

Gambar Hasil Program DNS Lookup di Java
Gambar Hasil Program DNS Lookup di Java

Contoh Inputan :

google.com

Contoh Keluaran :

google.com/172.217.194.100
Informasi DNS:
AAAA: 2404:6800:4003:c04::71
A: 172.217.194.100, 172.217.194.101, 172.217.194.139, 172.217.194.113, 172.217.194.138, 172.217.194.102
NS: ns1.google.com., ns2.google.com., ns3.google.com., ns4.google.com.
SOA: ns1.google.com. dns-admin.google.com. 229320172 900 900 1800 60

Kesimpulan :

Dari hasil program, source code program DNS Lookup tersebut tersebut berhasil dapat dijalankan tanpa ada error dan menampilkan DNS Record dari domain google.com.

Sekian tutorial cara membuat program DNS Lookup untuk menampilkan DNS Record dari sebuah domain di bahasa pemograman java, semoga bermanfaat.

Happy Coding 🙂

Share Post:

Add a Comment

Your email address will not be published. Required fields are marked *