Tuesday, October 30, 2018

Tutorial Instalasi Ubuntu 18.04 Server

Pada post kali ini kita akan membahas tutorial instalasi ubuntu yang versi 18.04 Server. Sekalian saja saya buatkan video biar jelas.

Download Ubuntu here https://www.ubuntu.com/download

Silahkan Lihat Video Saya Untuk Lebih Jelasnya


Selamat Mencoba :)

Tuesday, October 9, 2018

How to scan viruses from file uploads Pure Ftp with Clam AV

        ClamAV adalah mesin anti-virus open source (GPL) yang digunakan dalam berbagai situasi termasuk pemindaian email, pemindaian web, dan keamanan titik akhir. Ini menyediakan sejumlah utilitas termasuk daemon multi-berulir fleksibel dan scalable, scanner baris perintah dan alat canggih untuk pembaruan database otomatis.
            
           Nah disini kita akan menggunakan Clam AV untuk menscan file dari file yang di upload ke FTP Server kita supaya mencegah file yang terinfeksi virus masuk ke server.
  
Untuk percobaan kali ini saya menggunakan ubuntu 18 . Berikut langkah-langkah untuk konfigurasi Clam AV
  1. Install ClamAV
  2. 
    #sudo apt-get install clamav clamav-daemon
  3. Konfigurasi Clamav
  4. #nano /etc/clamav/clamd.conf
    
    Tambahkan kode berikut :
    
    TCPSocket 3310
    TCPAddr 127.0.0.1
    
    Kemudian silahkan restart clamav
  5. Install Pure Ftp
  6. 
    #sudo apt-get install pure-ftpd-common pure-ftpd-mysql
    
  7. Configure pure-ftpd.conf
  8. 
    #nano /etc/pure-ftpd/pure-ftpd.conf
    
    Cari kata CallUploadScipt , dan hilangkan tanda pagar didepannya
    
    CallUploadScript         yes
    
  9. Buat File clamscan.sh
  10. 
    #nano /etc/pure-ftpd/clamscan.sh
    
    Isi dengan kode berikut:
    
    #!/bin/sh
    /usr/bin/clamdscan --remove --quiet --no-summary "$1"
    
  11. Edit pure-ftpd-common
  12. 
    #nano /etc/default/pure-ftpd-common
    
    Pada UPLOADSCRIPT=...] isi dengan lokasi file clamscan.sh
    
    UPLOADSCRIPT=/etc/pure-ftpd/clamscan.sh
    
    Kemudian Restart Pure-ftpd dan coba upload virus ke ftp, maka file virus akan langsung di hapus oleh. Memang ada pesan succes transfer , tapi ketika di cek di ftp file tersebut tidak ada.
Untuk Tutorial Video bisa langsung dilihat

    Selamat Mencoba 😁

Monday, July 2, 2018

Konfigurasi dan Implementasi 2 Mail Server dan 2 Mailing list yang berbeda di Ubuntu

Kali ini kita akan membahas konfigurasi meliputi dns, web server, mail server dan mailing list di ubuntu beserta implementasinya . Bagaimana cara mengirim email dengan beda server , bagaimana cara menambahkan anggota mailis berbeda domain . yuk kita simak.
Gambar di atas adalah konsep jaringan yang akan kita gunakan.
Keterangan :
- Untuk dns dan mail server1 jadi satu , jadi ada 2 server yaitu
1. Dns dan mail server1 , ip : 170.16.48.1
2. Mail server2 , ip : 170.16.48.2
·         Buatlah 2 mail server yang mewakili 2 domain berbeda (domain1.org dan domain2.org).
·         Di Mail_Server1 terdapat 4 user : Agus (L), Anton (L), Ana (P) dan Ani (P).
·         Di Mail_Server2 juga terdapat 4 user : Toni (L), Tono (L), Tini (P), Tina (P)
·         Percobaan berhasil, jika semua user dapat berkirim email satu sama lain (walaupun berbeda domain).
·         Kedua mail server masing2 menerapkan webmail (anda boleh menggunakan Squirrel Mail atau lainnya yang sejenis)
·         Selain itu, kedua mail server mendukung penggunaan protokol POP dan IMAP, sehingga user di komputernya masing2 dapat mendownload email dari mail server menggunakan protokol POP3 atau IMAP. Anda bebas menggunakan mail client (Mail User Agent)
·         Di Mail_Server1 terdapat Mailing List bernama siswa@domain1.org yang anggotanya semua user laki2
·         Di Mail_Server2 terdapat Mailing List bernama siswi@domain2.org yang anggotanya semua user perempuan.


