DNS: Mencari Alamat


DNS query ke name resolver dilakukan dengan mengirim packet UDP melalui port standard 53. Berikut ini adalah contoh isi query DNS:

a9 b2 01 00 00 01 00 00 - 00 00 00 0a 64 65 76 65
6c 6f 70 65 72 73 03 73 - 75 6e 03 63 6f 6d 00 00
01 00 01

Dua byte pertama adalah header ID yang bernilai 0xa9b2. Setelah itu adalah dua byte yang berisi flag, yaitu 0x0100. Jika diubah ke dalam bentuk binary, 0x0100 akan menjadi = 0000 0001 0000 0000. Bit pertama, berisi nilai 0, menunjukkan kalau ini adalah query. Bit ini akan bernilai 1 jika packet ini adalah DNS response. Empat bit berikutnya, 0000, menunjukkan ini adalah standard query (nilai 1 untuk inverse query dan 2 untuk server status request). Bit berikutnya secara berurutan menunjukkan nilai flag AA, TC (Truncation), RD (Recursion Desired), RA (Recursion Available), 3 reserved bit yang tidak dipakai, dan 4 bit yang menunjukkan RCODE. Nilai 0 untuk RCODE menunjukkan tidak terjadi kesalahan.

Dua byte berikutnya menujukkan jumlah “pertanyaan” atau alamat yang akan dicari. Nilainya pada contoh diatas adalah 1. Dua byte berikutnya menunjukkan jumlah “jawaban” yang dikirim. Karena ini adalah packet untuk meminta alamat, bukan menjawab, maka nilainya adalah 0. Dua byte berikutnya adalah menunjukkan jumlah server resource records dan dua byte berikutnya menunjukkan jumlah additional resource records. Kedua nilai tersebut umumnya dipakai pada response.

Dua belas byte pertama di atas merupakan bagian dari header. Setelah header, terdapat bagian yang berisi data. Untuk contoh query di atas, bagian ini berisi alamat yang akan dicari. Pada contoh di atas, alamat yang dicari adalah:

0a = 10 desimal
64 65 76 65 6c 6f 70 65 72 73 = developers

03 = 3 desimal
73 75 6e = sun

03 = 3 desimal
63 6f 6d = com

00

Setiap bagian dari nama diawali dengan sebuah byte yang menunjukkan jumlah karakter untuk bagian tersebut. Nama yang akan dicari diakhir dengan byte 00. Pada contoh di atas, nama terdiri atas tiga bagian, yaitu “developers“, “sun” dan “com“, yang jika digabungkan akan menjadi “developers.sun.com

Dua byte berikutnya berisi informasi Query Type. Pada contoh, nilainya adalah 0x0001 yang menunjukkan ini adalah query untuk network address (contoh query lain misalnya query email, dsb). Setelah itu terdapat dua byte yang menunjukkan class, yang nilainya adalah 0x0001 (internet).

Format packet yang berisi respon DNS tidak jauh berbeda dengan query DNS. Pada bagian answers, respon DNS memiliki tiga field tambahan, yaitu empat byte TTL, dua byte data length, dan data (misalnya, IP address yang untuk alamat yang dicari). Selain itu, setelah bagian answer, terdapat banyak bagian authorative nameservers dan additional records. Kedua bagian tersebut memiliki format yang sama seperti bagian answer.

Perihal Solid Snake
I'm nothing...

2 Responses to DNS: Mencari Alamat

  1. Fairy mengatakan:

    I want to ask something….Can u give the step in developing with hibernate in eclipse editor?;)

  2. cutez mengatakan:

    DNS: Mencari Alamat

    Maksudnya apa sh ini???
    Coding ni di lakukan di java dg editor eclipse??
    Proses awal ny ni gmn?

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: