life, coding, and stuff

11 March 2013

Review Materi Asistensi Jaringan Komputer


OSI Layer

OSI (Open System Interconnection) adalah penggambaran bagaimana informasi dari suatu aplikasi berpindah melewati sebuah media jaringan ke suatu aplikasi di komputer lain.

OSI layer dibagi menjadi 7 lapisan. Urutan dari yang paling bawah ( Yang mengendalikan transport data) sampai yang paling atas (Yang berurusan dengan aplikasi pada umumnya) adalah sebagai berikut :

Physical
Lapisan ini bertanggung jawab untuk mengaktifkan dan mengatur interface jaringan komputer yang berbentuk fisik. Seperti Kabel, Hub, Router, dll.

Data Link
Lapisan ini mengatur topologi jaringan, peringatan error, dan pengaturan aliran data. Tugas utamanya adlah sebagai fasilitas pengiriman data yang masih mentah dan mengubahnya ke saluran yang bebas dari gangguan.

Network
Lapisan ini berfungsi untuk mengendalikan operasi subnet dengan meneruskan paket-paket dari suatu node ke node lain dalam jaringan.

Transport
Fungsi dasar dari Lapisan Transport adalah menerima data dari lapisan session, memecah data menjadi bagian-bagian yang lebih kecil bila perlu, meneruskan data ke lapisan Network, dan menjamin bahwa semua potongan data tersebut bisa tiba di sisi lainnya dengan benar.

Session
Lapisan Session mengijinkan pengguna untuk menetapkan session dengan pengguna lainnya. Lapisan ini membuka, mengatur, dan menutup suatu session antara aplikasi satu dengan lainnya.

Presentation
Lapisan ini melakukan fungsi-fungsi seperti konversi, format, dan enkripsi data.

Application
Lapisan ini bertugas memberikan sarana pelayanan langsung ke user, yang berupa aplikasi-aplikasi dan mengadakan komunikasi dari program ke program. Jika kita mencari suatu file dari file server untuk digunakan sebagai aplikasi word processor, maka proses ini bekerja melalui layer ini. Demikian pula ketika kita mengirimkan e-mail, browsing internet, chatting, membuka telnet, atau menjalankan FTP Client, proses-proses tersebut dilakukan di layer ini.


Protokol Dalam Email

SMTP (Simple Mail Protocol)
Protokol umum yang digunakan untuk mengirimkan email dari satu komputer ke komputer lain.

POP3 (Post Office Protokol v3)
Jika kita menggunkan protokol ini, email akan didownload ke local disk dan kita bisa membacanya secara offline. Kita tidak bisa membaca email terdahulu jika email yang kita download terhapus.

IMAP (Internet Message Acces Protocol)
Jika kita menggunakan protokol ini, kita bisa membaca email dari banyak account. Email akan dibaca langsung dari Server, dan mensinkronisasikannya dengan aplikasi yang menggunakan protokol ini. Semua perubahan terhadap keduanya akan disimpan


Menggunakan FileZilla FTP Client



FileZilla adalah sebuah FTP client. Dengan FileZilla, kita dapat mengorganisir dan mensinkronisasi file kita di local disk dan di remote server secara mudah dan efisien.
Hal pertama yang perlu dilakukan adalah konek ke server.
Dalam contoh, akan dipakai data berikut

Hostname: example.org
Username: john
Password: 7PjU#.J3


Masukkan data-data tersebut di field yang telah tersedia di Quickconnect bar untuk memuat koneksi baru.
Masukkan nama host di bagian host, username di Username, begitu pula dengan Password. Kita bisa meninggalkan field Port, kecuali informasi login kita menggunakan port yang spesifik. Kemudian klik Quickconnect. FileZilla akan mencoba untuk berkomunikasi dengan server. Jika berhasil, kita akan diberitahu di bagian kolom sebelah kana, dari bertuliskan Not coneccted to any server menjadi menampilkan daftar file dan direktori.

Bagian-bagian dalam FileZilla adalah sebagai berikut :




  1.  Toolbar
  2. Quickconnect bar
  3. Message Log, berfungsi untuk menampilkan pesan yang berhubungan dengan koneksi dan transfer.
  4. Local Panel, menampilkan file dan direktori yang ada di komputer kita
  5. Server Panel, menampilkan file dan direktori komputer server yang sedang kita konek.
  6. Daftar file yang akan di-transfer dan yang sudah di-transfer.


Upload

Pertama, di local panel, masuk ke direktori tempat file yang akan kita transfer. Kemudian, Buka direktori server yang akan kita tuju untuk upload di bagian server panel. Untuk mengupload, kita tinggal drag-and-drop file dari local panel ke server panel. Kita bisa melihat daftar file yang sedang kita upload di bagian bawah aplikasi. Jika berhasil, file yang baru kita transfer akan terlohat di server panel.

Download

Untuk mendownload file, atau direktori, caranya sama seperti upload. Kita cukup men-drag-and-drop file/direktori tersebut dari server panel ke local panel kali ini. 

Socket Programming di Java



Kali ini akan saya tampilkan tutorial pemrograman socket menggunakan bahasa java.
Ada dua program yang berjalan di dua komputer berbeda, dan akan saling bertukar pesan “Hello World”.

Client.java
Pertama kita import header yang diperlukan

package clientsocket;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;

Di bawah deklarasi kelas, buatlah sebuah blok exception, lalu kita buat sebuah variabel yang akan kita gunakan untuk menyimpan string yang akan kita kirim ke Server. Dalam contoh adalah “Hello World!”