Pertama kita harus konfigurasi dns ,  web server dan mail server
  1. Konfigurasi DNS Server
  2. Dns server berfungsi sebagai penerjemah alamat ip menjadi nama domain. Untuk yang belum tahu cara konfigurasi dns lebih dari 1 domain silahkan klik di sini
  3. Instalasi dan Konfigurasi Web Server
  4. Web server adalah sebuah software yang memberikan layanan berbasis data dan berfungsi menerima permintaan dari HTTP atau HTTPS pada klien yang dikenal dan biasanya kita kenal dengan nama web browser dan untuk mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web dan pada umumnya akan berbentuk dokumen HTML. Nantinya kita akan gunakan sebagai web mail untuk klien. Untuk yang belum tahu konfigurasi web server untuk bisa di gunakan oleh 2 domain silahkan klik di sini
  5. Instalasi dan Konfigurasi Mail server dan Webmail
  6. Untuk yang belum tahu konfigurasi mail server dan webmail silahkan klik di sini
Oke sekarang kita akan konfigurasi untuk 2 mail server dan 2 mailing list
  1. Konfigurasi mail server agar bisa mengirim email ke beda domain
  2. Untuk yang belum tahu konfigurasinya silahkan klik di sini . Jangan lupa konfigurasi juga pada mail server 2
  3. Konfigurasi mailing list dengan mailman
  4. klik disini untuk konfigurasi mailman
  5. Menambahkan mailis siswa@domain1.org untuk user laki-laki (pada mail1) dan siswi@domain2.org untuk user perempuan ( pada mail2)
  6. Integrasi mailman dengan postfix
  7. Konfigurasi postfix agar mailman dapat terhubung dengan domain lain
  8. 
    postconf -e 'relay_domains = domain2.org'
    postconf -e 'mailman_destination_recipient_limit = 1'
    
  9. Buka browser tulis url namadomain/cgi-bin/mailman/admin/nama_mailis
  10. Daftarkan user yang akan menjadi anggota mailis tersebut , pilih menu membership management lalu pilih mass subscription . untuk mailis siswa@domain1.org anggotanya adalah agus, anton, tono dan toni , kemudian siswi@domain2.org anggotanya adalah ana, ani, tina dan tini.
  11. Setelah klik tombol submit your change , maka ada pesan sukses
  12. Cek pada user , jika ada pemberitahuan pesan dari siswa@domain1.org maka berhasil
  13. Mencoba mengirim pesan mailis , semua user yang terdaftar akan menerima pesan tersebut
  14. User agus@domain1.org sebagai pengirim

    Maka seluruh anggota dari mailis akan menerima pesan tersebut meskipun beda domain
Sekian tutorial dari saya . Terimakasih dan Selamat Mencoba :D

Download Laporan full 

Konfigurasi Mailing list dengan mailman 100% work

  1. Install mailman
  2. 
    sudo apt-get install mailman
    
  3. Konfigurasi mailman
  4. 
    nano /etc/mailman/mm_cfg.py
    
    hilangkan tanda # pada MTA='Postfix'
  5. Membuat grup mailman
  6. Aktifkan web interface mailman di apache agar bisa di pakai melalui browser
  7. Aktifkan Mailman service
  8. 
    /etc/init.d/mailman start
    
  9. Test pada browser klien url : namadomain/cgi-bin/mailman/listinfo
  10.  
    Apabila tidak muncul tampilan diatas, tapi malah download file , solusinya aktifkan cgi pada apache2.
#a2enmod cgid
Setelah itu restart apache2 dan test pada browser

