Anda di halaman 1dari 6

BAB 2

HYPERTEXT TRANSFER PROTOCOL

TUJUAN PRATIKUM
Setelah melakukan percobaan pada bab awal untuk mengenal bagaimana menggunakan perangkat
lunak packet sniffer Wireshark, kita akan melanjutkan pemanfaatan Wireshark untuk menyelidiki
protokol-protokol dalam jaringan. Pada percobaan kali ini, kita akan melakukan eksplorasi terhadap
beberapa aspek pada Hypertext Transmission Protocol (HTTP), yaitu:
1. Interaksi GET/response dasar
2. Format pesan-pesan HTTP
3. Pengambilan file-file HTTP berukuran besar
4. Pengambilan file HTTP dengan embedded objects
5. Autentikasi dan keamanan HTTP

KEBUTUHAN
Untuk dapat mengerjakan modul ini, Anda memerlukan :
1. Komputer yang terkoneksi ke internet. Pastikan komputer yang anda gunakan terhubung ke
jaringan internet sebelum memulai kegiatan praktikum. Silahkan hubungi asistem praktikum
atau laboran bila anda mengalami kesulitan dalam menghubungkan komputer anda ke
jaringan internet.
2. Aplikasi Wireshark
3. Text Editor

2.1. Interaksi GET/response dasar


2.1.1 Langkah Percobaan
Eksplorasi HTTP dimulai dengan mengunduh (download) sebuah file HTML pendek
yang sederhana, yang tidak mengandung embedded object sama sekali. Lakukanlah
prosedur percobaan berikut ini:
1. Buka aplikasi web browser.
2. Jalankan aplikasi Wireshark, lalu masukkan teks http pada window display-filter-
specification.
3. Tunggu sejenak hingga kira-kira lebih dari satu menit, kemudian mulailah menjalankan
packet capturing.
4. Masukkan alamat berikut ini ke dalam address bar browser Anda:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html
Maka browser akan menampilkan sebuah file HTML berisikan sebaris teks yang
sederhana.
5. Hentikan packet capturing pada Wireshark.
Window Wireshark Anda akan menunjukkan tampilan yang serupa dengan Gambar 2.1.
Contoh pada Gambar 2.1 menunjukkan pada packet-listing window bahwa ada dua
pesan HTTP yang telah ditangkap (captured): pesan GET (dari browser Anda ke server
gaia.cs.umass.edu) dan pesan response dari server tersebut ke browser Anda. Window
packet-contents menunjukkan detail isi pesan yang dipilih (dalam hal ini pesan HTTP OK,
yang di-highlight pada window packet-listing).
Karena pesan HTTP ditampung di dalam segment TCP, yang ditampung di dalam
datagram IP, yang ditampung di dalam frame Ethernet, maka Wireshark juga menampilkan
informasi paket Frame, Ethernet, IP, dan TCP. Kita membatasi lingkup percobaan ini hanya
pada protokol HTTP saja, maka data non-HTTP tidak perlu ditampilkan dahulu. Pastikan
kotak kecil di sebelah kiri informasi HTTP menampilkan simbol minus (-) atau simbol
segitiga yang menunjuk ke bawah, menandakan bahwa informasi HTTP yang ditampilkan.
Pastikan pula bahwa kotak kecil di sebelah kiri informasi Frame, Ethernet, IP dan TCP
menampilkan simbol plus (+) atau simbol segitiga yang menunjuk ke arah kanan, yang
berarti bahwa informasi mereka disembunyikan.

Gambar 2.1 Tampilan Wireshark setelah http://gaia.cs.umass.edu/


wiresharklabs/HTTP-wireshark-file1.html didapatkan oleh browser

2.1.2 Pertanyaan
Dengan melihat pada informasi pada pesan-pesan HTTP GET dan HTTP response,
jawablah soal-soal berikut. Ketika menjawab, cetaklah pesan-pesan HTTP GET dan HTTP
response dan berilah tanda pada bagian mana di dalam pesan tersebut yang menjadi dasar atas
jawaban Anda.
1. Versi HTTP manakah yang dijalankan oleh Browser Anda, HTTP versi 1.0 atau 1.1?
Versi manakah yang dijalankan oleh server?
2. Bahasa apakah (jika ada) yang dapat diterima oleh browser anda dari server?
3. Sebutkanlah alamat IP komputer anda dan alamat IP server gaia.cs.umass.edu !
4. Kode status apakah yang dikirimkan kembali dari server ke browser?
5. Tinjau kembali file HTML yang telah didapatkan oleh browser. Kapankah file tersebut
terakhir dimodifikasi pada server?
6. Berapa byte ukuran isi (content) yang didapatkan oleh browser?
7. Periksalah data mentah (raw) di dalam window packet content. Apakah di dalamnya Anda
jumpai data yang tidak ditampilkan pada window packet content? Jika ya, sebutkan.

