Senin, 11 Maret 2013

01.24 - No comments

Yuk cari tahu mengenai apa itu wireshark, ftp (fileZilla), email client , web mail, dan juga socket programming

Mencari ilmu merupakan sebuah kewajiban namun mengamalkan kepada yang lain merupakan hal yang tak kalah penting

Mau sedikit sharing mengenai apa yang udah didapet dari mata kuliah jaringan komputer di semester 4 ini nih. Banyak bgt hal yang udah didapet dan kayaknya sayang kalo cuman dipahami sendiri. Oleh karena itu, kayaknya enak nih kalo materi yang udah didapet di share kepada semuanya supaya ilmunya dapat diambil oleh yg lain :)
  • WIRESHARK
 Tahu ga sih apa itu wireshark?? Wireshark sendiri adalah sebuah tool atau aplikasi network analyzer yang digunakan oleh network administrator untuk menganalisa kinerja jaringannya. Wireshark banyak disukai karena interfacenya yang menggunakan Graphical User Interface (GUI) atau tampilan grafis dan juga berbasi pada sistem operasi windows ataupun linux. Seperti namanya, Wireshark mampu menangkap paket-paket data/informasi yang berseliweran dalam jaringan yang kita “intip” seganas hiu hehe. Semua jenis paket informasi dalam berbagai format protokol pun akan dengan mudah ditangkap dan dianalisa. Karenanya tak jarang tool ini juga dapat dipakai untuk sniffing (memperoleh informasi penting spt password email atau account lain) dengan menangkap paket-paket yang berseliweran di dalam jaringan dan menganalisanya.

yuk tengok halaman awal dari tools wireshark ini :
Setelah berhasil menginstal program dan menjalankannya, untuk memulai proses capture, kita terlebih dahulu mengatur interface dengan cara klik menu "Capture" - "Options" lalu akan muncul tampilan berikut


Kemudian klik "Start" untuk memulai capture-ing. 
Nantinya akan kita lihat sebuah tampilan yang menampilkan hasil capture dari jaringan yang ada di 
komputer kita.


 Kita juga bisa melakukan sebuah opsi dalam memfilter capture nya, misalnya kita hanya ingin memantau hasil yang berhubungan dengan email maka kita bisa melakukan filter dengan menulis SMTP. coba lihat keterangan berikut, ini adalah keterangan yang ada dalam aplikasinya

 Setelah mengetahui bagaimana cara kerja dari tools wireshark ini maka kita bisa ambil kesimpulan mengenai fungsi kegunaannya bukan?? ya, coba kita sebutkan beberapa, untuk troubleshooting masalah di jaringan, memeriksa keamanan jaringan, mendebug implementasi protokol jaringan dalam software, mempelajari protokol jaringan secara detail dan mungkin yang lainnya. 

Beberapa waktu lalu saat kuliah , diajarkan mengenai proses terjadinya pengiriman data pada jaringan yang bisa dijelaskan mengenai lapisan-lapisan OSI ataupun OSI layer . Adapaun mekanisme Pengiriman Data Pada OSI Layer :
-Pada Layer Physical, data akan dikirim dalam bentuk sinyal analog/ berupa gelombang dan dibaca sebagai biner ( 0 atau 1 ).
-Pada Layer Datalink terjadi segmentasi dan re-assembling data yang masuk dari layer physical serta penambahan Header pada data. Didalam layer datalink ini data disebut Frame. disini sudah mulai ditentukan data akan masuk pada hardware seperti apa, MAC address dsb. 
-Pada Layer Network data akan diberikan alamat IP, menentukan kemana data akan ditransmisikan, dan menjaga trafik pada jaringan. data pada layer ini disebut Packet. disini terdapat protocol yang berperan yaitu:
·         ARP (Address Resolution Protocol) : yaitu protokol yang berfungsi untuk mendata siapa atau tujuan kemana data akan dikirimkan. yaitu dengan meresolusi alamat IP ke MAC address dari hardware tujuan data tersebut.
·         RARP (Reverse Address Resolution Protocol) : yaitu protokol yang mendata juga tujuan data akan dikirimkan atau siapa yang berada pada jaringan itu. yaitu dengan meresolusi MAC address tujuan tersebut kedalam bentuk IP dari hardware tujuan itu.
·         ICMP (Internet Control Message Protocol) : yaitu protokol yang berfungsi sebagai pengirim pesan kesalahan, seperti komputer tujuan tidak dapat dijangkau dsb.
·         IGMP (Internet Group Management Protocol) : yaitu protokol yang mendeteksikan pada router tentang adanya group jaringan multicast dan juga mengetahui beberapa host tertentu yang tergabung dalam multicast tertentu.
- Pada Layer Transport data dipecah-pecah menjadi beberapa bagian tergantung pada hardware yang tujuan. protocol yang bertugas disini ialah TCP dan UDP.
·         TCP : Protokol yang menyediakan layanan penuh lapisan transport untuk application yang dapat diandalkan / reliable
·         UDP : Protokol yang sifatnya unreliable / yang bertugas menambahkan alamat port, error control dan mengirimkan pesan-pesan proses melalui enkapsulasi atau dekapsulasi proses itu sendiri.
-Pada session layer berguna untuk menjaga, memelihara dan mengatur koneksi.  
-Pada presentation layer berguna untuk mengkonversi data, seperti ASCII untuk dokumen, gif untuk gambar dsb. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi. Protokol yang berada pada layer ini adalah :
·         TELNET : Protokol yang digunakan untuk akses remote masuk ke suatu host,data berjalan berupa teks.
·         SMTP (Simple Mail Transfer Protocol) : Salah satu protokol yang biasa digunakan dalam pengiriman e-mail di internet atau untuk mengirimkan data dari komputer pengirim e-mail ke server e-mail penerima.
·         SNMP(Simple Network Management Protocol) : Protokol yang digunakan dalam suatu manajemen jaringan untuk mengelola hardware di jaringan yang digunakan.
- Application layer menyediakan jasa untuk aplikasi pengguna. Layer ini bertanggungjawab atas pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.