Selamat Mencoba :)

Konfigurasi Mail Server Agar Bisa Mengirim E-mail ke Domain yang Berbeda

  1. Konfigurasi Postfix
  2. Buat file /etc/postfix/sasl_passwd
  3. kemudian lakukan postmap /etc/postfix/sasl_passwd
  4. 
    sudo postmap /etc/postfix/sasl_passwd
    
  5. restart postfix
  6. 
    sudo service postfix restart
    
  7. Test mengirim email dari domain1 ke domain2

  8. cek email user tina@domain2.org

Konfigurasi Mail server dan web mail di ubuntu

  1. instal pada kedua mail server postfix courier-imap courier-pop courier-ssl courier-imap-ssl
  2. 
    sudo apt-get install postfix courier-imap courier-pop courier-ssl courier-imap-ssl
    
    nb : jika ada yang gagal install satu persatu
  3. Konfigurasi postfix

  4. Buat folder maildir otomatis pada user

  5. Buat user untuk percobaan mail.

  6. Restart postfix dan courier

  7. Install aplikasi webmail squirrelmail
  8. 
    sudo apt-get install squirrelmail
    
  9. Aktifkan koneksi squirrelmail ke apache , kemudian restart apache
  10. 
    ln -s /usr/share/squirrelmail /var/www/html/squirrelmail
    service apache2 restart
    
    nb : /var/www/html samakan dengan dokumen root kalian , bisa di cek untuk document root di /etc/apache2/sites-available/000-default.conf
  11. Test squirrelmail di brower klien

Instalasi dan Konfigurasi Web server untuk Domain Lebih Dari 1 di ubuntu

  1. Instal apache2
  2. sudo apt-get install apache2

  3. Install php
  4. sudo apt-get install php php-mysql libapache2-mod-php

  5. Konfigurasi virtual host untuk domain1 dan domain2
  6. Buat file html di root direktori sama seperti konfigurasi sebelumnya , misal seperti gambar diatas yang kita gunakan adalah /var/www/html/domain1 , disitu adalah tempat file index.html yang akan kita panggil ketika klien menghubungi url domain1.org di browser
  7. Untuk isi dari index.html bisa sesuka kalian , misal
    
    <html>
      <body>
       <h1>
         SELAMAT DATANG DI DOMAIN 1
       </h1>
      </body>
    </html>
    
  8. Test di browser klien

  9. Mudah kan , hehehe

Instalasi dan Konfigurasi DNS Server lebih dari 1 domain di ubuntu

  1. Instalasi Bind9
  2. sudo apt-get install bind9
    

  3. Edit file /etc/named.conf.local

  4. Untuk membuat virtual domain sertakan include “/tempat_file_konfigurasi _virtualdomain/”

  5. Buat file db.riowenda dan db.reverse , nama tergantung pada file konfigurasi named.conf.local

  6. db.riowenda

    db.reverse

     
  7. Daftarkan domain1.org untuk mailserver1 dan domain2.org untuk mailserver2 pada virtualdomain.conf

  8. Buat file untuk konfigurasi virtual domain tersebut

  9. db.domain1

    db.domain2.org
  10. Edit /etc/resolv.conf

  11. Restart bind9 , kemudian test dengan nslookup

  12. service bind9 restart

    Dari sini kita sudah berhasil konfigurasi untuk dns dengan 2 domain

Tuesday, February 13, 2018

Soal Virtual Memory Sistem Operasi



  
1.     Diketahui sistem memory demand paging. Page table menggunakan register. Membutuhkan 8 milisecond untuk melayani page fault jika frame kosong tersedia atau page yang di-replace tidak dimodifikasi dan 20 milisecond jika page yang di-replace dimodifikasi. Waktu akses memori adalah 100 nanosecond. Diasumsikan page yang di-replace akan dimodifikasi adalah 70 persen dari waktu. Berapa rata-rata page fault yang diterima untuk effective access time tidak lebih dari 200 nanosecond ?
Waktu akses memory = 200 nanosecond Rata-rata waktu page-fault service time = 8 milliseconds 1 ms=106 ns EAT = ((1 – p) x 200) + (p x (8 milliseconds))
= ((1 – p) x 200) + (p x 8,000,000) = 200 + (p x 7,999,800)
Jika 1 dari 1.000 kali akses terjadi fault, maka EAT = 8.2 microseconds.

