"Open-minded, Brave and Full of Challenge"

“Around here, However, We don’t look backwards for very long. We keep moving forward, opening up new doors, and doing new things” _Walt Disney_

Senin, 10 Juni 2013

MODUL II (MEMBUAT WEB SERVER)


Setelah kita belajar banyak tentang web server dengan UML dan squid, bahasan selanjutnya adalah bagaimana cara membuat web server sederhana? Untuk membuat web sederhana, yang harus kita siapkan terlebih dahulu adalah membuat file .html dengan isi terserah dan simpan di dalam satu folder dengan 2 buah codingan file .java dalam folder Java Web Server yang akan kita buat. Misalnya file .html yang kita buat adalah jarkom2.html.
Kemudian buat codingan JavaWebServer.java seperti di bawah ini :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javawebserver;
/**
*
* @author ASUS A43B
*/
public class JavaWebServer {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
WebServer ws = new WebServer();
ws.start();
}
}
Lanjutkan dengan membuat file WebServer.java seperti dibawah ini :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javawebserver;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author ASUS A43B
*/
public class WebServer {
/**
* WebServer constructor.
*/
protected void start() {
ServerSocket s;
System.out.println(“Webserver starting up on port 8080″);
System.out.println(“(press ctrl-c to exit)”);
//inisialisasi server
try {
s = new ServerSocket(5050); // ganti port 80 atau lainnya gak masalah
} catch (Exception e) {
System.out.println(“Error: ” + e);
return;
}
System.out.println(“Waiting for connection”);
for (;;) {
try {
//menerima koneksi
Socket remote = s.accept();
//mengirim pesan
System.out.println(“Connection, sending data.”);
BufferedReader in = new BufferedReader(new InputStreamReader(
remote.getInputStream()));
//inisialisasi buat objek out yg udah dicoding ada headernya
PrintWriter out = new PrintWriter(remote.getOutputStream());
//membaca permintaan pengguna di kolom url
String str = “.”;
while (!str.equals(“”))
str = in.readLine();
//isi dari permintaan pengguna
out.println(“HTTP/1.0 200 OK”);
out.println(“Content-Type: text/html”);
out.println(“Server: Bot”);
out.println(“”);
FileInputStream fstream = new FileInputStream(“jarkom2.html”);
BufferedInputStream br = new BufferedInputStream(fstream);
DataInputStream dis = new DataInputStream(br);
String text;
while((text=dis.readLine()) != null)
{
out.println(text);
}
out.flush();
remote.close();
} catch (Exception e) {
System.out.println(“Error: ” + e);
}
}
}
}
Jika anda sedang menggunakan port 8080 untuk browser dan saat mengaksesnya error, maka, agar masih bisa diakses untuk praktek web server sederhana ini tanpa halangan, maka  lakukan perubahan pada port di dalam codingan yang dipake, bisa pakai 5050 atau terserah kamu asal port yang di pakai tidak sedang dipakai aplikasi lain.
Jika telah selesai lakukan run program kemudian buka web browser dan ketikkan “localhost:5050″  jika yang muncul adalah isi dari file jarkom2.html yang telah kita buat tadi, itu tandanya berhasil,tapi kalo tidak ya coba amati codingan yang kita buat mungkin ada kesalahan.

