Senin, 11 Maret 2013

Tutorial Paket Data: Wireshark, FileZilla, & Pemrograman Soket

Postingan berikut merupakan lanjutan dari postingan sebelumnya, di mana pada postingan sebelumnya telah saya jelaskan tentang cabling. Sekarang saya akan membahas tentang apa itu paket data dan analisisnya. Paket data atau lengkapnya disebut paket data jaringan adalah satuan informasi dasar yang dapat ditransmisikan di atas jaringan atau melalui saluran komunikasi jaringan. (Sumber: Wikipedia). Paket data tersebut dapat dianalisis dalam berbagai cara dan digunakan untuk beberapa tujuan tertentu. Dalam praktikum yang saya ikuti, ada sebuah program yang dapat digunakan untuk analisis paket data. Program tersebut adalah Wireshark.

 
Wireshark adalah program penganalisis lalu lintas paket data dalam suatu jaringan komputer; bersifat gratis dan open-source. Program ini paling banyak digunakan oleh pekerja di bidang jaringan (di antaranya ialah administrator jaringan dan pengembang/developer perangkat lunak jaringan) karena program ini ialah satu-satunya di kelasnya yang menggunakan GUI. Biasanya dipakai untuk melakukan pemecahan masalah pada jaringan komputer, analisis mengenai kinerja jaringannya, bahkan pengembangan protokol komunikasi dan perangkat lunak berbasis jaringan. Selain itu, program ini dapat juga dipakai untuk mencari informasi tentang akun seseorang (nama alias di internet/username, surel/email, dan password) melalui penangkapan sejumlah paket data yang dianalisis terlebih dahulu. Bahkan komunikasi yang dilakukan melewati protokol VoIP (Voice over Internet Protocol), termasuk alamat IP dari pihak yang terlibat dalam komunikasi tersebut mampu disadap melalui program ini.
Cara menggunakan program ini adalah:
  1. Jalankan program.
  2. Pada tampilan awal program, pilih interface network device yang aktif (terdapat aktivitas lalu lintas data di internet), lalu klik Start.
  3. Buka suatu halaman web dalam web browser, lalu kembalilah ke jendela program wireshark.
  4. Setelah itu, program secara otomatis meng-capture/menangkap berbagai macam paket data yang lalu lalang melalui interface tersebut.
  5. Paket-paket data yang bersliweran tadi dapat dihentikan penangkapannya oleh program ini dengan mengklik tombol Stop yang terdapat pada toolbar sebelah bawah bar menu.
Pada program ini terdapat fasilitas Filter yang berguna untuk menyaring paket data yang telah ditangkap melalui interface tadi dengan kriteria tertentu (biasanya jenis protokol seperti http, ftp, icmp, dll.). Selain itu dalam program terdapat jendela daftar/Listing hasil penangkapan paket data jaringan. Pada jendela tersebut, berturut-turut terdapat kolom time, source, destination, protocol, dan info. Satu paket data yang dipilih akan ditampilkan rinciannya dalam jendela Details (terdapat di bawah jendela Listing) dan isinya yang berupa sejumlah deret angka heksadesimal berikut ASCIInya ditampilkan dalam jendela Byte Packet/Packet Content (di bawah jendela Details).

Berikutnya akan saya jelaskan tentang transfer data melalui FTP (file transfer protocol) dengan menggunakan program yang disebut FileZilla. Cara menggunakannya adalah:
  1. Jalankan program.
  2. Setelah jendela program terbuka, isikan host dengan nama host atau alamat IP dari host tersebut. Kemudian, isikan Username dan Password-nya yang sesuai agar bisa login ke dalam host tersebut. Isikan pula port-nya, yaitu 21 (port untuk FTP). Terakhir klik QuickConnect!
  3. Setelah berhasil terhubung dengan host, maka transfer data melalui FTP dapat dilakukan.

Tidak lupa pula saya menjelaskan konsep pemrograman soket menggunakan bahasa pemrograman Java. Dalam praktikum yang saya ikuti kemarin, saya diberikan contoh pemrograman soket berupa komunikasi antara server dan client. Berikut ini ialah source code lengkapnya. 

Sisi Client:

package client;
import java.net.*;
import java.io.*;
public class client {
public static void main(String[] args)
try {
PrintWriter write = null;
BufferedReader read = null;
Socket socket = null;
socket = new Socket("LocalHost", 1111);
write = new PrintWriter(socket.getOutputStream(), true);
read = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Hello");
String temp = "Hello World!";
write.println(temp);
} catch (Exception ex) {}
}

Sisi Server:

package server;
import java.net.*;
import java.io.*;<
public class Server {
public static void main(String[] args) { 

try {
ServerSocket serverSocket = null;
Socket socket = null;
PrintWriter print = null;
BufferedReader read = null;
serverSocket = new ServerSocket(1111);
socket = serverSocket.accept();
print = new PrintWriter (socket.getOutputStream(), true);
read = new BufferedReader(new InputStreamReader(socket.getInputStream());
System.out.println(read.readLine());
print.close();
read.close();
} catch (IOException ex) {System.exit(1);}
}
}

Di akhir dari penjelasan saya mengenai materi modul 1, saya mendapatkan beberapa istilah dalam jaringan komputer yang belum pernah saya ketahui sebelumnya. Istilah-istilah tersebut antara lain:
  • Connection persistention: Koneksi disebut persistent jika server membuka koneksi TCP (Transmission Control Protocol) satu kali untuk menerima request dari client berkali-kali dan koneksi akan menutup dengan sendirinya apabila dalam jangka waktu tertentu tidak ada request lagi dari client. Sedangkan koneksi disebut non-persistent jika koneksi TCP dibuka oleh server hanya untuk menerima request dari client sekali saja.
  • Digest authorization: izin pemintaan data dari client yang dikirim dalam keadaan terenkripsi.

Tidak ada komentar:

Posting Komentar