2.     Diketahui string acuan dari page : 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 Berapa banyak page fault yang terjadi untuk algoritma page replacement berikut dengan satu, dua, tiga, empat, lima, enam atau tujuh frame ? Ingat bahwa semua frame diinisialisasi kosong, sehingga setiap page unik pertama akan bernilai masing-masing satu fault
a. LRU
b. FIFO
c. Optimal

3.     Diketahui array 2 dimensi A sebagai berikut: var A : array[1..100] of array{1..100] of integer Dimana A[l][l] berada pada lokasi 200 pada sistem page memory dengan page-page berukuran 200. Suatu proses kecil pada page 0 (lokasi 0 s/d 199) untuk manipulasi matriks, sehingga setiap instruksi dimulai dari page 0. Untuk 3 frame page, berapa banyak page fault yang dibangkitkan oleh loop inisialisasi array berikut menggunakan LRU dan asumsi frame page 1 sudah terdapat proses dan 2 frame page lainnya diinisialisasi kosong.
a. For (j = 1; j <= 100; j++) , For (i = 1; i <- 100; i++) A[i][j] = 0; b.For (i=1;i<=100; i++) For (j = 1; j <= 100; j++) A[i][j] := 0; A[i][j] = 0;

4.     Diketahui sistem demand paging dengan paging disk mempunyai waktu akses dan transfer rata-rata 20 milisec. Alamat ditranslasikan melalui page table di memory, dengan waktu akses 1 microsec per akses memory. Sehingga acuan ke memori melalui page table sama dengan 2 kali akses memory. Untuk memperbaiki waktu, ditambahkan associative memory yang menurunkan waktu akses menjadi satu acuan memori, jika entri page table berada di associative memory. Diasumsikan 80 % akses pada associative memory dan dari sisanya (20%), 10% nya (atau 2 persen dari total) menyebabkan page fault. Berapakah effective access time-nya?

Friday, February 2, 2018

Soal Deadlock Sistem Operasi



1.  Apa yang dimaksud dengan sumber daya ? Berikan contohnya!
Sumber daya (resources) adalah sesuatu proses yang digunakan untuk proses-proses untuk menyelesaikan task.Sumber daya yang ada pada sistem terdiri dari tipe resource CPU cycle, ruang memori, perangkat I/O yang disebut dengan tipe sumber daya R1, R2, . . ., Rm.

2.  Apa yang dimaksud deadlock ?
Deadlock adalah proses dimana saling terjadinya penungguan antara proses-proses yang ingin menggunakan resources (sumber daya), proses yang sedang menunggu tidak mau saling mengalah maka akan terjadi deadlock.

3.  Sebutkan 4 kondisi yang menyebabkan deadlock?
a.    Mutual Exclusion
hanya satu proses pada satu waktu yang dapat menggunakan sumberdaya.

b.    Genggam dan Tunggu (Hold and Wait)
suatu proses membawa sedikitnya satu sumberdaya menunggu mendapatkan tambahan sumber daya baru yang dibawa oleh proses.

c.    Non-Preemption
sebuah sumber daya dapat dibebaskan dengan sukarela oleh proses yangmemegangnya setelah proses menyelesaikan task.

d.    Menunggu Secara Sirkuler (Circular Wait)
Terdapat sekumpulan proses {P0, P1, …, P0} yang menunggu sumber daya dimana P0 menunggu sumber daya yang dibawa P1, P1 menunggu sumber daya yang dibawa P2, dan seterusnya, Pn–1 menunggu sumber dayayang dibawa oleh Pn, dan Pn menunggu sumber daya yang dibawa P0.

4.  Sebutkan cara mencegah deadlock dari 4 kondisi tersebut pada soal 3?
a. Mencegah Mutual Exclusion
Mutual exclusion benar-benar tak dapat dihindari. Hal ini dikarenakan tidak ada sumber dayayang dapat digunakan bersama-sama, jadi sistem harus membawa sumber daya yang tidak dapat digunakan bersama-sama.