oh ya ada beberapa hal terkait dengan wireshark yang perlu untuk diketahui (F.A.Q.):
Q.) Mengapa data-data yang dikirimkan melalui jaringan itu harus dipecah menjadi paket-paket?
A.) kita mengunduh file dari internet, respon yang diterima komputer adalah bahwa file tersebut sampai di komputer kita dalam beberapa paket sesuai dengan kecepatan jaringan yang ada

Q.) Perbedaan dari persistent connection dan non persisten connection?
A.) - persistent connection : menggunakan koneksi yang terus-menerus, cthnya streaming youtube, apabila terjadi kesalahan tidak terdapat warning, dan harus memulai koneksi dari awal
- non persistent connection : cthnya sepertipada saat proses chatting, kita mengetikkan dulu yang akan dikirimkan, kemudian menekan enter, dan apabila terjadi kesalahan langsung muncul warning

Q.) Perbedaan mengakses halaman web dengan dan tanpa login?
A.)- ketika mengakses halaman web biasa, cthnya membuka halaman facebook tanpa login, dalam wireshark ditampilkan respons yang diterima adalah GET , berarti kita  hanya menerima pesan dari server
 - ketika mengakses halaman facebook dengan login, pada wireshark muncul respons GET dan POST, artinya kita menerima dan juga mengirimkan pesan
Q.) Perbedaan ketika mengakses website dengan dan tanpa proxy?
A.) Akses tanpa proxy dan tidak, terlihat bedanya dalam ip.destinationnya,  ketika menggunakan proxy berarti secara tidak langsung kita menyuruh proxy untuk membuka suatu website dan mendapat respon dari server untuk kemudian diteruskan ke kita , sedangkan akses tanpa proxy berarti kita membuka secara langsung suatu halaman website 
 
  • FTP Client (FileZilla) 
File Transfer Protocol untuk mentransfer file ke/dari remote host. client yang menginisiasi transfer dan server sebagai remote host menggunakan port 21. Adapun beberapa command yang berguna dalam proses FTP ini adalah :
command FTP :

USER username
PASS password
LIST menampilkan list yang terdapat dalam direktori
RETR mengambil nama file
STOR menyimpan file ke remote host
Respond server :
331 Username OK, password required
125 koneksi data telah dibuka, mulai mentransfer
425 koneksi data tidak dapat dibuka
452 error menulis file

Adapun begini cara mudahnya menggunakan fileZilla:
- Coba download program fileZilla dan install pada komputer yang ada
- Setelah instalasi selesai, jalankan program filezilla, pada kolom host,username,password dan port silakan isi dengan parameter berikut ini.
host  = ftp.namadomain / namadomain
username = username control panel
password = password control panel
port  = 21
contoh seperti gambar dibawah ini.


- Setelah semua form terisi tekan tombol quickconnect untuk menghubungkan ke server.


- Direktori file komputer ada di sebelah kiri layar monitor anda sedangkan disebelah kanan merupakan direktori yang ada di hosting. Jika ingin melakukan upload file, anda hanya perlu melakukan drag & drop file dari direktori komputer anda ke hosting.


Anda tinggal menunggu proses upload file selesai. (untuk proses download tinggal melakukan hal sebaliknya namun terkadang harus memiliki hak akses penuh untuk dapat mendownload ataupun mengubah data pada server) 
  • E-MAIL SMTP , POP 3 dan IMAP
Simple Mail Transfer Protocol digunakan untuk mengirim email. Menggunakan protocol TCP dengan port 25. dengan 3 fase transfer :