public class ClientSocket {
    public static void main(String[] args) {
        try {           
            String myrespon = "Hello World!\r\n";

Lalu buat sebuah variabel bertipe Socket. Lalu isiskan alamat ip dan port yang akan kita gunakan.           
            Socket s = new Socket("10.151.43.185", 5136);

Kemudian buat dua variabel bertipe InputStream dan OutputStream. InputStream berfungsi sebagai penerima data yang dikirimkan dari komputer lain, sedangkan OutputStream berfungsi sebagai pengirim pesan ke komputer lain.

            InputStream is = s.getInputStream();
            OutputStream os = s.getOutputStream()    

Fungsi berikut akan membuat OutputStream yang telah kita buat untuk mengirimkan variabel pesan kita. OutputStream hanya menerima data bertipe bytes, jadi kita gunakan  method getBytes() untuk mengubah string menjadi bytes.

            os.write(myrespon.getBytes());
           
Selanjutnya kita buat sebuah integer yang akan digunakan sebagai penerjemah pesan dari server. Lalu buat sebuah loop yang ketika berjalan, ia akan membaca data dari InputStream dan menyimpannya dalam integer yang selanjutnya akan diubah menjadi char dan langsung ditampilkan ke layar. Jika integer yang telah diubah ke char tersebut bernilai “\n”, maka loop akan dihentikan.

            int c;    
            while(true)
            {
                c = is.read();
                System.out.print((char)c);
                if((char)c == '\n') break;
            }

Kemudian kita tutup semua Stream yang telah kita buat dan soket itu sendiri.
            os.close();
            is.close();
            s.close();

Terakhir, kita buat penutup dari exception yang telah kita buat di atas.
        } catch (UnknownHostException ex) {
            Logger.getLogger(ClientSocket.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(ClientSocket.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}



Server.java

Seperti biasa, kita import terlebih dulu header yang diperlukan

package socketserver;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;

Sebenarnya, program server tidak jauh beda dari client, bedanya, jika client adalah pihak yang meminta koneksi, maka server adalah pihak yang menyetujui koneksi.  Maka kita buat lagi variabel bertipe socket dan satu lagi variabel baru bertipe ServerSocket.

public class SocketServer {
    public static void main(String[] args) {
        try {
            Socket s = new Socket("10.151.34.185",5136);
            ServerSocket ss = new ServerSocket(5136);

 Fungsi di bawah akan membuat socket yang telah kita buat untuk disetujui oleh ServerSocket yang kita buat.           
            s = ss.accept();

Seperti client, kita juga buat dua buah Stream untuk input dan output, dan pesan kita.

            InputStream is = s.getInputStream();
            OutputStream os = s.getOutputStream();
            String respon = "Hello World!\r\n";

Kita juga buat sebuah loop yang akan memeriksa pesan masuk dari client

            int c;
            while(true)
            {
                c = is.read();
                System.out.print((char)c);
                if((char)c == '\n')
                    break;
            }
           
Terakhir kita kirim pesan respon server kembali ke client. Tambahkan flush untuk merefresh stream kita.

            os.write(respon.getBytes());
            os.flush();

Tutup Semua stream dan socket

            os.close();
            is.close();
            s.close();
            ss.close();
           
Dan terakhir, tutup exception yang kita buat

        } catch (IOException ex) {
            Logger.getLogger(SocketServer.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

Capture Paket dengan Wireshark


Wireshark adalah sebuah tool analisis jaringan yang dapat meng-“capture” paket secara real-time dan menampilkannya dalam format yang dapat kita baca. Wireshark juga dapat mem-filter, color-coding dan fitur lain yang dapat kita gali lebih jauh untuk memeriksa paket-paket yang ada di dalam jaringan
Tutorial ini akan menjelaskan bagaimana dasar capture sebuah paket dengan wireshark, mem-filternya dan memeriksanya. Kita dapat memakai Wireshark untuk memeriksa paket yang mencurigakan, menganalisis aliran trafik  di dalam jaringan dan belajar tentang berbagai protokol komunikasi di internet.
Anda dapat mendownload Wireshark di  wireshark.org

1.    Jalankan Wireshark. Pilih “Capture” dan klik “interfaces” dari toolbar.



2.    Jika ada beberapa interface yang berbeda, tentukan mana yang sedang aktif. Interface yang aktif punya alamat IP yang tertera dan punya beberapa paket yang aktif. Jumlah interface yang terlihat bervariasi, tergantung apakah kita memakai ethernet, Wi-Fi atau keduanya.



3.    Setelah kita menentukan mana interface yang aktif, klik tombol “Start” di toolbar yang sama. Lihatlah, Di bagian jendela utama, Wireshark akan menampilkan berbagai paket yang ada di jaringan. Jika dalam beberapa detik kita tidak melihat paket apapun, berarti kita memilih interface yang salah atau kita tidak punya koneksi network yang aktif.

4.    Saat kita sudah selesai meng-“capture” paket, kita dapat menghentikan aktivitas Wireshark dengan meng-klik “X” merah di bagian kiri atas.

5.    Kita dapat mem-filter melalui paket yang telah kita “capture” dan dapat melihat informasinya. Filter dapat dipakai untuk mencari paket dengan kategori dan protokol tertentu. Di kotak pencarian “Filter”, ketikkan tipe protokol yang ingin kita analisis, seperti TCP, HTTP, atau UDP. Kemudian tekan “Enter”. Kita dapat mengurutkannya lewat layer yang berbeda (Data, UDP, IP, dan lain-lain) untuk mengakses informasi tertentu yang mungkin kita butuhkan seperti misalnya besar paket dan informasi lain.



6.    Untuk melihat informasi paket yang telah kita “Capture” klik salah satu dari daftar paket, kemudian lihat di jendela di bagian bawah jendela daftar paket. Kita dapat melihat informasi spesifik mengenai paket yang telah kita tangkap.

Popular Posts