Saya telah melihat representasi teks dari permintaan HTTP, tetapi seperti apa tampilan permintaan DNS? Di mana dalam data adalah lokasi URL yang Anda coba temukan? Juga, bagaimana tanggapan diformat?
32
Saya telah melihat representasi teks dari permintaan HTTP, tetapi seperti apa tampilan permintaan DNS? Di mana dalam data adalah lokasi URL yang Anda coba temukan? Juga, bagaimana tanggapan diformat?
Jawaban:
Ini adalah dump mentah dari Wireshark dari permintaan DNS.
Bagian DNS dimulai dengan 24 1a:
Dan ini adalah rinciannya:
Dan jawabannya, mulai lagi pada 24 1a:
Kerusakan:
Edit:
Perhatikan bahwa jika pertanyaan Anda sebenarnya adalah "bagaimana cara menulis server DNS?", Maka ada dua jawaban yang sesuai:
Edit (2):
Permintaan dikirim menggunakan
host
pada kotak linux:Jika Anda menggunakan Windows, Anda dapat menggunakannya
nslookup
sumber
/questions/173187/what-does-a-dns-request-look-like
termasuk dalam permintaan?Tata letak data permintaan DNS dijelaskan dalam RFC 1035 . Saya pikir itu agak sia-sia untuk menyalin teks di sini ...
sumber
Pertanyaan dan tanggapan DNS paling baik dilihat menggunakan penganalisa protokol - Wireshark adalah alat lintas platform yang baik yang dapat menangkap dan mendekonstruksi permintaan dan tanggapan ke dalam berbagai bagian mereka. Ada pengantar yang bagus untuk struktur Permintaan dan Tanggapan DNS di Firewall.cx di sini .
Permintaan DNS berisi pertanyaan yang menentukan nama (atau mungkin bidang teks yang agak arbitrer) dan tipe catatan - konten respons akan bervariasi tergantung pada jenisnya. Sebagian besar permintaan adalah pencarian langsung sederhana dari nama server yang mencari alamat ip sebagai respons (Tipe A) tetapi beberapa akan mencari informasi lebih lanjut tentang server nama itu sendiri (Tipe NS), catatan surat (Tipe MX) dan layanan lainnya (Tipe SRV yang akan mengembalikan nama, port, bobot dan prioritas). Respons DNS berisi jawaban atas pertanyaan-pertanyaan ini, mungkin lebih dari satu jika permintaan mengharuskan dan tidak selalu hanya alamat-ip.
Satu klarifikasi lain - DNS tidak menyelesaikan URL - dalam sebagian besar skenario yang melibatkan URL, DNS hanya digunakan untuk mengaktifkan sistem sisi klien untuk menemukan alamat ip bagian server dari URL, semuanya ditangani oleh protokol lain.
sumber
Jika Anda bisa masuk ke mesin Linux, Anda dapat menjalankan perintah menggali untuk melakukan pencarian DNS. Utilitas ini melakukan pencarian dan mengembalikan apa yang ditanggapi oleh server nama. Sebagai contoh:
Semuanya dimulai dengan bagian "HEADER" adalah apa yang dikembalikan dari server nama. Saya berasumsi ini adalah apa yang Anda sebut sebagai format teks karena ini bukan format paket yang sebenarnya, tetapi teks yang akan dikembalikan.
sumber