b. Mencegah Hold and Wait
Untuk mencegah hold and wait, sistem harus menjamin bila suatu proses meminta sumberdaya, maka proses tersebut tidak sedang memegang sumber daya yang lain. Proses harus meminta dan dialokasikan semua sumber daya yang diperlukan sebelum proses memulai eksekusi atau mengijinkan proses meminta sumber daya hanya jika proses tidak membawasumber daya lain. Model ini mempunyai utilitas sumber daya yang rendah dan kemungkinan terjadi starvation jika proses membutuhkan sumber daya yang popular sehingga terjadi keadaan menunggu yang tidak terbatas karena setidaknya satu dari sumberdaya yang dibutuhkannya dialokasikan untuk proses yang lain.

c. Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus menunggu. Seluruh proses menjadi preemption, sehingga tidak ada tunggu menunggu. Cara mencegah kondisi non preemption : Jika suatu proses yang membawa beberapa sumber daya meminta sumber daya lainyang tidak dapat segera dipenuhi untuk dialokasikan pada proses tersebut, maka semuasumber daya yang sedang dibawa proses tersebut harus dibebaskan. Proses yang sedang dalam keadaan menunggu, sumber daya yang dibawanya ditunda dan ditambahkan pada daftar sumber daya. Proses akan di restart hanya jika dapat memperoleh sumber daya yang lama dan sumberdaya baru yang diminta.

d. Mencegah Kondisi Menunggu Sirkular
Sistem mempunyai total permintaan global untuk semua tipe sumber daya. Proses dapat meminta proses kapanpun menginginkan, tapi permintaan harus dibuat terurut secara numerik. Setiap proses yang membutuhkan sumber daya dan memintanya maka nomor urut akan dinaikkan. Cara ini tidak akan menimbulkan siklus. Masalah yang timbul adalah tidak ada cara pengurutan nomor sumber daya yang memuaskan semua pihak.
5.  Diketahui snapshot dari suatu sistem :
Allocation Max Available
A B C D A B C D A B C D
P0 0 0 1 2 0 0 1 2 1 5 2 0
P1 1 0 0 0 1 7 5 0
P2 1 3 5 4 2 3 5 6
P3 1 6 3 2 1 6 5 2
P4 0 0 1 4 0 6 5 6
Jawablah pertanyaan berikut :
a. Bagaimana isi matrik Need ?
b. Apakah sistem dalam state selamat ?
c. Jika proses P1 meminta (0,4,2,0) dapatkah permintaan dipenuhi segera ?
a. Isi matrik Need didefinisikan dengan Max – Allocation :
Need
A B C
P0 7 4 3
P1 1 2 2
P2 6 0 0
P3 0 1 1
P4 4 3 1
Sistem dalam keadaan state selamat dengan urutan <> yang memenuhi kriteria algoritma safety.
Misalnya proses P1 meminta tambahan anggota tipe sumber daya A dan dua anggota tipesumber daya C sehingga Request1 = (1, 0, 2). Untuk menentukan apakah permintaan dapat segera dipenuhi, pertama harus diperiksa apakah Request1 ≤ Available ((1, 0, 2) ≤ (3, 3, 2)) ternyata benar. Maka akan diperoleh state baru berikut :
Allocation Need Available
A B C A B C A B C
P0 0 1 0 7 4 3 2 3 0
P1 3 0 2 0 2 0
P2 3 0 1 6 0 0
P3 2 1 1 0 1 1
P4 0 0 2 4 3 1
Kemudian harus ditentukan apakah sistem berada dalam state selamat. Setelah mengeksekusi algoritma safety ternyata urutan memenuhi criteria safety. Setelah sistem berada pada state doatas, permintaan (3, 3, 0) oleh P4 tidak dapat dipenuhi karena sumber daya tidak tersedia. Permintaan (0, 2, 0) oleh P1 juga tidak dapat dipenuhi karena meskipun sumber daya tersedia, state hasil tak selamat.
b. Sistem dalam state tidak selamat
c. Dapat