- Handshaking (greeting)
- Transfer of messages
- Closure 
Jika terjadi transfer data maka akan membuka port baru untuk transfer data yaitu port 20, di mana port 21 untuk komunikasi, dan port 20 untuk transfer.
Email :

- POP3 (Post Office Protocol version 3) adalah protokol yang digunakan untuk mengambil surat elektronik (email) dari server email. Protokol POP3 dibuat karena desain dari sistem surat elektronik yang mengharuskan adanya server surat elektronik yang menampung surat eletronik untuk sementara sampai surat elektronik tersebut diambil oleh penerima yang berhak
- IMAP (Internet Message Access Protocol) adalah protokol standar untuk mengakses/mengambil e-mail dari server. IMAP memungkinkan pengguna memilih pesan e-mail yang akan ia ambil, membuat folder di server, mencari pesan e-mail tertentu, bahkan menghapus pesan e-mail yang ada. Kemampuan ini jauh lebih baik daripada POP (Post Office Protocol) yang hanya memperbolehkan kita mengambil/download semua pesan yang ada tanpa kecuali.
- SMTP (Simple Mail Transfer Protocol) merupakan salah satu protokol yang umum digunakan untuk pengiriman surat elektronik di Internet. Protokol ini dipergunakan untuk mengirimkan data dari komputer pengirim surat elektronik ke server surat elektronik penerima
  • Socket Programming  
Pemrograman socket ini berisi dua metode berbeda yaitu sebagai client dan juga sebagai server. 
Pertama buatlah sebuah socket yang saling menghubungkan antara server dengan klien.
pada client:
Socket [nama socket] = new Socket("[IP client]",[port] );
pada server:
Socket [nama socket] = new Socket([port]);
Perlu diperhatikan bahwa port yang diisi oleh client dan servernya haruslah sama supaya dapat tersambung.
Jika ingin terhubung maka gunakan nomor port yang sama antara klien dengan server.
lalu inisiasi input dan output stream pada server dan klien, berikut syntaxnya,
Client:
 InputStream is     = [nama socket].getInputStream();
 OutputStream os = [nama socket].getOutputStream();
Server:
Socket s = [nama socket].accept();
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
berikut adalah contoh program "hello world" antara server dengan client  yang dilakukan oleh kelompok saya bersama saudara Ruslan. Mungkin dengan program sederhana ini pembaca dapat memahami secara konsep dasar dalam melakukan pemograman socket ini :

1. Klien mengirim kata hello,dalam program ini package hello sebagai client
package hello;
import java.io.*;
import java.net.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author ruslan
 */
public class Hello {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            // TODO code application logic here
             Socket s= new Socket("127.0.0.1",1345);
            //deklarasi socket dan port yang digunakan
             InputStream is= s.getInputStream();
             OutputStream os= s.getOutputStream();
//deklarasiinput dan output stream
             String pesan= "hello\n";
             os.write(pesan.getBytes());
            // pesan “hello” dikirim ke server dengan outstream
            int c;
           
            while(true)
            {
                c = is.read();
                System.out.print((char)c);       
                if((char)c == '\n')
                    break;
            }
              //pesan dari server diterima dalam bentuk int lalu di cast ke dalam bentuk char dan diprint satu-  persatu
            s.close();
            is.close();
            os.close();
        } catch (UnknownHostException ex) {
            Logger.getLogger(Hello.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Hello.class.getName()).log(Level.SEVERE, null, ex);
        }
          
    }
}
2. server membalas dengan hello world, package helloworld sebagai server
public class Helloworlds {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            // TODO code application logic here
            ServerSocket ss = new ServerSocket(1345);
            Socket s = ss.accept();
            //deklarasi socket dan port yang digunakan oleh server
            InputStream is = s.getInputStream();
            OutputStream os = s.getOutputStream();
            //deklarasi input dan output stream
            int i,j=0;
            //String psn = null;
            char[] psn = new char[100];
            while(true)
            {
                i= is.read();
                System.out.print((char)i);
                psn[j] = (char)i;
                j++;
                if((char)i=='\n')
                break; 
            }
// server menerima pesan dari client dalam bentuk integer dan di cast ke char lalu   diprint tiap karakternya
            String pesan2 = "hello world\n";
            os.write(pesan2.getBytes());
            //server mengirim pesan balasan ke client berupa kata “hello world”
os.flush();
           
            is.close();
            os.close();
            s.close();
        } catch (IOException ex) {
            Logger.getLogger(Helloworlds.class.getName()).log(Level.SEVERE, null, ex);
        }
     }
} 
 Jaringan Komputer Kelas E
M. Iqbal Rustamadji
5111100701
(credit to partner : M. Russlan Hafiz)

0 komentar:

Posting Komentar