Modul 4: Simulasi Subnetting & Routing (Part II: UML Virtual Hosts)


    Simulasi berikutnya ialah menggunakan virtual host pada OS Linux yang disebut denganUser-Mode Linux (UML). Langkah-langkahnya adalah sebagai berikut.
  1. Seperti biasa, login dulu ke server berfasilitas UML. Caranya bisa dilihat melalui postingan terdahulu saya di sini.
  2. Buat skrip shell .sh sebanyak dua buah. Caranya pun bisa dilihat pada link yang terdapat pada langkah sebelumnya. Namun, isi dari masing-masing file .sh (start.shdan stop.sh) dapat dilihat pada gambar berikut.
    (NB: Sesuaikan nama dari masing-masing host atau router dengan topologi jaringan yang digunakan Pastikan antara sesama router dan router dengan host dihubungkan dengan satu switch. Hubungkan router dan host dengan nama switch yang sesuai agar ketika diaktifkan tidak terjadi masalah matinya satu atau beberapa host ataupun router sekejap setelah diaktifkan karena kesalahan menghubungkannya dengan switch tertentu).
    Isi File start.sh

    Isi File stop.sh
  3. Setelah kedua file tersebut dibuat dan disimpan, sekarang jalankan file script start.shdengan cara mengetikkan perintah bash start.sh pada Terminal. Jika tidak ada kesalahan saat mengetik isi file start.sh, maka sejumlah host-host virtual langsung muncul di layar. Setelah masing-masing host virtual menampilkan baris login, loginlah menggunakan username dan password yang ada pada filesystem UML yang kita jalankan.
    (NB: Apabila traffic jaringan ke server UML sedang padat, lebih baik jalankan dulu beberapa virtual hostnya dengan cara meng-comment (memberi tanda # di depan) beberapa baris sintaks UML tertentu pada file start.sh lalu disimpan dan dijalankan. Setelah itu sisanya baru dijalankan lagi dengan cara meng-comment beberapa baris sintaks UML yang telah dijalankan sebelumnya dan meng-uncomment (menghilangkan tanda '#') yang belum dijalankan. Hal ini dilakukan demi menghemat waktu eksekusi virtual host yang ada serta mencegah matinya beberapa host secara tiba-tiba yang salah satunya disebabkan error akibat terhambatnya proses eksekusi).

    Tampilan Sejumlah Virtual Host Setelah start.sh Diaktifkan
  4. Setelah berhasil login, sekarang kita lakukan konfigurasi ip forward pada semua virtual host dengan cara membuka file /etc/sysctl.conf dengan perintah:
    nano /etc/sysctl.conf
    Cari baris konfigurasi berikut: #net.ipv4.ip_forward=1, lalu hapus tanda pagar di baris tersebut. Simpan file lalu keluar.
  5. Lakukan konfigurasi ip tables pada router tugu_pahlawan dengan cara membuka file /etc/rc.local dengan perintah:
    nano /etc/rc.local

    Tambahkan baris konfigurasi berikut ini sebelum atau di atas perintah exit 0.
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE
  6. Lakukan konfigurasi IP address interface di masing-masing host virtual tersebut. Caranya, buka /etc/network/interfaces melalui editor (di sini saya menggunakan perintah:nano /etc/network/interfaces). Lalu ketikkan konfigurasinya. Konfigurasi yang ditulis di bagian awal untuk semua host adalah sebagai berikut..
    auto lo
    iface lo inet loopback
  7. Lalu ketikkan konfigurasi IP address interface untuk masing-masing host sebagai berikut (masih di file yang sama: /etc/network/interfaces, namun konfigurasi ini dituliskan setelah baris 'iface lo inet loopback'). Alamat IP harus sesuai dengan pembagian IP yang telah dilakukan sebelumnya. Konfigurasi dimulai dari subnet paling bawah.
    • router tugu_pahlawan
      auto eth0
      iface eth0 inet static
              address 10.151.70.74
              netmask 255.255.255.0
              gateway 10.151.70.73

      auto eth1
      iface eth1 inet static
              address 10.51.64.1
              netmask 255.255.255.252
      up ip route add 10.151.71.144/28 via 10.51.64.2

      auto eth2
      iface eth2 inet static
              address 10.51.96.1
              netmask 255.255.255.252
      up ip route add 10.51.96.0/19 via 10.51.96.2

      auto eth3
      iface eth3 inet static
              address 10.51.0.1
              netmask 255.255.255.224
      up ip route add 10.51.0.0/22 via 10.51.0.2
    • router monkasel
      auto eth0
      iface eth0 inet static
              address 10.51.96.2
              netmask 255.255.255.252
              gateway 10.51.96.1

      auto eth1
      iface eth1 inet static
              address 10.51.112.1
              netmask 255.255.255.252
      up ip route add 10.51.112.0/21 via 10.51.112.2

      auto eth2
      iface eth2 inet static
              address 10.51.120.1
              netmask 255.255.255.252
      up ip route add 10.51.120.0/24 via 10.51.120.2
    • router ampel
      auto eth0
      iface eth0 inet static
              address 10.51.64.2
              netmask 255.255.255.252
              gateway 10.51.64.1

      auto eth1
      iface eth1 inet static
              address 10.151.71.145
              netmask 255.255.255.252
      up ip route add 10.151.71.144/30 via 10.151.71.146

      auto eth2
      iface eth2 inet static
              address 10.151.71.149
              netmask 255.255.255.252
      up ip route add 10.151.71.148/30 via 10.151.71.150
    • router stasiun_gubeng
      auto eth0
      iface eth0 inet static
              address 10.51.0.2
              netmask 255.255.255.224
              gateway 10.51.0.1

      auto eth1
      iface eth1 inet static
              address 10.51.2.1
              netmask 255.255.254.0
      up ip route add 10.51.2.0/23 via 10.51.2.2
    • router siola
      auto eth0
      iface eth0 inet static
              address 10.51.112.2
              netmask 255.255.255.252
              gateway 10.51.112.1

      auto eth1
      iface eth1 inet static
              address 10.51.116.1
              netmask 255.255.252.0
      up ip route add 10.51.116.0/22 via 10.51.116.2
    • router balai_kota
      auto eth0
      iface eth0 inet static
              address 10.51.120.2
              netmask 255.255.255.252
              gateway 10.51.120.1

      auto eth1
      iface eth1 inet static
              address 10.51.120.129
              netmask 255.255.255.128
      up ip route add 10.51.120.128/25 via 10.51.120.130
    • server tp
      auto eth0
      iface eth0 inet static
              address 10.151.71.146
              netmask 255.255.255.252
              gateway 10.151.71.145
    • server gm
      auto eth0
      iface eth0 inet static
              address 10.151.71.150
              netmask 255.255.255.252
              gateway 10.151.71.149
    • host atau workstation kebun_bibit
      auto eth0
      iface eth0 inet static
              address 10.51.0.3
              netmask 255.255.255.224
              gateway 10.51.0.1
    • host atau workstation sutos
      auto eth0
      iface eth0 inet static
              address 10.51.2.2
              netmask 255.255.254.0
              gateway 10.51.2.1
    • host atau workstation taman_bungkul
      auto eth0
      iface eth0 inet static
              address 10.51.116.2
              netmask 255.255.252.0
              gateway 10.51.116.1
    • host atau workstation plaza_surabaya
      auto eth0
      iface eth0 inet static
              address 10.51.120.130
              netmask 255.255.255.128
              gateway 10.51.120.129
    • Jangan lupa ketikkan perintah ifconfig [nama_interface] up untuk mengaktifkan interface yang dimiliki oleh host maupun router (interface = eth0, eth1, dst.)
  8. Restart service networking yang menangani tentang konfigurasi jaringan agar perubahan konfigurasi yang dilakukan di atas dapat langsung diterapkan. Berikut ini perintah untuk merestart service tersebut:
    service networking restart
  9. Untuk melihat konfigurasi seluruh interface yang telah diterapkan pada masing-masing virtual host tadi, jalankan perintah ifconfig. Untuk melihat konfigurasi yang telah diterapkan pada interface tertentu saja, jalankan perintah ifconfig [nama_interface].
  10. Untuk mengetes apakah antarhost virtual sudah bisa terhubung satu sama lain atau ingin mengetes apakah bisa terhubung ke jaringan luar, gunakan perintah ping diikuti alamat IP atau situs web yang dituju. Jika hasilnya menunjukkan respon positif (ridak menunjukkan error atau pesan aneh-aneh, seperti Destination host unreachable atauPing: unknown host), maka konfigurasi telah dilakukan dengan melihat pembagian IP yang sudah dilakukan dengan benar.
Penjelasan:
       Untuk host maupun router yang memiliki tangan/interface menuju ke atas, maka untuk melakukan konfigurasi terhadap interface semacam itu, ketikkan perintah berikut:
gateway [ip_address_yang_menjadi_gateway]
agar host atau router tersebut dapat mengenali subnet yang ada di atasnya.
Sedangkan untuk router yang memiliki tangan/interface menuju ke bawah, maka untuk melakukan konfigurasi terhadap interface semacam itu, ketikkan perintah berikut:
up ip route add [network_id][subnet_mask-nya] via [ip_address_yang_terhubung_dengannya]
agar router tersebut dapat mengenali subnet yang ada di bawahnya.
Sebenarnya konfigurasi ini sama dengan mengetikkan perintah berikut:
route add [network_id][subnet_mask-nya] via [ip_address_yang_terhubung_dengannya] [nama_interface]
Tujuan dari perintah tersebut adalah untuk memanipulasi routing table. Ketika perintah tersebut dijalankan, maka di dalam file /etc/network/interfaces memang akan muncul baris perintah up ip route add ... di bawah baris netmask sesuai dengan nama interface yang diketikkan pada perintah tersebut. Namun perintah tersebut hanya bisa diterapkan selama virtual host tempat kita menjalankan perintah tersebut masih aktif/hidup. Jika virtual host tersebut dimatikan (halt) atau di-restart (reboot), maka supaya pengetesan koneksi ke subnet di atasnya tetap bisa berhasil, perintah tersebut harus dijalankan lagi.

Kamis, 14 Maret 2013

SESI LAB 1 dan LAB 2

Modul I kemaren kita dapat beberapa ilmu dasar mengenai wireshark, HTTP, FTP, dan Socket programming dengan memakai bahasa pemrograman Java.

     

Wireshark merukan salah satu dari software monitoring jaringan yang biasanya banyak digunakan oleh para administrator jaringan untuk meng-capture dan menganalisa kinerja jaringan. Salah satu alasan kenapa Wireshark banyak dipilih oleh seorang administrator adalah karena interface nya menggunakan Graphical User Unit (GUI) atau tampilan grafis.

Crimping adalah proses dimana sebuah kabel jaringan di proses agar mampu menjadi sebuah kabel jaringan yang utuh atau sempurna, arti singkatnya adalah membuat kabel jaringan.

·         Kabel Straight digunakan pada saat ingin menghubungkan antara computer dan hub ataupun sebaliknya.Dengan kata lain metode ini digunakan ketika kita akan menghubungkan 2 komputer ataupun lebih,tapi melalui perantara seperti hub ataupun switch.
·         Kabel cross digunakan pada saat kita mau menyambungkan computer ke computer lain,atau kabel ini ini digunakan kalau kita mau menghubungkan 2 komputer atau hub ke hub, dengan kata lain kabel cross di gunakan untuk menyambungkan dua perangkat jaringan yang sama.


No
Susunan Kabel Straight
Susunan Kabel Cross
1
Putih Orange
Putih Hijau
2
Orange
Hijau
3
Putih Hijau
Putih Orange
4
Biru
Biru
5
Putih Biru
Putih Biru
6
Hijau
Orange
7
Putih Coklat
Putih Coklat
8
Coklat
Coklat




Penjelasan pada gambar :
Keterangan :
1.      Filter Toolbar digunakan untuk menyaring paket yang diinginkan saja. Ada beberapa filter yang digunakan yaitu melalui filter dari IP Address, Protocol, dsb. Pada gambar diatas filter info / penjelasan singkat paket dengan menggunakan permintaan fungsi http yang berisi “GET”
2.      Packet List : Menampilkan per baris pengiriman paket yang direkam, termasuk di dalamnya
a.       No ( Pesanan paket diterima)
b.      Time ( Waktu paket diterima dari mulai paket dikirim)
c.       Source ( IP address dari perangkat yang mengirim paket)
d.      Destination ( IP address dari perangkat yang menerima paket)
e.       Protocol ( Tipe paket data seperti TCP, UDP, RTP, dsb)
f.       Length ( Panjang frame dari paket, jika ukuran / size tertulis 570, maka menunjukkan sebuah paket berukuran 570 byte)
g.       Info ( Informasi spesifik yang membentuk paket).
Rekam paket (Capturing packets ) adalah melihat pengiriman paket secara real time  dari atau terkirim ke sistem kita. Pada wireshark, terdapat penggunaan warna coding untuk membantu mengidentifikasi tipe dari traffic/lalu lintas pengiriman data dalam pandangan sekilas, secara default warna hijau menunjukkan TCP traffic, biru gelap menunjukkan DNS traffic, biru terang menunjukkan UDP traffic, dan hitam menunjukkan TCP paket dengan problem (misal mereka telah mengirimkan potongan paket yang rusak).

Ketika data ditransfer melalui jaringan, sebelumnya data tersebut harus melewati ke-tujuh layer dari satu terminal, mulai dari layer aplikasi sampai physical layer, kemudian di sisi penerima, data tersebut melewati layer physical sampai aplikasi. Pada saat data melewati satu layer dari sisi pengirim, maka akan ditambahkan satu “header” sedangkan pada sisi penerima “header” dicopot sesuai dengan layernya.


Model OSI
Keterangan

Application Layer: bertanggungjawab atas pertukaran informasi antara program komputer. Program – program ini dan protokol yang berhubungan meliputi HTTP (The World Wide Web), FTP, TFTP (File Transport), SMTP (Email), Telnet, SSH (Secure remote login), dan DNS (Name management). Pada lapisan ini data disimpan dalam bentuk Message.

Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.

Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.

Transport Layer: Menyediakan layanan transportasi dari host sumber ke host tujuan membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling). Protokol yang berfungsi pada lapisan ini adalah Transmission Control Protcol (TCP) dan User Datagram Protocol (UDP). Pada lapisan ini data disimpan dalam bentuk Segmen.

Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket. Protokol – protokol yang berfungsi pada lapisan ini adalah Ethernet, Token Ring, dan FDDI. Perangkat yang bekerja di network layer ini adalah router. Pada lapisan ini data disimpan dalam bentuk Datagram / Paket.

Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” melalui MAC Address / alamat hardware. Contoh peralatan yang bekerja pada datalink layer adalah switch, bridge, dan Network Interface Card (NIC). Pada lapisan ini data disimpan dalam bentuk Frame.

Physical Layer :
bertanggung jawab atas transmisi bit stream (binary transmission), pengaktifan dan pengaturan physical interface dari jaringan komputer, dan memodulasi data digital antara peralatan yang digunakan user dengan signal yang berhubungan. Beberapa contoh peralatan yang bekerja pada physical layer adalah kabel Unshielded Twisted Pair (UTP), kabel Shielded Twisted Pair (STP), kabel coaxial, kabel fiber optic, hub, dan repeater.