2.2. Interaksi HTTP CONDITIONAL GET/response


2.2.1 Langkah Percobaan
Kebanyakan web browser melakukan object caching, sehingga menerapkan
Conditional GET saat mengambil HTTP object. Pastikan dahulu bahwa cache pada browser
Anda dalam keadaan kosong, kemudian kerjakanlah langkah-langkah berikut ini:
1. Buka aplikasi web browser.
2. Jalankan aplikasi Wireshark.
3. Masukkan alamat berikut ini ke dalam address bar browser Anda:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html
Maka browser akan menampilkan sebuah file HTML berisikan lima baris teks yang
sederhana.
4. Segera masukkan kembali alamat yang sama seperti di atas ke dalam address bar
browser Anda (atau bisa juga tekan tombol Reload/Refresh/F5).
5. Hentikan packet capturing pada Wireshark. Lalu masukkan teks http pada window
display-filter-specification.

2.2.2 Pertanyaan
1. Periksalah isi request pertama HTTP GET dari browser Anda menuju ke server. Adakah
baris “IF-MODIFIED-SINCE” di dalamnya?
2. Periksalah isi response dari server. Apakah server secara eksplisit memberikan isi file?
Jelaskan alasan yang mendasari jawaban Anda.
3. Sekarang periksalah isi request kedua HTTP GET dari browser Anda menuju ke server.
Adakah baris “IF-MODIFIED-SINCE” di dalamnya? Jika ya, informasi apakah yang ada
setelah header IF-MODIFIED-SINCE?
4. Bagaimanakah kode status HTTP dan frasa yang dikirimkan oleh server sebagai response
terhadap HTTP GET kedua tersebut? Apakah server secara eksplisit memberikan isi file?
Jelaskan alasan yang mendasari jawaban Anda.

2.3. Pengambilan file-file HTTP berukuran besar


2.3.1 Langkah Percobaan
Pada prosedur-prosedur sebelumnya, kita telah melakukan pengambilan dokumen-
dokumen HTML yang pendek. Berikut ini kita akan mencoba pengambilan file HTML yang
berukuran lebih besar. Lakukanlah prosedur percobaan berikut ini:
1. Buka aplikasi web browser. Pastikan bahwa cache pada browser Anda dalam keadaan
kosong.
2. Jalankan aplikasi Wireshark.
3. Masukkan alamat berikut ini ke dalam address bar browser Anda:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html
Maka browser akan menampilkan sebuah file HTML berisikan dokumen yang panjang.
4. Hentikan packet capturing pada Wireshark. Lalu masukkan teks http pada window
display-filter-specification.
Di window packet-listing, Anda akan dapat melihat pesan HTTP GET, yang diikuti
oleh beberapa paket TCP Response sebagai tanggapan terhadap HTTP GET Request dari
browser. Jika Anda perhatikan, isi file HTTP-wireshark-file3.html tersebut terbilang
panjang. Ukuran file 4500 byte terlalu besar untuk dimuat ke dalam satu buah paket TCP.
Maka pesan HTTP Response tersebut dipecah menjadi beberapa bagian oleh TCP, dengan
masing-masing bagian ditampung di dalam segment TCP yang terpisah. Pada aplikasi
Wireshark versi terkini, Wireshark mengindikasikan setiap segment TCP sebagai paket
terpisah. Kolom “Info” pada tampilan Wireshark akan menunjukkan keterangan “TCP
segment of a reassembled PDU”, yang berarti bahwa satu HTTP Response telah dipecah-
pecah menjadi beberapa paket TCP. Versi Wireshark terdahulu menggunakan frasa
“Continuation” untuk menunjukkan bahwa isi pesan HTTP dipecah menjadi beberapa
segment TCP. Di HTTP, tidak ada pesan “Continuation”.
2.3.2 Pertanyaan
1. Ada berapa pesan HTTP GET Request yang dikirimkan oleh browser Anda? Paket
nomor berapakah di dalam hasil tangkapan Wireshark yang mengandung pesan GET
untuk dokumen Bill of Rights?
2. Paket nomor berapakah di dalam hasil tangkapan Wireshark yang mengandung kode
status dan frasa yang berhubungan dengan response terhadap HTTP GET Request dari
browser?
3. Bagaimanakah kode status dan frasa yang terdapat di dalam response tersebut?
4. Ada berapakah jumlah segment TCP yang diperlukan untuk menampung keseluruhan
HTTP Response dan dokumen Bill of Rights tersebut?

