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.

Cabling: Membuat Kabel Jaringan LAN

Pada kesempatan kali ini, saya akan njelasin materi-materi yang didapat saat menjalani praktikum mata kuliah jaringan komputer pada modul pertama. Modul pertama ini wajib dikuasai agar nantinya bisa berkutat pada 5 modul selanjutnya yang tentunya bikin lebih penasaran untuk mempelajarinya.
Modul tersebut membahas tentang cabling dan analisis paket data. Pada postingan ini, akan dibahas tentang cabling terlebih dahulu. tentang analisis paket data akan dibahas di posting berikutnya.
 
Cabling atau disebut juga crimping adalah proses membuat kabel jaringan yang utuh dan sempurna. Peralatan yang dibutuhkan ialah kabel jaringan jenis UTP (Unshielded Twisted Pair), konektor untuk menghubungkan ke perangkat jaringan (konektor jenis RJ-45), crimping tool, dan LAN cable tester. Langkah-langkahnya adalah:
  1. Mengupas bagian luar dari kabel UTP (pembungkus dari kabel-kabel kecil) dengan menggunakan pengupas/pemotong yang ada pada crimping tool.
  2. Menyusun kabel dalam bentuk straight atau crossover.
  3. Merapikan susunan kabel dengan cara menekan bagian yang dekat dengan pembungkus supaya susunan kabel terlihat rata.
  4. Memotong ujung-ujung kabel yang terlihat belum rata dan rapi dengan pemotong.
  5. Memasukkan ujung-ujung kabel ke dalam konektor RJ-45 sampai ujung-ujung tadi terlihat di bagian depan konektor (sambil menekan batas antara kabel yang terbungkus dengan yang tidak terbungkus).
  6. Memeriksa kabel-kabel; apakah posisinya sudah benar dan sudah masuk dengan baik ke dalam konektor. Jika susunan kabel salah atau belum masuk ke dalam konektor secara sempurna, maka pada saat di-press dengan crimping tool kabel tersebut tidak bisa diperbaiki dan digunakan lagi.
  7. Menekan (press) konektor dengan tang crimping tool hingga kabel tidak bisa dilepaskan lagi dari konektor.
  8. Mengulangi langkah-langkah di atas untuk ujung yang satunya lagi.
  9. Mengujinya dengan memasangkan kedua ujung kabel pada LAN cable tester; jika lampu pada tester menyala semua dan sesuai dengan urutan kabel yang benar, maka kabel bisa digunakan.
Ada dua jenis pemasangan susunan kabel UTP yang umum digunakan di jaringan komputer, yaitu:

  • Straight/straightthrough (lurus): antara ujung yang satu dengan yang lain memiliki susunan yang sama. Susunan kabel ini  secara berturut-turut mulai dari sebelah kiri ialah: putih oranye – oranye – putih hijau – biru – putih biru – hijau – putih cokelat – cokelat. Susunan kabel ini digunakan ketika menghubungkan: komputer dengan switch, komputer dengan hub, komputer dengan modem, router dengan modem, switch dengan router, dan hub dengan router.
  • Crossover/cross (silang): antara ujung yang satu dengan yang lain memiliki susunan yang berbeda. Susunan kabel ini pada ujung yang satu sama dengan susunan straight, namun susunan untuk ujung yang lainnya ialah: putih hijau – hijau – putih oranye – biru – putih biru – oranye – putih cokelat – cokelat. Perhatikan bahwa untuk susunan kabel ini, kabel pada pin nomor 1 ditukarkan dengan pin nomor 3, sedangkan pada pin nomor 2 ditukarkan dengan pin nomor 6. Susunan kabel ini digunakan ketika menghubungkan: 2 buah komputer secara langsung, 2 buah switch, 2 buah hub, switch dengan hub, dan komputer dengan router.
Perlu diketahui bahwa hanya empat dari delapan buah kabel yang ada pada kabel UTP ini yang digunakan untuk mengirim dan menerima data, yaitu kabel pada pin nomor 1, 2, 3, dan 6.