Monday, January 22, 2018

WireShark Lab HTTP

1. The Basic HTTP GET/response interaction

Let’s begin our exploration of HTTP by downloading a very simple HTML file - one that is very short, and contains no embedded objects. Do the following:

1.      Start up your web browser.
2.      Start up the Wireshark packet sniffer, as described in the Introductory lab (but don’t yet begin packet capture). Enter “http” (just the letters, not the quotation marks) in the display-filter-specification window, so that only captured HTTP messages will be displayed later in the packet-listing window. (We’re only interested in the HTTP protocol here, and don’t want to see the clutter of all captured packets).
3.      Wait a bit more than one minute (we’ll see why shortly), and then begin Wireshark packet capture.
4.      Enter the following to your browser http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file1.html Your browser should display the very simple, one-line HTML file.

5.      Stop Wireshark packet capture.





Your Wireshark window should look similar to the window shown in Figure 1. If you are unable to run Wireshark on a live network connection, you can download a packet trace that was created when the steps above were followed.2




1.      Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is the server running?
Jawab : Browser saya versi http adalah 1.1 , server juga versi http 1.1
2.      What languages (if any) does your browser indicate that it can accept to the server?
Jawab : language = en-us , en

3.      What is the IP address of your computer? Of the gaia.cs.umass.edu server?
Jawab :
Ip saya : 192.168.1.7
IP gaia.cs.umass.edu server : 128.119.245.12
4.      What is the status code returned from the server to your browser?
Jawab : Http /1.1 200 OK (text/html)

5.      When was the HTML file that you are retrieving last modified at the server?
Jawab : Last modified = sun, 21 jan 2018 06:59:01 GMT


6.      How many bytes of content are being returned to your browser?
Jawab : content-length = 128


7.      By inspecting the raw data in the packet content window, do you see any headers within the data that are not displayed in the packet-listing window? If so, name one.
Jawab : Tidak semua header bisa ditemukan dalam data raw


2. The HTTP CONDITIONAL GET/response interaction

Recall from Section 2.2.6 of the text, that most web browsers perform object caching and thus perform a conditional GET when retrieving an HTTP object. Before performing the steps below, make sure your browser’s cache is empty. (To do this under Firefox, select Tools->Clear Recent History and check the Cache box, or for Internet Explorer, select Tools->Internet Options->Delete File; these actions will remove cached files from your browser’s cache.) Now do the following:

       Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.

       Start up the Wireshark packet sniffer
       Enter the following URL into your browser http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file2.html Your browser should display a very simple five-line HTML file.


       Quickly enter the same URL into your browser again (or simply select the refresh button on your browser)

       Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that only captured HTTP messages will be displayed later in the packet-listing window.

       (Note: If you are unable to run Wireshark on a live network connection, you can use the http-ethereal-trace-2 packet trace to answer the questions below; see footnote 1. This trace file was gathered while performing the steps above on one of the author’s computers.)



Answer the following questions:

8.      Inspect the contents of the first HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE” line in the HTTP GET?
Jawab : Tidak
9.      Inspect the contents of the server response. Did the server explicitly return the contents of the file? How can you tell?
Jawab : Ya karena kita bisa melihat isinya di field Line-based text data

10.  Now inspect the contents of the second HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE:” line in the HTTP GET? If so, what information follows the “IF-MODIFIED-SINCE:” header?
Jawab : Ya , informasinya adalah sun, 21 jan 2018 06:59:01 GMT yang merupakan tanggal modifikasi terakhir file dari GET request sebelumnya


11.  What is the HTTP status code and phrase returned from the server in response to this second HTTP GET? Did the server explicitly return the contents of the file? Explain.
Jawab : status code = 304 dan phrase = Not Modified. Server tidak mengembalikan isi file karena browser memuatnya dari cache-nya



3. Retrieving Long Documents

