Memahami HTTP dan DNS dengan Wireshark
Memahami HTTP dan DNS dengan Wireshark: Panduan Praktis untuk Pemula
Dalam dunia jaringan komputer dan pengembangan web, HTTP (Hypertext Transfer Protocol) dan DNS (Domain Name System) adalah dua protokol yang sangat penting. HTTP memungkinkan komunikasi antara browser dan server untuk mengakses halaman web, sementara DNS berfungsi untuk mengonversi nama domain menjadi alamat IP yang diperlukan untuk menghubungkan ke situs web. Artikel ini akan membahas bagaimana cara mempelajari kedua protokol tersebut dengan menggunakan Wireshark, sebuah alat analisis jaringan yang powerful, dan nslookup, alat yang digunakan untuk mendapatkan informasi DNS.
Bagian 1: Memahami HTTP dengan Wireshark
Apa Itu HTTP?
HTTP adalah protokol komunikasi yang digunakan untuk meminta dan mengirimkan data antara browser (klien) dan server. Ketika kamu mengetikkan sebuah URL di browser, browser mengirimkan permintaan HTTP ke server dan server merespons dengan data yang diminta (misalnya halaman HTML). Dalam HTTP, salah satu metode permintaan yang paling umum adalah GET.
Latihan 1: HTTP GET/Response Interaction (Interaksi Dasar GET/Response)
Pada latihan pertama, kita akan memahami cara kerja protokol HTTP dengan menganalisis interaksi GET dan response menggunakan Wireshark.
Langkah-Langkah:
Menyiapkan Wireshark:
Install Wireshark dan pilih antarmuka jaringan aktif untuk menangkap paket HTTP.Menyaring Paket HTTP:
Gunakan filterhttpdi Wireshark untuk hanya menangkap paket HTTP yang dikirim dan diterima antara browser dan server.Mengakses Halaman Web Sederhana:
Akses URLhttp://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html, yang hanya berisi halaman HTML sederhana. Wireshark akan menangkap permintaan GET dan respons HTTP 200 OK yang dikirim antara browser dan server.Menganalisis Paket di Wireshark:
Amati paket-paket yang ditangkap di Wireshark, termasuk permintaan GET dari browser dan respons HTTP 200 OK dari server.
Penjelasan:
- HTTP GET adalah jenis permintaan yang digunakan untuk meminta data dari server. Pada permintaan ini, browser mengirimkan informasi tentang URL yang diminta dan server merespons dengan status HTTP 200 OK, yang menandakan bahwa permintaan berhasil diproses dan data (seperti file HTML) dikirimkan kembali.
Latihan 2: HTTP Conditional GET/Response Interaction (Interaksi GET Bersyarat)
Pada latihan kedua ini, kita akan mempelajari bagaimana cache di browser bekerja dan bagaimana permintaan GET bersyarat dilakukan.
Langkah-Langkah:
Kosongkan Cache Browser:
Kosongkan cache browser untuk memastikan bahwa permintaan GET baru akan dikirim ke server.Menyiapkan Wireshark:
Pastikan Wireshark disiapkan untuk menangkap paket HTTP.Akses Halaman Web dengan Refresh:
Masukkan URLhttp://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.htmldan setelah halaman pertama terbuka, tekan tombol refresh untuk menguji GET bersyarat.Amati Paket di Wireshark:
Amati bagaimana permintaan kedua dari browser mengirimkan header If-Modified-Since, yang memberitahukan server untuk hanya mengirimkan data jika ada perubahan.
Penjelasan:
- GET bersyarat digunakan untuk memanfaatkan cache browser. Jika file yang diminta belum berubah sejak terakhir kali diunduh, server akan mengirimkan respons yang mengatakan bahwa file tersebut tidak perlu diunduh lagi.
Latihan 3: Retrieving Long Documents (Mengambil Dokumen Panjang)
Pada latihan ketiga, kita akan mempelajari bagaimana dokumen panjang (misalnya file HTML yang besar) diunduh melalui HTTP dan bagaimana data tersebut dibagi dalam beberapa paket TCP.
Langkah-Langkah:
Kosongkan Cache dan Menyiapkan Wireshark:
Pastikan cache browser kosong dan Wireshark siap untuk menangkap paket.Mengakses Halaman Web Panjang:
Akses URLhttp://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html, yang berisi teks panjang seperti Bill of Rights.Amati Paket di Wireshark:
Amati bagaimana file besar ini dibagi menjadi beberapa segmen TCP, masing-masing berisi bagian dari file HTML.
Penjelasan:
- Wireshark akan menampilkan bagaimana sebuah dokumen yang lebih besar dari ukuran paket TCP standar akan dibagi menjadi beberapa paket yang dikirim terpisah dan kemudian disusun kembali di sisi penerima. Ini adalah cara HTTP menangani pengiriman data yang lebih besar dari satu paket.
Latihan 4: HTML Documents with Embedded Objects (Dokumen HTML dengan Objek Disematkan)
Pada latihan ini, kita akan mempelajari bagaimana objek yang disematkan dalam halaman HTML (seperti gambar) diambil dari server lain.
Langkah-Langkah:
Kosongkan Cache dan Menyiapkan Wireshark:
Kosongkan cache dan mulai pengambilan paket di Wireshark.Akses Halaman Web dengan Objek Disematkan:
Akses URLhttp://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html, yang berisi gambar-gambar yang diambil dari server lain.Amati Paket di Wireshark:
Perhatikan bagaimana browser mengunduh gambar-gambar ini setelah mengunduh file HTML.
Penjelasan:
- Dalam kasus ini, objek seperti gambar disematkan dalam dokumen HTML tetapi sebenarnya disimpan di server yang berbeda. Wireshark menangkap paket HTTP terpisah yang digunakan untuk mengambil objek ini dari server lain.
Latihan 5: HTTP Authentication (Autentikasi HTTP)
Pada latihan terakhir, kita akan mempelajari bagaimana autentikasi dilakukan dalam HTTP menggunakan nama pengguna dan kata sandi.
Langkah-Langkah:
Akses Halaman yang Dilindungi Kata Sandi:
Akses URL yang dilindungi kata sandi:http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.htmldan masukkan usernamewireshark-studentsserta passwordnetwork.Amati Paket di Wireshark:
Lihat bagaimana kredensial dikirim dalam header Authorization menggunakan format Base64.
Penjelasan:
- Autentikasi HTTP menggunakan header
Authorizationuntuk mengirimkan username dan password. Meskipun data ini tampaknya terenkripsi, sebenarnya hanya di-encode dengan Base64, yang bisa dengan mudah didekodekan.
Bagian 2: Memahami DNS dengan Wireshark dan nslookup
Apa Itu DNS?
DNS (Domain Name System) adalah sistem yang digunakan untuk mengonversi nama domain (seperti www.mit.edu) menjadi alamat IP yang dapat dipahami oleh perangkat komputer. Saat kita mengetikkan URL di browser, DNS bertanggung jawab untuk mencari alamat IP yang sesuai.
Latihan 1: Menganalisis DNS dengan Wireshark
Tujuan Latihan:
Memahami cara kerja DNS dan menganalisis permintaan serta respons DNS menggunakan Wireshark.
Langkah-Langkah:
Kosongkan Cache DNS:
Gunakan perintahipconfig /flushdns(Windows) atausudo systemctl restart systemd-resolved(Linux/macOS).Setel Filter Wireshark untuk DNS:
Gunakan filterdnsdi Wireshark untuk hanya menangkap paket DNS.Gunakan
nslookup:
Jalankan perintahnslookup www.mit.eduuntuk mendapatkan alamat IP dariwww.mit.edu.Amati Paket di Wireshark:
Lihat bagaimana permintaan dan balasan DNS dikirim dan diterima.
Penjelasan:
- DNS adalah sistem yang memungkinkan kita untuk mengakses website menggunakan nama domain alih-alih alamat IP. Wireshark memungkinkan kita untuk menangkap dan menganalisis paket DNS yang dikirim selama pencarian alamat IP.
Latihan 2: Menggunakan nslookup untuk Memeriksa DNS
Tujuan Latihan:
Menggunakan nslookup untuk memeriksa server DNS otoritatif dan mendapatkan informasi lebih lanjut.
Langkah-Langkah:
Gunakan
nslookupuntuk Mengetahui Server DNS Otoritatif:
Jalankan perintahnslookup -type=NS mit.eduuntuk mendapatkan daftar server DNS otoritatif untuk domainmit.edu.Amati Hasil di Wireshark:
Bandingkan hasil nslookup dengan data yang ditangkap di Wireshark.
Penjelasan:
- nslookup adalah alat untuk melakukan pencarian DNS secara manual dan mendapatkan informasi tentang server DNS yang bertanggung jawab atas sebuah domain.
Kesimpulan:
Melalui artikel ini, kita telah mempelajari dua protokol yang sangat penting di dunia internet: HTTP dan DNS. Dengan menggunakan alat seperti Wireshark dan nslookup, kita dapat menganalisis cara kerja kedua protokol ini secara langsung dan memahami bagaimana data dikirimkan melalui jaringan. Latihan-latihan yang telah dibahas membantu kamu untuk lebih memahami proses yang terjadi di belakang layar saat kamu mengakses situs web atau menggunakan layanan internet lainnya.
0 Comments