MODUL PRAKTIKUM
JARINGAN KOMPUTER
TIM PENYUSUN: Dany Primanita Kartikasari, S.S., M.Kom. Mahendra Data, S.Kom., M.Kom. Rakhmadhany Primananda, S.T., M.Kom. Sabriansyah Rizqika Skbar, S.T., M.Eng. Widhi Yahya, S.Kom., M.Sc. Widhy Hayuhardhika Nugraha Putra, S.Kom., M.Kom.
JURUSAN SISTEM INFORMASI FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA 2017
KATA PENGANTAR Dengan mengucapkan syukur kepada Tuhan Yang Maha Esa, Modul Praktikum Jaringan Komputer Jurusan Sistem Informasi Fakultas Ilmu Komputer dapat terselesaikan. Modul praktikum Jaringan Komputer ini disusun sebagai bahan tambahan dan pengayaan bagi perkuliahan Jaringan komputer pada Jurusan Sistem Informasi. Modul ini disusun dengan mengadaptasi referensi suplemen pembelajaran "Wireshark Lab" yang digunakan pada perkuliahan jaringan komputer yaitu Computer Networking : A-Top Down Down Approach karya James F.Kurose dan Keith W Ross dengan harapan agar terjadi sinergi antara teori pembelajaran yang diajarkan di kelas dan praktek yang dilakukan di laboratorium. Terima kasih kepada seluruh pihak yang telah membantu dalam proses penyusunan modul praktikum ini. Tim Penulis menyadari bahwa dalam penulisan modul ini masih terdapat kekurangan sehingga saran dan kritik dari pembaca sangat diharapkan untuk perbaikan di masa yang akan datang.
Malang, September 2017
DAFTAR ISI KATA PENGANTAR................................................................................................................................... 2 DAFTAR ISI............................................................................................................................................... 3 DAFTAR GAMBAR.................................................................................................................................... 5 BAB 1
PENGANTAR JARINGAN KOMPUTER ....................................................................................... 6
1.1
Network Sniffing ..................................................................................................................... 6
1.1.1
Langkah Percobaan ......................................................................................................... 9
1.1.2
Pertanyaan .................................................................................................................... 10
1.2
End-to-End Delay Pada Jaringan Komputer .......................................................................... 10
1.2.1
Langkah Percobaan ....................................................................................................... 11
1.2.2
Pertanyaan .................................................................................................................... 11
BAB 2
HYPERTEXT TRANSFER PROTOCOL........................................................................................ 12
2.1
Interaksi GET/response dasar ............................................................................................... 12
2.1.1
Langkah Percobaan ....................................................................................................... 12
2.1.2
Pertanyaan .................................................................................................................... 13
2.2
Interaksi HTTP CONDITIONAL GET/response ........................................................................ 13
2.2.1
Langkah Percobaan ....................................................................................................... 13
2.2.2
Pertanyaan .................................................................................................................... 14
2.3
Pengambilan file-file HTTP berukuran besar ........................................................................ 14
2.3.1
Langkah Percobaan ....................................................................................................... 14
2.3.2
Pertanyaan .................................................................................................................... 14
2.4
Dokumen HTTP dengan Embedded Objects ......................................................................... 15
2.4.1
Langkah Percobaan ....................................................................................................... 15
2.4.2
Pertanyaan .................................................................................................................... 15
2.5
Autentikasi HTTP ................................................................................................................... 15
2.5.1
Langkah Percobaan ....................................................................................................... 15
2.5.2
Pertanyaan .................................................................................................................... 16
BAB 3
DOMAIN NAME SERVERS ...................................................................................................... 17
3.1
Percobaan nslookup.............................................................................................................. 17
3.2
Percobaan ipconfig ............................................................................................................... 19
3.3
Eksplorasi DNS dengan Wireshark ........................................................................................ 19
BAB 4
TRANSMISSION CONTROL PROTOCOL .................................................................................. 22
4.1 Percobaan menangkap transfer TCP dalam jumlah besar dari komputer/laptop Anda ke server 22 4.2
Percobaan melihat trace file yang ditangkap ....................................................................... 23
4.3
Dasar TCP .............................................................................................................................. 24
4.4
TCP Congestion Control ......................................................................................................... 25
BAB 5
USER DATAGRAM PROTOCOL ............................................................................................... 27
5.1
User Datagram Protocol........................................................................................................ 27
5.1.1
Langkah Percobaan ....................................................................................................... 27
5.1.2
Pertanyaan .................................................................................................................... 27
BAB 6
INTERNET PROTOCOL............................................................................................................ 29
6.1
Internet Protocol................................................................................................................... 29
6.1.1
Langkah Percobaan ....................................................................................................... 29
6.1.2
Pertanyaan .................................................................................................................... 30
6.2
Fragmentasi .......................................................................................................................... 31
6.2.1
Langkah Percobaan ....................................................................................................... 31
6.2.2
Pertanyaan .................................................................................................................... 31
BAB 7
NETWORK ADDRESS TRANSLATION ...................................................................................... 33
7.1 ..................................................................................................................................................... 33 BAB 8
INTERNET CONTROL MESSAGE PROTOCOL .......................................................................... 34
8.1 ..................................................................................................................................................... 34 DAFTAR PUSTAKA ................................................................................................................................. 35
DAFTAR GAMBAR Gambar 1.1 Struktur Packet Sniffer (Kurose & Ross, 2016) .................................................................... 7 Gambar 1.2 Tampilan Inisialisasi Wireshark ........................................................................................... 8 Gambar 1.3 Tampilan Graphical User Interface pada Wireshark ketika melakukan perekaman dan analisis paket .......................................................................................................................................... 8 Gambar 1.4 Aplikasi Tracert dan Output Tampilan Aplikasi ................................................................. 10 Gambar 2.1 Tampilan Wireshark setelah http://gaia.cs.umass.edu/wireshark-labs/HTTP-wiresharkfile1.html didapatkan oleh browser...................................................................................................... 13 Gambar 6.1. Tampilan pingplotter........................................................................................................ 30 Gambar 6.2. Tampilan wireshark .......................................................................................................... 31
BAB 1
PENGANTAR JARINGAN KOMPUTER
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 1. Mahasiswa memahami prinsip kerja dari protokol secara umum dengan menggunakan alat bantu berupa packet sniffer Wireshark untuk mendapatkan data. 2. Mahasiswa mampu memahami prinsip kerja dari packet sniffer Wireshark secara umum. 3. Mahasiswa mampu mengoperasikan fitur yang terdapat pada Wireshark dan melakukan ekstraksi paket
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
1.1 Network Sniffing Seperti yang dipelajari diperkuliahan, komunikasi antar perangkat di jaringan komputer diatur oleh protokol, yang mendefinisikan format, urutan dan langkah yang akan diambil dari sebuah pesan yang dikirim atau diterima antar perangkat jaringan. Umumnya pengguna Internet, tidak “menyadari” bahwa ketika kita membuka halaman web, mengirimkan email, chat, mengunduh file, dan lain sebagainya diatur oleh protokol-protokol sesuai dengan aplikasi yang digunakan. Ketika mempelajari jaringan komputer lebih jauh, perlu memahami bagaimana protokol jaringan komputer beraksi, dengan mengamati bentuk pesan yang dikirimkan atau diterima, urutan langkah, dan interaksi yang dilakukan antar perangkat jaringan. Untuk dapat melakukan pengamatan pada protokol jaringan diperlukan aplikasi packet sniffer seperti Wireshark. Sesuai dengan namanya, aplikasi packet sniffer akan menangkap (sniffing) pesan yang masuk ataupun keluar pada interface jaringan dari komputer, baik itu melalui kabel atau Wi-FI. Gambar 1.1, menunjukkan struktur dari packet sniffer, dimana pesan masuk/keluar yang tersebar di layer aplikasi, transport, network, link, dan physical yang ada pada jaringan komputer akan direkam oleh packet capture library yang menerima rekaman paket dari setiap frame (protokol data unit di link-layer) dan meneruskan ke packet analyzer untuk dianalisa lebih lanjut. Perlu kita ingat, packet sinffer tidak mengirimkan atau menerima paket secara langsung namun hanya menerima copy dari pesan yang keluar/masuk melalui sebuah interface komunikasi pada komputer.
Gambar 1.1 Struktur Packet Sniffer (Kurose & Ross, 2016)
Mengapa melakukan perekaman pada frame yang ada pada link-layer? Protokol yang bekerja di atas link-layer seperti HTTP, TCP, UDP, DNS, IP, dan lain sebagainya akan melalui proses enkapsulasi paket dimana pesan atau data yang ada pada protokol-protokol tersebut akhirnya akan dienkapsulasi menjadi frame yang dilakukan di link-layer. Bagian packet analyzer pada packet sinffer akan menyajikan isi atau konten pada setiap bagian dari pesan atau data yang ada pada protokol melalui frame yang direkam oleh packet capture library. Salah satu contoh, ketika terdapat pesan atau data HTTP yang diterima komputer anda, frame akan ditangkap oleh ethernet dan frame tersebut akan diterjemahkan oleh pakcet analyzer sehingga dapat diidentifikasi masing-masing bagian dari frame. Dengan teori enkapsulasi yang kita dapatkan diperkuliahan, dalam sebuah frame terdapat datagram IP, datagram IP dapat diekstrak untuk mendapatkan segmen TCP yang didapatkan, Segmen TCP dapat diekstrak kembali untuk didapatkan pesan atau data pada layer aplikasi HTTP. Packet analyzer dapat menerjemahkan setiap struktur datagram IP, segmen TCP, dan data HTTP sehingga dapat diketahui pesan-pesan yang ada di HTTP seperti method yang diberikan seperti GET, POST, ataupun HEAD. Tampilan inisialisasi Wireshark ditunjukkan pada Gambar 1.2. Pada bagian inisialisasi wireshark ditunjukkan interface jaringan aktif pada komputer dan dapat melakukan pemilihan terkait interface mana yang akan ditunjuk untuk melakukan sniffing paket. Gambar 1.2 menunjukkan terdapat satu interface aktif yaitu Wi-Fi. Gambar 1.3 menunjukkan tampilan detail dari Graphical User Interface (GUI) Wireshark ketika melakukan perekaman dan analisis paket. Pada GUI ditunjukkan terdapat bagian File dan Save untuk menyimpan hasil rekaman paket ke sebuah file. Menu capture digunakan untuk memulai perekaman paket pada sebuah interface. Bagian daftar rekaman paket menampilkan ringkasan dari paket yang direkam oleh Wireshark yang ditampilkan pada sebuah urutan nomor yang diberikan oleh aplikasi Wireshark. Bagian detail hasil seleksi paket menampilkan detail paket ketika salah satu paket dipilih pada daftar rekaman paket. Bagian isi paket dalam hexadecimal dan ASCII menunjukkan frame asli yang direkam.
Gambar 1.2 Tampilan Inisialisasi Wireshark
Gambar 1.3 Tampilan Graphical User Interface pada Wireshark ketika melakukan perekaman dan analisis paket
Untuk memudahkan pemahaman aplikasi packet sniffer Wireshark, diperlukan keterlibatan langsung mahasiswa dengan aplikasi dan melakukan uji coba dasar. Sebagai langkah awal, percobaan 1 dapat dilakukan di laboratorium atau di komputer masing-masing praktikan dengan asumsi komputer yang akan melakukan packet sniffer Wireshark terhubung dengan Internet menggunakan Wi-Fi atau Kabel.
1.1.1
Langkah Percobaan
1. Pastikan anda telah meng-install aplikasi Wireshark di masing-masing komputer anda. Perlu diketahui bersama, bahwa instalasi Wireshark membutuhkan libpcap atau Winpcap sebagai packet capture library. Pastikan library tersebut telah terinstall sebelum anda melakukan instalasi Wireshark. Pada versi 2.4.1 (Stable Version 29 Agustus 2017) instalasi libpcap atau Winpcap akan dilakukan didalam proses instalasi Wireshark. 2. Pastikan koneksi ke Internet terhubung. 3. Buka halaman Web browser dan jalankan aplikasi Wireshark. 4. Pada halaman awal Wireshark, anda akan mendapati tampilan seperti yang ad pada Gambar 1.2 dan pilih interface aktif yang ada pada komputer anda. 5. Ketika anda memilih interface aktif(yang digunakan), aplikasi Wireshark akan segera melakukan perekaman paket. 6. Ketika aplikasi Wireshark menampilkan hasil rekaman dan anda dapat memberhentikan tombol dengan menekan tombol ‘Stop’ dan pilih tombol ‘Start Capturing Packets’ dengan tampilan icon sirip hiu untuk memulai perekaman paket kembali. 7. Ketika proses perekaman paket berjalan, buka kembali web browser dan ketikkan http://filkom.ub.ac.id/ jarkom untuk mengunjungi websiste Fakultas Ilmu Komputer Universitas Brawijaya. 8. Ketika halaman http://filkom.ub.ac.id/ jarkom telah sepenuhnya ditampilkan, buka kembali Wireshark dan akan tampak hasil rekaman paket untuk setiap protokol yang digunakan komputer anda ketika melakukan akses ke website Fakultas Ilmu Komputer Universitas Brawijaya dan akan sangat banyak tampilan paket tersebut. Untuk sementara dapat disimpulkan bahwa ketika kita ‘hanya’ melakukan akses terhadap halaman web FILKOM-UB, dibelakang layar tampak berbagai macam protokol yang bekerja hanya untuk membuka sebuah halaman web. 9. Tekan tombol ‘stop’ untuk menghentikan rekaman paket. 10. Berikutnya, kita akan melakukan filter untuk menampilkan salah satu protokol yang akan kita analisis. Dalam kasus ini kita akan mencoba untuk melakukan analisis paket http. Ketikkan ‘http’ pada bagian tampilan spesifikasi filter dan tekan ‘enter’ (dilakukan tanpa menyertakan quote ‘). Langkah tersebut adalah untuk melakukan seleksi tampilan protokol hanya pada protokol http. 11. Cari pesan HTTP GET di baris paling awal dari hasil seleksi tampilan dengan filter http dan klik dua kali pada daftar rekaman paket yang menunjukkan pengiriman pesan HTTP GET. Perhatikan halaman detail paket akan menampilkan detail dari protokol. Silahkan coba untuk melakukan pengamatan dengan memberi klik tanda > di halaman detail paket untuk menampilkan keterangan protokol secara spesifik. 12. Keluar dari Wireshark
1.1.2
Pertanyaan
1. Berdasarkan hasil percobaan, tulis minimal tiga protokol yang muncul ketika anda melakukan percobaan melakukan perekaman paket dan tidak melakukan seleksi filter protokol (Pada Langkah No.8)! 2. Ketika anda melakukan filter protokol http, amati kolom IP Source dan IP destination. Berdasarkan hasil pengamatan anda, dengan protokol HTTP dengan info/pesan GET, Tuliskan alamat IP komputer anda dan alamat server dari filkom.ub.ac.id! 3. Perhatikan pesan HTTP dengan info/pesan GET, dan amati pesan selanjutnya yang mendapati terdapat paket HTTP dengan info/pesan 200 OK (text/html) yang terdapat pada baris setelah HTTP dengan info/pesan GET. Amati kolom IP source & IP destination pada protokol HTTP dengan info/pesan GET dan amati kolom IP source & IP destination pada protokol HTTP dengan info/pesan 200 OK (text/html). Berdasarkan hasil pengamatan anda, ceritakan bagaimana dasar dari sebuah protokol bekerja! 4. Perhatikan kolom Time pada pesan HTTP GET dan pesan HTTP 200 OK (text/html). Berapa selisih waktu antara pesan HTTP 200 OK (text/html). Jelaskan dengan pemikiran anda sendiri, mengapa terjadi selisih waktu antara pesan yang dikirim dan diterima pada HTTP GET dan pesan HTTP 200 OK (text/html)!
1.2 End-to-End Delay Pada Jaringan Komputer Pada perkuliahan, kita telah mempelajari konsep delay yang terdiri dari delay processing, delay queue, delay propagation, dan delay transmission. Seperti yang anda amati pada percobaan sebelumnya (percobaan 1.3) kita dapat mengamati bahwa proses pengiriman data dan penerimaan data mengalami delay end-to-end dengan menggunakan aplikasi tracert. End-to-end delay juga dapat diartikan sebagai round-trip delay, yaitu waktu tempuh dari sebuah paket ketika dikirimkan, hingga mendapatkan balasan dari host penerima.
Gambar 1.4 Aplikasi Tracert dan Output Tampilan Aplikasi
Gambar 1.4 menunjukkan ketika aplikasi tracert dengan perintah ‘tracert ub.ac.id’ pada sebuah sistem operasi Windows. Aplikasi ‘tracert’ atau ‘traceroute’ (RFC 1393) digunakan untuk melakukan pelacakan jalur yang diambil paket dari sebuah komputer menuju ke host ub.ac.id. Hasil Output dari aplikasi tersebut terdiri dari 5 kolom dimana kolom pertama adalah urutan paket yang dikirimkan pada ke setiap router yang ditempuh menuju ke host ub.ac.id. Kolom kedua, ketiga, dan keempat adalah percobaan round-trip delay selama 3 kali yang dilakukan ke setiap router yang dilalui oleh paket tersebut. Kolom terakhir menunjukkan alamat IP dari router-router yang dilewati dan host tujuat
terakhir dari aplikasi tracert. Dari hasil analisa diatas ditunjukkan bahwa dari komputer sumber yang melakukan tracert menuju ke ub.ac.id akan melewati 6 buah router dengan end-to-end delay atau round-trip delay yang ditunjukkan pada kolom kedua, ketiga, dan keempat.
1.2.1
Langkah Percobaan
1. Masuk ke dalam command prompt jika anda menggunakan sistem operasi Windows, atau shell jika anda menggunakan sistem operasi Linux/Windows. Dan jalankan ‘tracert ub.ac.id’ jika menggunakan Windows atau ‘traceroute ub.ac.id’ apabila menggunakan Unix/Linux. Tunggu hingga aplikasi selesai dijalankan. 2. Keluar dari aplikasi command prompt atau shell anda.
1.2.2
Pertanyaan
Berdasarkan hasil output dari aplikasi tracert atau traceroute yang anda lakukan catat dan laporkan hal-hal berikut: 1. 2. 3. 4.
Berapakah jumlah router yang dilewati paket menuju ke host ub.ac.id? Berapakah alamat IP host ub.ac.id? Tuliskan alamat-alamat IP router yang dilewati oleh paket menuju ke host ub.ac.id! Tuliskan nilai delay end-to-end dari masing-masing router yang dilewati oleh paket menuju ke host ub.ac.id!
BAB 2
HYPERTEXT TRANSFER PROTOCOL
TUJUAN PRAKTIKUM 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 iki 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/wireshark-labs/HTTP-wireshark-file1.html didapatkan oleh browser
2.1.2
Pertanyaan
Dengan melihat pada informasi pada pesan-pesan HTTP GET dan HTTP response, jawablah soalsoal 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). 6. Hentikan packet capturing pada Wireshark. Lalu masukkan teks http pada window displayfilter-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 displayfilter-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 HTTPwireshark-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 displayfilter-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
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/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 displayfilter-specification.
Materi sederhana mengenai “HTTP Access Authentication Framework” dapat pula Anda pelajari di alamat http://frontier.userland.com/stories/storyReader$2159.
2.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.
BAB 3
DOMAIN NAME SERVERS
TUJUAN PRAKTIKUM DNS mengambil peran penting dalam translasi hostname ke ip address dalam Internet infrastructure. Dalam percobaan kali ini, kita akan eksplorasi DNS pada bagian client. Aturan main DNS client adalah – client mengirimkan sebuah query ke local DNS server, dan menerima response dari server tersebut. Sebelum memulai praktikum, sebaiknya praktikan telah memahami konsep local DNS servers, DNS caching, DNS records andmessages, dan TYPE field pada DNS record. 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 asisten praktikum atau laboran bila Anda mengalami kesulitan dalam menghubungkan komputer Anda ke jaringan internet. 2. Aplikasi Wireshark.
3.1 Percobaan nslookup Praktikum kali ini akan digunakan tool nslookup. tool ini telah tersedia di Linux/Unix dan Microsoft platform. Untuk menjalankan nslookup di Linux, anda perlu menuliskan command pada terminal. Pada windows anda perlu membuka command promt dan menuliskan nslookup pada command line. Pada umumnya operasi dasar dari nslookup yaitu mengirimkan query spesifik untuk menayakan DNS record pada DNS server. Query dapat dikirim ke root DNS server, top level domain DNS server, authoritative DNS server, atau intermediate DNS server. Untuk menyelesaikan tugasnya, nslookup mengirimkan DNS quesry ke spesifik DNS server, menerima balasan dari DNS server dan menampilkan hasil query.
Gambar 3.1 Perintah nslookup Gambar3.1 diatas adalah hasil berbeda dari 3 perintah nslookup. Pada contoh computer client berada dikampus Universitas Politeknik Brooklyn, dimana default DNS server yang digunakan adalah dns-prime.poly.edu. Ketika menjalankan nslookup tanpa spesifik target DNS server, maka nslookup akan mengirimkan query ke default DNS server, dalam kasus ini adalah dns-prime.poly.edu. Perhatikan perintah berikut: nslookup www.mit.edu Dapat diartikan, perintah tersebut berarti “ tolong kirimkan ke saya ip address dari host www.mit.edu”. Tampak pada gambar, response dari perintah tersebut menyediakan dua informasi : 1. Hostname dan IP address dari DNS sever yang memberikan jawaban 2. Hostname dan IP address dari www.mit.edu yang merupakan jawaban dari query. Dalam hal ini dns-prime.poly.edutelah berinteraksi dengan DNS server yang lain untuk memberikan jawaban dari query yang dikirim. Berikutnya perhatikan perintah kedua berikut : nslookup –type=NS mit.edu Contoh perintah tersebut terdapat opsi “-type=NS”. Opsi tersebut menyebabkan nslookup mengirimkan query untuk mendapatkan NS record pada default local DNS server. Dalam arti lain “tolong kirimkan hotname dari authoritative DNS untuk mit.edu. Jika tidak ada penambahan opsi maka nslookup akan meminta record A. Jawaban yang ditampilkan pada Gambar 3.1, mengindikasikan DNS server mana saja yang mempunyai jawaban dari query nslookup. Semua server tersebut adalah authoritative DNS server untuk host yang ada di kampus www.mit.edu. Selain itu, nslookup juga mengindikasikan jawaban dengan “non-authoritative” yaitu jawaban dapat berasal dari cache beberapa DNS server dari MIT contohnya adalahbitsy.mit.edu.Meskipun query type-NS yang dihasilkan oleh nslookup tidak secara eksplisit meminta alamat IP, local DNS server menampilkan hasil alamat IP-nya). Berikutnya perhatikan perintah ketiga berikut: nslookup www.aiit.or.kr bitsy.mit.edu Pada contoh, perintah tersebut akan mengirimkan query ke DNS server bitsy.mit.edu bukan ke default DNS server(dns-prime.poly.edu). Selanjutnya, transaksi query dan reply berlangsung antara host dengan DNS server bitsy.mit.edu. DNS server bitsy.mit.edu menyediakan alamat IP host www.aiit.or.kr yang merupakan web server dari Advanced Institute of Information Technology (Korea). Syntax umum dari perintah nslookup sebagai berikut: nslookup –option1 –option2 host-to-find dns-server Pada umumnya, nslookup dapat dengan null, satu, dua opsi atau lebih. Seperti contoh sebelumnya penggunaan opsi pada nslookup disesuaikan dengan kebutuhan. Materi sebelumnya telah dibahas tentang overview dari nslookup, sekarang saatnya ada mencoba sendiri. Lakukan sesuai perintah (dan laporkan hasilnya) : 1. Jalankan nslookup untuk mendapatkan IP address dari beberapa kampus di ASIA, berapa IP address dari web server tersebut?
2. Jalankan nslookup untuk menentukan authoritative DNS server untuk beberapa universitas di Eropa 3. Jalankan nslookup dan gunakan DNS server yang didapat dari perintah 2 untuk mendapatkan IP address dari mail server (Yahoo! Mail, google mail, dll). Berapa IP addressnya?
3.2 Percobaan ipconfig ipconfig (untuk Windows) dan ifconfig (untuk Linux/Unix) merupakan utilitas yang sangat berguna untuk host anda, terutama untuk permasalahan networking. Perintah tersebut dapat digunakan untuk menampilkan informasi TCP/IP host Anda, termasuk alamat IP, alamat DNS server, jenis adapter media, dan sebagainya. Berikut informasi terkait ipconfig juga berguna untuk mengatur informasi DNS yang tersimpan di host anda. Pada bagian 2.5 kita telah mempelajari bahwa DNS record yang telah didapat tersimpan dalam cache hosts. Untuk melihat cache records jalankan perintah berikut : ipconfig /displaydns Setiap data menunjukkan Time to Live (TTL) dalamdetik. Untukmenghapus cache, gunakanperintah ipconfig /flushdns Flushing DNS cache akan menghapus semua data DNS record yang tersimpan di file.
3.3 Eksplorasi DNS dengan Wireshark Sekarang Anda sudah familiar dengan nslookup dan ipconfig, saatnya untuk melakukan hal yang lebih serius. Pertama tangkap DNS paket yang dibuat dari aktifitas web-browsing, lakukan hal umum layaknya anda browsing dan mencari informasi dari sebuah website.
Gunakan ipconfig untuk mengosongkan cache DNS di komputer anda. Buka browser anda dan bersihkan browser cache Buka wireshark dan masukkan “ip.addr == your_IP_address” pada bagian filter, IP address anda didapat dari perintah ipconfig. Dengan filter ini akan menghapus semua paket yang tidak dibutuhkan dari hosts anda ke website dan sebaliknya. Start packet capture pada Wireshark. Dengan browser anda, kunjungi Web page: http://www.ietf.org Stop packet capture. Jika Anda tidak dapat menjalankan Wireshark pada koneksi jaringan internet secara langsung, maka Anda bisa mendapatkan file packet trace yang ada di http://gaia.cs.umass.edu/wiresharklabs/wireshark-traces.zip , kemudian ekstrak file dns-ethereal-trace-1. Kemudian jawab pertanyaan berikut. Jangan lupa sertakan printout dari packet yang Anda gunakan sebagai acuan untuk menjawab pertanyaan. Untuk mencetak packet, gunakan perintah berikut : File->Print, pilih Selected packet only, pilih Packet summary line, dan pilih jumlah minimum dari detail paket yang Anda butuhkan untuk menjawab pertanyaan. 4. Cari atau tunjukkan DNS quesry dan response message. Apakah dikirim menggunakan UDP atau TCP? 5. Berapa port yang akan dituju oleh DNS query message? Dan berapa port asal yang digunakan untuk mengirimkan pesan? 6. Ke IP address berapa DNS query message akan dikirim? Gunakan ipconfig untuk melihat IP address local DNS server Anda, apakah kedua IP address tersebut sama? 7. Periksa pesan quesy dari DNS. Apa tipe dari DNS query yang dikirimkan? Apakah query message terdiri dari pesan jawaban?
8. Periksa pesan respon DNS, berapa jumlah jawaban yang disediakan? Apa saja yang ada didalam pesan? 9. Perhatikan paket TCP SYN yang dikirim oleh host Anda. Apakah tujuan alamat IP dari paket SYN sesuai dengan salah satu alamat IP Address yang ada dalam DNS response message? 10. Apakah halaman page tersebut terdapat gambar? Sebelum mengambil gambar, apakah host Anda membuat DNS query baru? Sekarang dengan menggunakan nslookup. Jika Anda tidak dapat menjalankan Wireshark pada koneksi jaringan internet secara langsung, maka Anda bisa mendapatkan file packet trace yang ada di http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip , kemudian ekstrak file dns-etherealtrace-2.
Mulai untuk packet capture. Lakukan nslookup ke www.mit.edu Berhenti packet capture
Berikut tampilan penggunaan nslookup seperti pada Gambar 3.2 berikut:
Gambar 3.2 Tampilan nslookup Kita dapat melihat tampilan di Gambar 3.2 di atas bahwa nslookup benar-benar mengirim tiga kueri DNS dan menerima tiga respon DNS. Untuk tujuan pengerjaan tugas ini, dalam menjawab pertanyaan berikut, maka abaikan 2 set kueri dan respon pertama karena spesifik untuk nslookup dan biasanya tidak dihasilkan oleh standar aplikasi Internet. Jadi, Anda fokus pada kueri terakhir dan juga respon terakhir pesan tersebut.
11. Berapa port tujuan untuk pesan kueri DNS? Berapa port asal dari pesan respon DNS? 12. Ke IP address berapa pesan kueri DNS akan dikirim? Apakah itu IP address dari default local DNS server? 13. Periksa pesan kueri DNS. Periksa pesan quesy dari DNS. Apa tipe dari DNS query yang dikirimkan? Apakah pesan kueri terdiri dari pesan jawaban? 14. Periksa pesan respon DNS, berapa jumlah jawaban yang disediakan? Apa saja yang ada di dalam pesan? 15. Tampilkan screenshot. Sekarang ulangi lagi percobaan sebelumnya, tetapi dengan perintah yang berbeda, yaitu: nslookup –type=NS mit.edu Jawab pertanyaan berikut: 16. Ke IP address berapa pesan kueri DNS akan dikirim? Apakah itu IP address dari default local DNS server? 17. Periksa pesan kueri DNS. Periksa pesan quesy dari DNS. Apa tipe dari DNS query yang dikirimkan? Apakah pesan kueri terdiri dari pesan jawaban? 18. Periksa pesan respon DNS. Apa nama server MIT yang diberikan pesan respon? Apakah pesan respon ini juga menyediakan IP address dari nama server MIT? 19. Tampilkan screenshot. Sekarang ulangi lagi percobaan sebelumnya, tetapi dengan perintah yang berbeda, yaitu: nslookup www.aiit.or.kr bitsy.mit.edu Jawab pertanyaan berikut: 20. Ke IP address berapa pesan kueri DNS akan dikirim? Apakah itu IP address dari default local DNS server? 21. Periksa pesan kueri DNS. Periksa pesan quesy dari DNS. Apa tipe dari DNS query yang dikirimkan? Apakah pesan kueri terdiri dari pesan jawaban? 22. Periksa pesan respon DNS, berapa jumlah jawaban yang disediakan? Apa saja yang ada di dalam pesan? 23. Tampilkan screenshot.
BAB 4
TRANSMISSION CONTROL PROTOCOL
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 1. Memahami konsep TCP pada transport layer. 2. Memahami dan melakukan analisa terhadap protokol-protokol TCP yang terdapat pada transport layer.
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 asisten praktikum atau laboran bila Anda mengalami kesulitan dalam menghubungkan komputer Anda ke jaringan internet. 2. Aplikasi Wireshark.
4.1 Percobaan menangkap transfer TCP dalam jumlah besar dari komputer/laptop Anda ke server Sebelum memulai eksplorasi dari TCP, Anda harus menggunakan kakas bantu wireshark untuk mendapatkan jejak paket transfer TCP dari sebuah file dari komputer/laptop Anda ke remote server. Anda akan melakukan proses akses halaman web yang akan memasukkan nama di sebuah file yang tersimpan di komputer Anda dan mengirimkan file tersebut ke web server menggunakan metode HTTP POST. Oleh karena itu, nantinya Anda diharuskan mengaktifkan wireshark untuk memulai proses merekam pengiriman dan penerimaan segmen TCP dari komputer/laptop Anda. Lakukan hal berikut: 1. Jalankan browser web Anda dan buka web http://gaia.cs.umass.edu/wiresharklabs/alice.txt dan ambil kembali salinan ASCII dari text alice tersebut. Simpan terlebih dahulu file tersebut di komputer/laptop Anda. 2. Selanjutnya, buka web http://gaia.cs.umass.edu /wireshark-labs/TCP-wireshark-file1.html. 3. Gunakan tombol browse di form tersebut untuk memasukkan nama dari file yang tadinya sudah disimpan di komputer/laptop Anda yang berisi Alice in Wonderland. Jangan lakukan terlebih dahulu untuk menekan tombol “upload alice.txt file”. 4. Sekarang, jalankan wireshark dan memulai untuk menangkap paket (Capture Start) dan kemudian tekan OK pada layar Wireshark Packet Capture Options. 5. Kembali ke browser, tekan tombol “upload alice.txt file” untuk diunggah file tersebut ke server gaia.cs.umass.edu. Setelah berhasil diunggah, akan ada pesan selamat yang ditampilkan di jendela browser Anda. 6. Hentikan penangkapan paket wireshark. Seharusnya tampilan Wireshark Anda akan seperti Gambar 4.1 ini:
Gambar 4.1 Tampilan Wireshark Alice in Wonderland
4.2 Percobaan melihat trace file yang ditangkap Sebelum menganalisis perilaku koneksi TCP secara detil, perhatikan hal berikut: Lakukan filter pada paket yang ditampilkan di wireshark dengan mengetik “tcp”. Apa yang nanti akan Anda lihat adalah serangkaian pesan TCP dan HTTP antara komputer/laptop Anda dan server gaia.cs.umass.edu. Anda nanti melihat proses 3 way handshaking yang mengandung pesan SYN. Dan juga Anda akan melihat pesan HTTP POST. Tergantung pada versi wireshark yang Anda gunakan, Anda mungkin akan melihat serangkaian pesan “HTTP Continuation” yang dikirim dari komputer/laptop Anda ke server. Dalam versi wireshark terbaru, Anda akan melihat “[TCP segment of a reassembled PDU]” di kolom info wireshark untuk menunjukkan bahwa segmen TCP ini berisi data milik pesan protokol di layer atas (dalam hal ini HTTP). Anda juga akan melihat segmen TCP ACK yang dikembalikan dari server ke komputer/laptop Anda.
Jawablah pertanyaan-pertanyaan berikut dengan membuka trace file wireshark tcp-etherealtrace-1 di server http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip/. Saat menjawab pertanyaan, Anda membutuhkan printout dari paket yang ada di dalam trace file tersebut.untuk menjawab pertanyaan yang diajukan. Berikan keterangan printout tersebut untuk menjelaskan jawaban Anda. Untuk mencetak paket, gunakan File Print, kemudian pilih Selected packet only, kemudian pilih Packet summary line, dan pilih jumlah minimum paket secara detil yang digunakan untuk menjawab pertanyaan. 1. Berapa alamat IP dan nomor port TCP yang digunakan oleh komputer klien yang mentransfer file ke server gaia.cs.umass.edu? Untuk menjawab pertanyaan ini, paling mudah memilih sebuah pesan HTTP dan menjelajahi rincian dari paket TCP yang digunakan
untuk membawa pesan HTTP ini dengan menggunakan “details of the selected packet header window”. 2. Berapakah alamat IP server gaia.cs.umass.edu? Pada port nomor berapakah server itu mengirim dan menerima segmen TCP untuk koneksi ini? Jika Anda telah mampu membuat trace sendiri, jawablah pertanyaan berikut: 1. Berapakah alamat IP dan nomor port TCP yang digunakan komputer/laptop Anda untuk mentransfer file ke gaia.cs.umass.edu? Ketika praktikum bab ini membahas tentang TCP dibanding dengan HTTP, silahkan Anda ubah “listing of captured packets” di wireshark sehingga dapat menampilkan informasi tentang segmen TCP yang berisi pesan HTTP, bukan tentang pesan HTTP. Agar wireshark dapat melakukan hal tersebut, pilih Analyze Enabled Protocols. Kemudian hapus centang pada kotak HTTP dan pilih OK.
4.3 Dasar TCP Jawablah pertanyaan-pertanyaan berikut untuk segmen TCP: 1. Berapa nilai sequence number segmen TCP SYN yang digunakan untuk memulai koneksi TCP antara komputer/laptop Anda dengan server gaia.cs.umass.edu? Dan berapakah nilai segmen yang mengidentifikasi segmen sebagai SYN? 2. Berapa nilai sequence number segmen SYN ACK yang dikirim oleh server gaia.cs.umass.edu ke komputer/laptop Anda untuk membalas SYN? Berapa nilai ACK di segmen SYN ACK? Dan bagaimana server gaia.cs.umass.edu dapat menentukan nilai itu? 3. Berapa nilai sequence number dari segmen TCP yang berisi metode HTTP POST? Perhatikan bahwa untuk menemukan perintah POST, Anda harus mencari ke konten paket di bagian bawah wireshark, carilah segmen dengan “POST” dalam field DATA. 4. Anggap segmen TCP terdiri dari metode HTTP POST sebagai segmen yang pertama pada koneksi TCP. a. Berapakah sequence number pada 6 segmen pertama (termasuk segmen yang berisi HTTP POST) dan juga nomor ACK di 6 segmen pertama yang diterima! b. Berapakah waktu yang digunakan untuk pengiriman setiap segmen? Kapan ACK untuk setiap segmen diterima? Dengan adanya perbedaan antara ketika setiap segmen TCP dikirim dan ketika ACK-nya diterima, maka berapakah nilai round trip time (RTT) untuk setiap segmen dari enam segmen? Rumus: SampleRTT = waktu penerimaan ACK – waktu pengiriman segmen. (Lihat buku cetak Computer Networking: A Top Down Approach edisi 6 oleh Kurose Ross halaman 239). c. Berapakah nilai EstimatedRTT setelah diterimanya setiap ACK dari segmen pertama sampai segmen ke-6? Rumus: EstimatedRTT = 0.875 * EstimatedRTT + 0,125 * SampleRTT. (Lihat buku cetak Computer Networking: A Top Down Approach edisi 6 oleh Kurose Ross halaman 239). d. Catatan: Wireshark memiliki fitur untuk menggambarkan setiap segmen TCP yang dikirim. Pilih segmen TCP di ”listing of captured packets” yang sedang dikirim dari komputer/laptop Anda ke server gaia.cs.umass.edu. Kemudian pilih Statistics TCP Stream Graph Round Trip Time Graph. Tampilkan RTT Graph tersebut! 5. Berapakah panjang segmen dari setiap 6 segmen pertama dari TCP? 6. Berapakah jumlah minimum buffer space yang tersedia dikirimkan pada penerima untuk seluruh trace?
7. Apakah terdapat segmen yang melakukan retransmisi dalam trace file tersebut? Jika terdapat retransmisi, mengapa demikian? Dan jika tidak terdapat retransmisi, mengapa demikian? 8. Berapa banyak data penerima yang secara khusus melakukan ACK? Dapatkah Anda mengidentifikasi kasus di mana penerima memberi ACK setiap segmen lain diterima? (Lihat buku cetak Computer Networking: A Top Down Approach edisi 6 oleh Kurose Ross pada Tabel 3.2 halaman 247). 9. Berapakah throughput untuk koneksi TCP dalam satu trace file tersebut? Jelaskan bagaimana Anda melakukan perhitungan throughput tersebut!
4.4 TCP Congestion Control Anda dapat memeriksa jumlah data yang dikirim per satuan waktu dari komputer/laptop Anda ke server. Daripada menghitung ini dari data mentah yang ada di wireshark, maka gunakan satu dari keperluan grafik TCP -Time-Sequence-Graph(Stevens)- untuk menggambar data. Pilih segmen TCP di wireshark “listing of captured packets”. Kemudian pilih menu: Statistics TCP Stream Graph TimeSequence-Graph(Stevens). Anda akan melihat gambar yang sama dari gambar berikut, yang diambil dari paket yang telah ditangkap di trace file tcp-ethereal-trace-1 di http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip.
Gambar 4.2 Segmen TCP yang dikirim Dari Gambar 4.2, setiap titik merupakan segmen TCP yang dikirim, menggambarkan sequence number dari segmen dan waktu dimana segmen tersebut dikirim. Perhatikan bahwa satu titik yang ditumpuk di atas satu sama lain merupakan serangkaian paket yang dikirimkan kembali oleh pengirim.
Jawablah pertanyaan-pertanyaan berikut ini untuk segmen TCP dari trace file tcp-etherealtrace-1 di http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip
1. Gunakan plotting tool Time-Sequence-Graph(Stevens) untuk melihat sequence number terhadap waktu dari segmen yang dikirim dari komputer/laptop Anda ke server gaia.cs.umass.edu/. Dapatkah Anda mengidentifikasi dimana fase TCP slow start mulai dan berakhir dan dimana congestion avoidance mengambil alih? 2. Berikan komentar, bagaimana caranya data yang dihitung berbeda dari perilaku ideal TCP yang sudah dipelajari di buku cetak?
BAB 5
USER DATAGRAM PROTOCOL
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 1. Mengenalkan dan mempraktekkan penggunaan protokol UDP 2. Mengamati mekanisme kerja protokol UDP menggunakan wireshark
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
5.1 User Datagram Protocol 5.1.1
Langkah Percobaan Langkah langkah yang dilakukan untuk mempersiapkan percobaan adalah sebagai berikut:
1. Buka aplikasi browser pada komputer yang anda gunakan, bersihkan cache memorinya, namun jangan mengakses website manapun terlebih dahulu 2. Buka aplikasi Wireshark pada komputer percobaan, mulailah melakukan capture paket. 3. Gunakan browser untuk mengakses satu website yang anda pilih. 4. Hentikan capture paket pada wireshark setelah website yang anda tuju berhasil menampilkan datanya. 5. Simpan hasil capture paket pada wireshark. 6. Buka file hasil pengamatan paket yang telah disimpan. 7. Pilih satu paket UDP dari file tersebut. 8. Jawablah pertanyaan pada bagian 5.1.2.
5.1.2
Pertanyaan
1. Dari paket yang anda amati, tentukan berapa field yang ada di UDP header. Sebutkan nama namanya! 2. Berdasarkan hasil tampilan informasi pada paket data yang ada pada wireshark, tentukan panjang paket dalam bytes untuk setiap field UDP header! 3. Nilai apakah yang dimaksud pada field panjang? Periksa jawaban anda menggunakan informasi yang ada pada buku teks. Verifikasikan jawaban anda menggunakan hasil capture paket data yang anda peroleh! 4. Berapakah nilai maksimum (dalam bytes) yang dapat dimasukkan dalam UDP payload? 5. Berapakah nomor port source terbesar yang mungkin dibuat? 6. Berapakah nomor protokol untuk UDP? Berikan jawaban anda dalam bentuk heksadesimal dan desimal. Dalam menjawab pertanyaan ini, lihatlah field IP datagram yang berisi UDP segmen. 7. Periksalah pasangan paket UDP dimana host yang anda gunakan mengirim UDP paket yang pertama, dan paket UDP yang kedua merupakan balasan dari paket UDP yang pertama. Jelaskan hubungan antara nomor port pada kedua paket.!
8. Buatlah kesimpulan dari hasil percobaan dan pengamatan ini.
BAB 6
INTERNET PROTOCOL
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 1. Mengenalkan protokol IP terutama IP datagram 2. Mengenalkan fragmentasi pada IP datagram 3. Mengamati IP datagram menggunakan wireshark
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. Aplikasi Traceroute. a. Jika menggunakan OS windows, silakan menggunakan program tracert. b. Jika menggunakan OS linux, silakan menggunakan traceroute. 4. Aplikasi ping plotter untuk mesin dengan OS windows. 5. Text Editor
6.1 Internet Protocol Dalam Percobaan ini kita menggunakan program traceroute untuk membuat jejak IP datagram. Silakan membaca dan mengetahui bagaimana traceroute beroperasi pada RFC 2151 (ftp://ftp.rfceditor.org/in-notes/rfc2151.txt). Bahan bacaan tambahan dapat dilihat di Sub Bab 4.3 pada buku teks. Juga dapat mengacu pada RFC 791 (ftp://ftp.rfc-editor.org/in0notes/rfc791.txt). Traceroute bekerja dengan mengirimkan paket pertama terdiri dari satu atau lebih datagram yang memiliki nilai (1) pada field time-to-live (TTL). Kemudian mengirimkan paket kedua berupa satu atau lebih datagram dengan tujuan yang sama dan bernilai TTL (2). Demikian seterusnya. Pada router nilai TTL akan berkurang (1) saat menerima datagram. Jika TTL mencapai nilai 0, maka router akan mengirimkan kepada host pengirim sebuah pesan ICMP tipe 11 tentang TTL-exceeded.
6.1.1
Langkah Percobaan Lakukan langkah percobaan berikut:
1. Jalankan aplikasi wireshark dan mulailah capture paket dengan menekan OK di layar Wireshark Packet Capture Option. 2. Jika menggunakan platform Windows, jalankan pingplotter dan masukkan nama site tujuan pada field Address to Trace Windows. Masukkan nilai 3 pada field “# of times to Trace” untuk membatasi jumlah data yang dikumpulkan. Pilih menu Edit – Advanced Options – Packet Options, kemudian masukkan nilai 56 pada field Packet Size, kemudian klik OK. Jalankan dengan menekan tombol Trace. Tampilan window pingplotter akan tampak seperti pada Gambar 2.1.
Gambar 6.1. Tampilan pingplotter
Selanjutnya kirimkan serangkaian datagram dengan panjang paket yang lebih besar. Lakukan dengan memilih opsi Edit – Advanced Options – Packet Options, masukkan nilai 2000 pada field Packet-Size dan tekan OK. Kemudian tekan tombol Resume. Akhirnya, kirimkan serangkaian datagram dengan panjang paket yang lebih besar lagi dengan langkah yang sama namun mengganti nilai Packet Size menjadi 3500. Stop perekaman menggunakan wireshark. 3. Jika menggunakan platform linux/Unix/macOS, untuk mengatur ukuran UDP datagram yang akan dikirim menggunakan perintah traceroute dapat diset dengan mengidikasikan jumlah byte pada datagram. Nilai ini dimasukkan langsung dari command-line. Contoh $ traceroute gaia.cs.umass.edu 2000 Ubah setting nilai panjang paket dengan nilai 56 bytes, 2000 bytes dan 3500 bytes. Stop perekaman dengan wireshark.
6.1.2
Pertanyaan
Dalam file hasil rekaman trace paket data, kita dapat melihat serangkaian ICMP echo request (dalam platform Windows) atau segmen UDP (dalam platform Unix) yang dikirimkan oleh komputer sumber dan pesan ICMP TTL-exceeded yang dikembalikan ke komputer sumber. 1. Pilih pesan ICMP Echo Request yang dikirim oleh komputer Anda dan perlebar bagian Internet Protokol dari paket tersebut, dengan menekan bagian pakcet details window. Tampilannya akan terlihat seperti Gambar 6.2. Tuliskan berapa alamat IP dari komputer Anda 2. Dalam header paket IP, berapa nilai dalam field upper layer protocol? 3. Berapa jumlah byte yang ada dalam header IP? Berapa jumlah bytes yang ada dalam payload IP datagram? Jelaskan bagaimana Anda menentukan jumlah bytes pada payload. 4. Apakah IP datagram itu sudah terfragmen? Jelaskan bagaimana Anda menentukan apakah datagram itu sudah terfragmen atau belum. Untuk langkah selanjutnya akan mengamati paket berdasarkan IP source address dengan menekan header kolom Source. Biasanya ada panah mengarah ke bawah pada kata Source.
Jika panahnya mengarah ke atas, klik lagi bagian header kolom Source. Pilih ICMP Echo Request pertama yang dikirimkan komputer Anda dan perlebar bagian Internet protocol pada bagian “details of selected packet header”. Dalam listing
Gambar 6.2. Tampilan wireshark
5. Field manakah dalam IP datagram yang selalu berubah dari satu datagram ke datagram berikutnya dalam serangkaian pesan ICMP yang dikirim dari komputer anda. 6. Field manakah yang bernilai konstan? Field manakah yang harus tetap konstan? Field manakah yang harus berubah? Mengapa? 7. deskripsikan pola yang anda lihat pada nilai dalam field identification IP datagram Selanjutnya masih dengan paket yang diurutkan berdasarkan source address, carilah deretan balasan ICMP TTL-exceeded yang dikirimkan ke komputer Anda dari router terdekat. 8. Apakah isi dari field Identification dan field TTL? Apakah nilai dari semua jawaban ICMP TTL-exceeded yang dikirimkan ke komputer Anda dari router terdekat (hop pertama) tidak mengalami perubahan sama sekali? Mengapa?
6.2 Fragmentasi 6.2.1
Langkah Percobaan
1. Dari hasil pengamatan sebelumnya, urutkan daftar paket berdasarkan waktu lagi dengan menekan kolom Time. 2. Temukan pesan ICMP Echo Request pertama yang dikirimkan komputer Anda setelah mengganti nilai Packet Size pada pingplotter menjadi 2000. Apakah pesan mengalami fragmentasi lebih dari satu datagram? [Perhatian: Jika Anda menemukan paket tidak difragmen, Anda harus mengunduh file zip dari http://gaia.cs.umass.edu/wiresharklabs/wireshark-traces.zip dan mengekstrak ip-ethereal-trace-1. Jika komputer Anda menggunakan Ethernet, maka ukuran paket 2000 akan menyebabkan fragmentasi.
6.2.2
Pertanyaan
1. Cetaklah fragment pertama dari IP datagram yang mengalami fragmentasi. Informasi apakah yang tedapat dalam IP header yang mengindikasikan telah terjadi fragmentasi pada
2.
3. 4. 5. 6. 7.
datagram? Informasi apakah yang terdapat dalam IP header yang mengindikasikan apakah ini fragmen pertama atau fragmen selanjutnya? Berapa panjang IP datagram? Cetaklah fragmen ke dua dari IP datagram yang mengalami fragmentasi. Informasi apakah yang tedapat dalam IP header yang mengindikasikan bahwa ini bukan fragmen pertama? Apakah ada fragmen lanjutan? Bagaimana cara mengetahuinya? Field apakah yang berubah dalam IP header pada fragmen pertama dan ekdua? Sekarang carilah pesan ICMP Echo Request pertama yang dikirimkan komputer Anda setelah Anda mengubah Packet Size pada pingplotter menjadi 3500. Berapa fragmen yang terbentuk dari datagram orisinil? Field apakah yang berubah dalam IP header diantara seluruh fragmen? Buatlah kesimpulan dari hasil percobaan dan pengamatan ini!
BAB 7
NETWORK ADDRESS TRANSLATION
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 1. ... 2. ... 3. ...
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.
7.1
BAB 8
INTERNET CONTROL MESSAGE PROTOCOL
TUJUAN PRAKTIKUM Praktikum berikut ini bertujuan untuk: 4. ... 5. ... 6. ...
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.
8.1
DAFTAR PUSTAKA