In our examples thus far, the documents retrieved have been simple and short HTML files. Let’s next see what happens when we download a long HTML file. Do the following:

       Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.

       Start up the Wireshark packet sniffer

       Enter the following URL into your browser http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file3.html Your browser should display the rather lengthy US Bill of Rights.

       Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that only captured HTTP messages will be displayed.

       (Note: If you are unable to run Wireshark on a live network connection, you can use the http-ethereal-trace-3 packet trace to answer the questions below; see footnote 1. This trace file was gathered while performing the steps above on one of the author’s computers.)

Answer the following questions:

12.  How many HTTP GET request messages did your browser send? Which packet number in the trace contains the GET message for the Bill or Rights?
Jawab : ada 1 HTTP GET
13.  Which packet number in the trace contains the status code and phrase associated with the response to the HTTP GET request?
Jawab : di trace saya paket nomor 15
14.  What is the status code and phrase in the response?
Jawab : Status code 200 ,phrase OK
15.  How many data-containing TCP segments were needed to carry the single HTTP response and the text of the Bill of Rights?
Jawab : Ada 5 data TCP segment yaitu 1440 , 1440, 1440 dan 541 totalnya 4861

4.  HTML Documents with Embedded Objects

Now that we’ve seen how Wireshark displays the captured packet traffic for large HTML files, we can look at what happens when your browser downloads a file with embedded objects, i.e., a file that includes other objects (in the example below, image files) that are stored on another server(s).

Do the following:

       Start up your web browser, and make sure your browser’s cache is cleared, as discussed above.

       Start up the Wireshark packet sniffer
       Enter the following URL into your browser http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-file4.html

Your browser should display a short HTML file with two images. These two images are referenced in the base HTML file. That is, the images themselves are not contained in the HTML; instead the URLs for the images are contained in the downloaded HTML file. As discussed in the textbook, your browser will have to retrieve these logos from the indicated web sites. Our publisher’s logo is retrieved from the www.aw-bc.com web site. The image of the cover for our 5th edition (one of our favorite covers) is stored at the manic.cs.umass.edu server.

       Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that only captured HTTP messages will be displayed.


Answer the following questions:

16.  How many HTTP GET request messages did your browser send? To which Internet addresses were these GET requests sent?
Jawab : ada 4 , alamat ip yang menjadi Get request adalah 128.119.245.12 ada 2 dan 128.119.245.90 ada 2
17.  Can you tell whether your browser downloaded the two images serially, or whether they were downloaded from the two web sites in parallel? Explain.
Jawab : Dengan memeriksa port TCP kita dapat melihat apakah file kita diunduh secara serial atau paralel. Dalam kasus ini, 2 gambar dikirimkan melalui 2 koneksi TCP sehingga mereka diunduh secara serial.

5 HTTP Authentication

Finally, let’s try visiting a web site that is password-protected and examine the sequence of HTTP message exchanged for such a site. The URL http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html is password protected. The username is “wireshark-students” (without the quotes), and the password is “network” (again, without the quotes). So let’s access this “secure” password-protected site. Do the following:

       Make sure your browser’s cache is cleared, as discussed above, and close down your browser. Then, start up your browser

       Start up the Wireshark packet sniffer
       Enter the following URL into your browser http://gaia.cs.umass.edu/wireshark-labs/protected_pages/HTTP-wireshark-file5.html
Type the requested user name and password into the pop up box.
       Stop Wireshark packet capture, and enter “http” in the display-filter-specification window, so that only captured HTTP messages will be displayed later in the packet-listing window.

       (Note: If you are unable to run Wireshark on a live network connection, you can use the http-ethereal-trace-5 packet trace to answer the questions below; see footnote 2. This trace file was gathered while performing the steps above on one of the author’s computers.)

Answer the following questions:

18.  What is the server’s response (status code and phrase) in response to the initial HTTP GET message from your browser?
Jawab : status code 401, phrase = Unauthorized
19.  When your browser’s sends the HTTP GET message for the second time, what new field is included in the HTTP GET message?
Jawab : field baru di pesan HTTP GET yang kedua adalah
Authorization: Basic d2lyZXNoYXJrLXN0dWRlbnRzOm5ldHdvcms=\r\n

Download Laporan WireShark Lab HTTP