Monday, March 11, 2013

Jaringan Komunikasi E - Laporan Resmi Modul 1



Memasuki minggu ke 4 perkuliahan, akhirnya praktikum Jaringan Komunikasi (Jarkom) selesai dengan cukup memuaskan. Pada postingan kali ini saya akan membahas mengenai beberapa hal yang telah saya dapat dari praktikum tersebut, diantaranya:

1.     Tutorial wireshark

Wireshark merupakan sebuah network packet analyzer berbasis open source yang digunakan untuk memeriksa kejadian-kejadian yang terjadi di dalam jaringan, dari sini kita dapat mempelajari bagaimana sebuah paket dikirim, memeriksa virus atau malware dalam jaringan, dan masih banyak lagi. Cara menggunakan wireshark:

1. Download filezilla dari http://www.wireshark.org/  dan jalankan aplikasi hasil dowload Anda.
2. Apabila Anda menggunakan linux, maka jalankan perintah $sudo apt-get wireshark.
3. Buka aplikasi wireshark, apabila Capture Interaface Anda tidak dapat ditampilkan, maka tutup wireshark dan jalankan perintah $sudo wireshark.
4. Pilih koneksi yang Anda ingin pantau dari daftar Interface yang tersedia.

5. Setelah memilih koneksi mana yang ingin digunakan, maka akan muncul tampilan seperti gambar di bawah, dimana masih terdiri dari berbagai macam informasi, bisa paket yang dikirim maupun di terima oleh sistem Anda.

6. Untuk melihat paket secara spesifik, Anda dapat menggunakan filter bermacam-macam, bisa menggunakan kata kunci IP address tertentu, protokol tertentu, dan masih banyak lagi. Macam-macam protokol yang bisa digunakan:
- FTP: file transfer protocol, digunakan untuk packet yang protokolnya FTP, biasanya di FileZilla
- HTTP: hypertext transfer protocol, digunakan untuk packet yang protokolnya HTTP, biasanya Anda dapat memantau info-nya, apakah yang dilakukan suatu paket, misal : get, post, dll.
- DNS: mencari paket dengan protokol dns atau udp. 
- SMTP: paket yang berhubungan dengan email (bisa menggunakan Thunderbird, Gmail di browser, maupun layanan lainnya), melihat POP3 atau IMAP.
    Cara mencari menggunakan filter:
 (Dengan mengetik langsung)

(Dengan Analyze -> Display Filter)

7. Setelah menemukan paket yang Anda cari, Anda dapat menghentikan peng-capture-an wireshark dengan cara menekan tombol (x) seperti pada gambar dibawah:


2.     Tutorial java socket programming

Sebelum memasuki socket programming, pertama-tama kita harus mengerti dasarnya terlebih dahulu, kata kuncinya adalah soket, java, dan socket programming. Soket merupakan titik akhir dari aliran-proses komunikasi antar seluruh jaringan komputer. Java merupakan bahasa pemrograman tingkat tinggi yang terstruktur, berbasis objek, dan berbasis kelas. Socket programming merupakan sebuah program yang memudahkan pengaturan dan penggunaan soket jaringan. Socket programming ini menggunakan bahasa pemrograman Java karena Java cenderung lebih mudah dan sudah terkonsep berbasis kelas dan objek.
Contoh sederhana pemrograman soket adalah sebagai berikut, sebut saja Anda ingin mengirim suatu kata dari client ke server dan kemudian mengirim kata tersebut kembali dari server ke client.
Program pada Server:
1. Buat port dan soket pada server terlebih dahulu.
Port dibuat dengan tujuan agar hanya klien dengan port yang sama saja yang dapat mengakses server, socket pada server di buat sebagai socket utama. Tuliskan kode berikut di fungsi main:

int port = 1234; // membuat port yang akan digunakan oleh klien dan server untuk mengirimkan data
ServerSocket server = new ServerSocket(port); // menginstansiasi socket
Socket socket = server.accept(); // membuat socket

2. Buat pipa input untuk aliran data masuk.
Pipa aliran data input (Input stream) digunakan untuk mengampung input skaligus menerima pesan dari client.

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String) ois.readObject(); // membaca data yang dikirimkan oleh client
System.out.println(message) ; // mencetak data tadi ke halaman server

3. Buat pipa output untuk aliran data keluar.
Pipa aliran data output (Output stream) digunakan untuk mengirimkan data dari server ke client.

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); // membuat pipa output
oos.writeObject(message + " server"); // mengirim data dengan ditambahkan kata server dibelakangnya

Program pada Client:
1. Temukan address dari host yang Anda gunakan (localhost) dan buat socket yang ada pada client, samakan port dengan port yang telah dibuat di server.

InetAddress host = InetAddress.getLocalHost(); //menemukan address dari host yang dipakai
Socket socket = new Socket(host.getHostName(), 1234); // membuat socket dengan IP dan port yang dipakai

2. Buat pipa output untuk aliran data keluar.
Pipa aliran data output (Output stream) digunakan untuk mengirimkan data dari server ke client.

ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()); // membuat pipa output
Scanner sc = new Scanner(System.in); // memindai inputan dari client
String inp = sc.next(); // menyimpan hasil string yg dibaca hasil inputan tadi
oos.writeObject(inp); // mengirimkan inputan tadi ke server

3. Buat pipa input untuk aliran data masuk.
Pipa aliran data input (Input stream) digunakan untuk mengampung input skaligus menerima pesan balasan dari server.

ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
String message = (String) ois.readObject(); // membaca data yang dikirimkan oleh server
System.out.println(message) ; // mencetak data tadi ke halaman client

3.     Tutorial filezilla

Filezilla merupakan sebuah perangkat lunak berbasis open source yang biasa digunakan untuk melakukan transfer data dari dan ke akun web hosting. Cara menggunakan filezilla:
1. Download filezilla dari http://filezilla-project.org/ pilih filezilla-client dan jalankan aplikasi hasil dowload Anda.
2. Apabila Anda menggunakan linux, maka jalankan perintah $sudo apt-get wireshark.
3. Setelah selesai, buka aplikasi fileZilla tersebut.
4. Masukkan Host, username, password, dan port yang akan digunakan untuk memantau paket, lalu tekan "Quickconnect".
5. Paket Anda akan langsung dapat terlihat responsenya (umumnya digunakan untuk paket dengan protokol FTP).
6. Untuk keuar dari FileZilla, pilih File -> Disconect, kemudian File -> Exit.


4.     Review materi-materi asistensi (Penggunaan wireshark, FTP, Mail Server, dll)


Asistensi modul 1 ini dibagi menjadi 3 bagian, pertama pengenalan terhadap wireshark, filezilla, dan File Transfer Protocol (FTP); kedua merupakan pengenalan terhadap socket programming; dan yang ketiga adalah crimmping, namun karena satu dan lain hal bagian ketiga ini masih belum bisa diadakan.
Asistensi pertama mengenai pengenalan wireshark, dimana telah dijelaskan pada poin satu, disini kami memantau aliran data dari Hypertext Transfer Protocol (HTTP), dimana terdapat dua macam perintah yaitu GET dan POST. Metode GET digunakan untuk mengambil data, sementara metode POST digunakan untuk mengirimkan data. POST bisa Anda temukan apabila Anda mengunduh atau memposting sesuatu ke internet. GET bisa Anda temukan ketika Anda meminta data dari server, contohnya membuka halaman di web browser atau mendownload sesuatu.