Explorasi DNS

Tulisan kali ini masih berbau networking. Sebenarnya saya malas menulis tentang IT, tapi baiklah kalau memaksa…
Kali ini saya akan menyelesaikan dua buah permasalahan yang diberikan kepada saya, antara lain:

1. Anda diminta untuk mencari pemilik dari domain detik.com melalui whois. (Sebagai tambahan, Anda bisa melihat apakah name server-nya sama dengan yang ada jika di-query dengan nslookup.
2. Berapa banyak domain tingkat 4 (4th level domain) di itb.ac.id dan buat daftarnya. (Yang perlu Anda cari hanya yang *.itb.ac.id.) Tools apa yang Anda gunakan?

Soal yang pertama dapat saya selesaikan dengan membuka alamat web site http://who.is/dns/, yaitu service program whois pada web, dan mengekseekusinya di sana. Saya memilih menggunakan whois pada web site karena hasilnya lebih baik daripada terminal unix untuk ditampilkan. Berikut hasil yang diberikan oleh web site tersebut setelah saya memasukan detik.com sebagai query:

penjelasan singkat: WHOIS (who is) is the aptly named Internet function that allows one to query remote WHOIS databases for domain registration information.

Didapatlah nama pemilik:
Siberkom, PT. Agranet Multicitra
Aldevco Octagon Building lt 2
Jl. Warung Buncit Raya 75
Jakarta, DKI Jakarta 12740
IN

Kemudian saya mencocokan hasil yang didapat dari whois dengan program nslookup di sistem unix. Didapatlah dua buah alamat IP, 203.190.242.69 dan 203.190.241.43.

Dapat disimpulkan bahwa query yang dilakukan dengan whois dan nslookup menghasilkan hasil yang sama. Selamat untukku..😀

Untuk soal yang kedua, saya harus sedikit memrogram sebuah script sederhana. Yang dimaksud dengan domain 4th level adalah domain yang bertingkat hingga 4 level, blalba.itb.ac.id, atau *.itb.ac.id, atau domain program studi saya, if.itb.ac.id. Pokoknya domain – domain tersebut berada di bawah itb.ac.id.
Untuk mengerjakan soal ini, saya membuka terminal Linux Ubuntu 8.04 versi remastering, OSGX dan Fedora, karena putty tak bisa diandalkan. Berikut adalah visualisasinya:

command yang diketikan:

Menghasilkan:

penjelasan singkat: perintah host -l itb.ac.id akan menampilkan semua record yang merupakan zone di bawah itb.ac.id.

Dapat dilihat pada baris pertama, saya menuliskan hasil proses tersebut ke dalam file zone_itbacid.txt. Dan pada baris kedua, perintah untuk menampilkan seluruh domain di bawah itb.ac.id. Indikasi banyaknya hasil yang didapat adalah letak scroll terminal (hehe). Oleh karena itu, untuk memastikan domain yang ditampilkan tidak berulang, agar kita dapat menghitungnya, maka saya membuat sebuah script sederhana dalam bahasa java. Awalnya saya ingin menggunakan bahasa C, tetapi 5 jam tidak selesai – selesai, akhirnya saya memutuskan untuk mengorbankan idealisme saya dengan menggunakan bahasa java (hehe). Tapi yang pasti, say no to C#

Berikut potongan script utama program. Agak ngasal tapi efektif yang telah saya buat:


public void printDnsZone() {
File file = new File("C:\\Documents and Settings\\Admin\\Desktop\\zone_itbacid.txt"); //file yang akan dibaca. File berisi daftar semua domain di itb.ac.id
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException ex) {
Logger.getLogger(DnsSearcher.class.getName()).log(Level.SEVERE, null, ex);
}
String line = null;
try {
while ((line = reader.readLine()) != null) {
String[] token = line.split(" ");
if((!nameInZone.contains(token[0])) && is4thLevelDomain(token[0])) { //string domain dimasukan ke dalam list apabila belum ada di dalam list.
nameInZone.add(token[0].trim());
}
}
int i = 0;
while (i < nameInZone.size()) {
System.out.println(nameInZone.get(i));
++i;
}
System.out.println("\n jumlah domain level 4: "+nameInZone.size());
} catch (IOException ex) {
Logger.getLogger(DnsSearcher.class.getName()).log(Level.SEVERE, null, ex);
}
}

code lengkapnya: https://salmanmenulis.wordpress.com/2010/03/01/jika-ada-yang-perlu-d/

Saya tidak akan menjelaskan panjang lebar code di atas.
Intinya dari code fungsi di atas adalah menerima masukan file yang berisi list seluruh domain yang ada di bawah itb.ac.id (dari yang level 4 maupun yang bukan), kemudian hanya mengambil nama domain saja, kemudian menuliskannya yang level 4 saja tanpa berulang, lalu menghitng jumlahnya. Kurang lebih begitulah…

Setelah program yang saya buat dijalankan, didapatlah daftar nama domain level 4 saja dan jumlah keseluruhannya. Berikut gambar yang didapat:

Tidak semua nama domain dapat diperlihatkan. Tapi kurang lebih begitulah, dan dapat kita lihat jumlah yang didapat, yaitu 487. Jumlah domain level 4 di itb berjumlah 487 buah. thats all folks..