2.4. Dokumen HTTP dengan Embedded Objects


2.4.1 Langkah Percobaan
Apakah yang terjadi pada saat browser men-download sebuah file yang mengandung
embedded objects (menyertakan obyek lain –file gambar, file audio, file video, dll.– yang
tersimpan di server lain)? Untuk dapat mengetahuinya, lakukanlah prosedur percobaan
berikut ini:
1. Buka aplikasi web browser. Pastikan bahwa cache pada browser Anda dalam keadaan
kosong.
2. Jalankan aplikasi Wireshark.
3. Masukkan alamat berikut ini ke dalam address bar browser Anda:
http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html
Maka browser akan menampilkan sebuah file HTML pendek berisikan dua buah
gambar. Perlu diketahui bahwa gambar-gambar tersebut tidak ditampung di dalam file
HTTP-wireshark-file4.html, melainkan hanya dirujuk saja alamat tempat mereka
tersimpan (di server lain).
4. Hentikan packet capturing pada Wireshark. Lalu masukkan teks http pada window
display-filter-specification.

2.4.2 Pertanyaan
1. Ada berapa pesan HTTP GET Request yang dikirimkan oleh browser Anda? Kepada
alamat IP mana sajakah request tersebut dikirimkan?
2. Dapatkah Anda mengetahui apakah dua file gambar tersebut di-download oleh browser
secara berturut-turut atau secara paralel? Jelaskan jawaban Anda.
2.5. Autentikasi HTTP
2.5.1 Langkah Percobaan
Pada bagian ini kita akan mengunjungi situs web yang dilindungi dengan password,
dan mempelajari urutan pesan HTTP yang dipertukarkan pada saat situs tersebut dikunjungi.
Alamat URL http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html dilindungi
dengan username dan password sebagai berikut:
Username : wireshark-students
Password : network
Lakukan prosedur percobaan berikut ini:
1. Buka aplikasi web browser. Pastikan bahwa cache pada browser Anda dalam keadaan
kosong.
2. Jalankan aplikasi Wireshark.
3. Masukkan alamat berikut ini ke dalam address bar browser Anda:
http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
pada kotak pop-up, masukkan username dan password seperti telah tertulis di atas.
4. Hentikan packet capturing pada Wireshark. Lalu masukkan teks http pada window
display-filter-specification.
Materi sederhana mengenai “HTTP Access Authentication Framework” dapat pula
Anda pelajari di alamat http://frontier.userland.com/stories/storyReader$2159.

4.5.2 Pertanyaan
1. Apakah (kode status dan frasa) yang muncul pada response dari server terhadap pesan
HTTP GET awal dari browser?
2. Ketika browser mengirimkan pesan HTTP GET untuk kali kedua, field baru apakah
yang disertakan di dalam pesan HTTP GET tersebut?
Username (wireshark-students) dan password (network) yang Anda masukkan di-
encode dalam sebaris karakter yang tertulis setelah header “Authorization: Basic” di dalam
pesan HTTP GET dari browser. Meski tampilan sebaris karakter tersebut mengesankan
seolah username dan password Anda terenkripsi, tetapi sebenarnya tidak. Username dan
password tersebut hanya ter-encode dalam format yang disebut Base64. Decoder Base64
yang tersedia secara online dapat dengan mudah melakukan decode pada pesan ter-encode
tersebut, mengembalikannya menjadi bentuk asli. Maka, penggunaan username dan
password yang sederhana seperti ini tidaklah cukup untuk mengamankan situs web dari
pihak yang tidak berhak.

Anda mungkin juga menyukai