Kamis, 14 Maret 2013

Sesi Lab 2 Praktikum Jarkom 2013

Program Client Server


Source Code CLIENT
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package new;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author KOMO
 */
public class Client {

    /**
     * @param args the command line arguments1111
     */
    public static void main(String[] args) throws IOException, IOException, ClassNotFoundException {
        System.out.println("1. Lanjut\n2. Mutung dech \n");
        while(true)
        {
            try {
                // TODO code application logic here
            InetAddress host = InetAddress.getLocalHost();
            Socket socket = new Socket(host.getHostName(), 1234);
               ObjectOutputStream kirim = new ObjectOutputStream(socket.getOutputStream());
                Scanner sc = new Scanner(System.in);
                String a =  sc.next();

                send.writeObject(a);

                ObjectInputStream receive = new ObjectInputStream(socket.getInputStream());
                String message = (String)receive.readObject();

                System.out.println(message);
                receive.close();
                send.close();
                socket.close();
                if(message.equals("Break the line"))
                {
                    break;
                }



            }
             catch (ClassNotFoundException ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            } catch (UnknownHostException ex) {
                Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
            }
        }          
    }
}


Source Code SERVER
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package new;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author KOMO 
*/

public class Server {
    /**
     * @param args the command line arguments
     */
       public static void main(String[] args) throws IOException {   
        int port=1234;
        ServerSocket server = new ServerSocket(port);
               while(true){
            try {
                System.out.println("Waiting message.....");
                Socket socket = server.accept();
               
                //System.out.println("Begin :\n1. Next\n2. Break \n");
                //System.out.println("1. Next");
                //System.out.println("2. Break");    
               
                ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
                String a = (String) ois.readObject();
                      
                ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
               
                if(a.equals("1"))
                {
                   oos.writeObject("Halo \nMulai :\n1. Next\n2. Break \n");
                   System.out.println("Client sending : ");
                   System.out.println(a);
                }
                else
                {
                    System.out.println(a);
                    System.out.println("Client sending : ");
                    oos.writeObject("Break the line ");
                  
                    //break;
                }        
//                ois.close();
//                oos.close();
//                socket.close();
               
                //System.out.println("Waiting message... ");
            } catch (ClassNotFoundException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(Server.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
       
    }
}

Sesi Lab 1 Praktikum Jarkom 2013

WIRESHARK


Wireshark merupakan salah satu dari sekian banyak tool Network Analyzer yang banyak digunakan oleh Network administrator untuk menganalisa kinerja jaringannya terrmasuk protokol didalamnya. Wireshark banyak disukai karena interfacenya yang menggunakan Graphical User Interface (GUI) atau tampilan grafis.

Wireshark mampu menangkap paket-paket data atau informasi yang berseliweran dalam jaringan. 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.

Wireshark dipakai oleh network administrator untuk menganalisa kinerja jaringannya. Wireshark mampu menangkap paket-paket data atau informasi yang berjalan dalam jaringan yang terlihat dan semua jenis informasi ini dapat dengan mudah dianalisa yaitu dengan memakai sniffing , dengan sniffing diperoleh informasi penting seperti password email account lain.

Wireshark merupakan software untuk melakukan analisa lalu-lintas jaringan komputer, yang memiliki fungsi-fungsi yang amat berguna bagi profesional jaringan, administrator jaringan, peneliti, hingga pengembang piranti lunak jaringan.

Wireshark dapat membaca data secara langsung dari Ethernet, Token-Ring, FDDI, serial (PPP dan SLIP), 802.11 wireless LAN, dan koneksi ATM. 


Cara memonitoring menggunakan wireshark adalah awalnya kita harus dapat terhubung ke dalam suatu jaringan.  setelah itu, kita jalankan wireshark lalu klik menu "list the available captured interfaces" dan pilih jaringan yang saat ini terhubung dengan anda lalu tekan Start. Isi IP address yang ingin kita lihat pada bagian Filter( kita bisa mencoba menggunakan IP address kita sendiri untuk mencoba).
Kemudian Klik Aplly kemudian wireshark akan membuat list semua paket yang sedang berlalu lintas didalam jaringan yang terhubung dengan kita. 





   

FileZilla


FileZilla atau juga dikenal dengan sebutan FileZilla Client, adalah salah satu software FTP gratis, open source, cross-platform. Binari tersedia untuk Windows, Linux, dan Mac OS X. Software ini mendukung FTP, SFTP, dan FTPS (FTP di SSL/TLS). Sejak 5 Maret 2009, software ini adalah software kelima yang paling populer didownload sepanjang masa dari SourceForge.net.[1]
FileZilla Server adalah produk lain dari FileZilla Client. Ini adalah server FTP yang didukung oleh proyek yang sama dan fitur-fitur dukungan untuk FTP dan FTP melalui SSL / TLS.

FileZilla 3.3.1.png

  1. Buka program Filezilla
  2. Akan muncul jendela FileZilla. Masukkan alamat di address box, misal if.its.ac.id Masukkan nama user dan password. Misal dengan nama user w190496 dan password *****. Klik Quickconnect.
    Setelah terkoneksi, akan muncul isi folder kita di dalam jendela Remote Site.
  3. Untuk mengupload file, pilih folder tempat file yang akan kita upload dari jendela Local Site. Misal D:\mail client-faq\era&ajeng\filezilla. Klik nama file yang akan diupload dari jendela Filename. Kemudian drag ke dalam jendela Remote Site.
  4. Untuk keluar dari FileZilla, pilih Disconect, kemudian Exit.
  5. Untuk mengupload folder, caranya sama dengan mengupload file, yaitu dengan mendrag folder dari jendela Filename ke jendela Remote Site.

    Beberapa coomand apabila kita mengoperasikan suatu hal, misalnya mentransfer file. contohnya adalah PWD, PASS, CWD dan lain-lain. cara menggunakannya, sebelumnya kita harus memiliki software nya terlebih dahulu, setelah terinstal barulah kita dapat menggunakannya( hehe). Kemudian isilah IP anda di kolom HOST, dan setelah itu isi username beserta password, juga port yang tersedia (ketika praktikum port di kosongkan). Hasilnya kita dapat melihat status dan command yang ada.


  

Soal Pendahuluan 2 Praktikum Jarkom 2013 Modul 1


SOAL PENDAHULUAN 2

1.        Jelaskan mekanisme pengiriman data melalui TCP/IP layer
2.        Jelaskan tentang soket dan fungsinya dalam komunikasi antar program dalam jaringan
3.        Buatlah program client-server menggunakan soket dalam bahasa JAVA. Karakterisitik program :
1. Client mengirim kalimat “Hello”
2. Server membalas dengan kalimat “Hello World”


JAWABAN SOAL PENDAHULUAN 2

1.      Cara KerjaTCP/IP
     Layer-layer dan protokol yang terdapat dalam arsitektur jaringan TCP/IP menggambarkan fungsi-fungsi dalam komunikasi antara dua buah komputer. Setiap lapisan menerima data dari lapisan di atas atau dibawahnya, kemudian memproses data tersebut sesuai fungsi protokol yang dimilikinya dan meneruskannya ke lapisan berikutnya. Ketika dua komputer berkomunikasi, terjadi aliran data antara pengirim dan penerima melalui lapisan-lapisan di atas. Pada pengirim, aliran data adalah dari atas ke bawah. Data dari user maupun suatu aplikasi dikirimkan ke Lapisan Transport dalam bentuk paket-paket dengan panjang tertentu. Protokol menambahkan sejumlah bit pada setiap paket sebagai header yang berisi informasi mengenai urutan segmentasi untuk menjaga integritas data dan bit-bit pariti untuk deteksi dan koreksi kesalahan. Dari Lapisan Transport, data yang telah diberi header tersebut diteruskan ke Lapisan Network / Internet. Pada lapisan ini terjadi penambahan header oleh protokol yang berisi informasi alamat tujuan, alamat pengirim dan informasi lain yang dibutuhkan untuk melakukan routing. Kemudian terjadi pengarahan routing data, yakni ke network dan interface yang mana data akan dikirimkan, jika terdapat lebih dari satu interface pada host. Pada lapisan ini juga dapat terjadi segmentasi data, karena panjang paket yang akan dikirimkan harus disesuaikan dengan kondisi media komunikasi pada network yang akan dilalui. Proses komunikasi data di atas dapat dijelaskan seperti pada gambar berikut ini :


Figure 1 . Proses Komunikasi Data Antar Layer
Selanjutnya data menuju Network Access Layer (Data Link) dimana data akan diolah menjadi frame-frame, menambahkan informasi keandalan dan address pada level link. Protokol pada lapisan ini menyiapkan data dalam bentuk yang paling sesuai untuk dikirimkan melalui media komunikasi tertentu. Terakhir data akan sampai pada Physical Layer yang akan mengirimkan data dalam bentuk besaran-besaran listrik/fisik seperti tegangan, arus, gelombang radio maupun cahaya, sesuai media yang digunakan. Di bagian penerima, proses pengolahan data mirip seperti di atas hanya dalam urutan yang berlawanan (dari bawah ke atas). Sinyal yang diterima pada physical layer akan diubah dalam ke dalam data. Protokol akan memeriksa integritasnya dan jika tidak ditemukan error t header yang ditambahkan akan dilepas. Selanjutnya data diteruskan ke lapisan network. Pada lapisan ini, address tujuan dari paket data yang diterima akan diperiksa. Jika address tujuan merupakan address host yang bersangkutan, maka header lapisan network akan dicopot dan data akan diteruskan ke lapisan yang diatasnya. Namun jika tidak, data akan di forward ke network tujuannya, sesuai dengan informasi routing yang dimiliki. Pada lapisan Transport, kebenaran data akan diperiksa kembali, menggunakan informasi header yang dikirimkan oleh pengirim. Jika tidak ada kesalahan, paket-paket data yang diterima akan disusun kembali sesuai urutannya pada saat akan dikirim dan diteruskan ke lapisan aplikasi pada penerima. Proses yang dilakukan tiap lapisan tersebut dikenal dengan istilah enkapsulasi data. Enkapsulasi ini sifatnya transparan. Maksudnya, suatu lapisan tidak perlu mengetahui ada berapa lapisan yang ada di atasnya maupun di bawahnya. Masing-masing hanya mengerjakan tugasnya. Pada pengirim, tugas ini adalah menerima data dari lapisan diatasnya, mengolah data tersebut sesuai dengan fungsi protokol, menambahkan header protokol dan meneruskan ke lapisan di bawahnya. Pada penerima, tugas ini adalah menerima data dari lapisan di bawahnya, mengolah data sesuai fungsi protokol, mencopot header protokoll tersebut dan meneruskan ke lapisan di atasnya.

2.      Pengertian socket adalah interface pada jaringan yang menjadi titik komunikasi antarmesin pada Internet Protocol, dan tentunya tanpa komunikasi ini, tidak akan ada pertukaran data dan informasi jaringan.

Socket terdiri dari elemen-elemen utama sebagai berikut:
1. Protokol
2. Local IP
3. Local Port
4. Remote IP
5. Remote Port

       Dalam komunikasi antara dua pihak, tentunya harus digunakan kesepakatan aturan dan format yang sama agar komunikasi dapat dimengerti. Seperti halnya dua orang yang menggunakan bahasa yang sama, maka bahasa di sini berfungsi sebagai protokol. Protokol yang digunakan dalam socket dapat menggunakan TCP ataupun UDP.

Contoh komunikasi sederhana adalah komunikasi antara komputer A dan komputer B. Baik komputer A maupun komputer B harus memiliki identitas unik, yang direpresentasikan oleh IP masing-masing.

Komunikasi yang terjadi melalui port, sehingga baik komputer A maupun komputer B harus memiliki port yang dapat diakses satu sama lain.


3.      Program :

CLIENT
package sesilabjarkom_client;

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;

public class SesiLabJarkom_Client {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args){
        try {
            // TODO code application logic here
            Socket a = new Socket("localhost", 5111);
            InputStream is = a.getInputStream();
            OutputStream os = a.getOutputStream();
            String msg = "Hello\r\n";
           
            os.write(msg.getBytes());
            os.flush();
           
            System.out.print("Client: " + msg);
            System.out.print("Server: ");
            int reader;
            while(true)
            {
                reader = is.read();
                if((char)reader == '\n') break;
                System.out.print((char)reader);
            }
           
            is.close();
            os.close();
            a.close();
           
        } catch (UnknownHostException ex) {
            Logger.getLogger(SesiLabJarkom_Client.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(SesiLabJarkom_Client.class.getName()).log(Level.SEVERE, null, ex);
        }
       
    }
}

SERVER
package sesilabjarkom_server;

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;

public class SesiLabJarkom_Server {

    public static void main(String[] args) {
        try {
            // TODO code application logic here
            ServerSocket ss = new ServerSocket(5111);
            Socket s = ss.accept();
            InputStream is = s.getInputStream();
            OutputStream os = s.getOutputStream();
           
            System.out.print("Client: ");
            int reader;
            while(true)
            {
                reader = is.read();
                if((char) reader == '\n') break;
                System.out.print((char)reader);
            }
           
            String balasan = "Hello World\r\n";
            os.write(balasan.getBytes());
            os.flush();
            System.out.print("Server: " + balasan);
           
            is.close();
            os.close();
            s.close();
            ss.close();
           
        } catch (IOException ex) {
            Logger.getLogger(SesiLabJarkom_Server.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}




Soal Pendahuluan 1 Praktikum Jarkom 2013 Modul 1



SOAL PENDAHULUAN 1

ANALISA PAKET DAN CABLING
1.       Apa itu wireshark? Jelaskan kegunaan dan cara kerja wireshark!
2.        Apa itu crimping? Jelaskan kapan harus menggunakan kabel straight dan cross, dan bagaimana cara menyusunnya dan sertakan gambar masing – masing susunan kabel!
3.       Jelaskan apa yang kalian ketahui dari gambar di bawah ini secara lengkap!


4. Jelaskan mekanisme pengiriman data berdasarkan OSI layer!



1.      Wireshark adalah sebuah Network Packet Analyzer. Network packet Analyzer akan mencoba untuk “menangkap” paket-paket jaringan dan berusaha untuk menampilkan semua informasi di paket tersebut sedetail mungkin. Wireshark digunakan untuk network troubleshooting, analisis, software dan communications development serta untuk pendidikan.

Kegunaan Wireshark :
·   Administrator jaringan menggunakannya untuk troubleshoot masalah jaringan 
·   Network security Engineer menggunakannya untuk memeriksa masalah keamanan 
·   Developer menggunakannya untuk debug implementasi protokol 
·   Umumnya digunakan untuk mempelajari protokol jaringan internal
Cara Kerja Wireshark :
Semisal menggunakan 6 laptop maka Nyalakan semua laptop yang di gunakan, lalu sambungkan laptop pada Switch dengan menggunakan kebel Straight.

Isi IP Address pada laptop yang di gunakan, Misalkan :
Laptop 1 : 192.168.1.20
Laptop 2 : 192.168.1.21
Laptop 3 : 192.168.1.22
Laptop 4 : 192.168.1.23
Laptop 5 : 192.168.1.24
Laptop 6 : 192.168.1.24
# IP Address nya tidak harus sama seperti diatas, dan jumlah laptop nya juga bisa lebih,
   sesuai kebutuhan.

Setelah mengisi IP Address cek koneksi laptopnya, apakah ke-6 laptop sudah tersambung atau tidak. Buka RUN < windows+R > ketik IP Address tujuan, misalkan < ping 192.168.1.21>         < Enter >  

      Selanjutnya, buka program Wireshark di laptop

·           Jalan kan printah ping, buka RUN ketik < ping 192.168.1.21 –t > enter, lalu lihat kembali Wireshark, pilih < Capture Options > , lihat gambar di bawah !

·         Setelah memilih Capture Options, atur pengaturannya, 

~ Centang < Enable network name resolution >
  
·    Tekan < Start >

Kita coba Share File, untuk melihat cara kerja WireShark. Misalnya kita share folder yang bernama < qwerty46 > ke laptop berm-IP < 192.168.1.21 > .

Setelah di terima, cek pada WireShark. Wireshark akan membaca folder <qwerty46 >.
                        Seperti gambar di bawah ini, yang di lingkari !
                      ~ 290 Create Request File: adhy\Desktop\qwerty46



2.      Crimping itu adalah proses pemasangan kabel UTP ke konektor RJ-45.

Kabel straight merupakan kabel yang memiliki cara pemasangan yang sama antara ujung satu  dengan ujung yang lainnya.Kabel straight digunakan untuk menghubungkan 2 device yang berbeda.

Contoh :

ü  Menghubungkan antara computer dengan switch

ü  Menghubungkan computer dengan LAN pada modem cable/DSL
ü  Menghubungkan router dengan LAN pada modem cable/DSL
ü  Menghubungkan switch ke router
ü  Menghubungkan hub ke router
Kabel cross over merupakan kabel yang memiliki susunan berbeda antara ujung satu dengan ujung dua. Kabel cross over  digunakan untuk menghubungkan 2 device yang sama.
Contoh :
  • Menghubungkan 2 buah komputer secara langsung
  • Menghubungkan 2 buah switch
  • Menghubungkan 2 buah hub
  • Menghubungkan switch dengan hub
  • Menghubungkan komputer dengan router
Cara kerja :
  • Kupas lapisan luar kabel UTP sepanjang ± 1 Cm dari ujung, sehingga 8 urat kabel terlihat dari luar.
  • Susun urutan warna kabel sesuai dengan standard internasional.
  • Masukkan Ujung kabel UTP yang telah disusun menurut urutan internasional, kemudian jepit dengan menggunakan crimping tool sampai berbunyi “klik”

Gambar 1
  • Tes dengan menggunakan LAN Tester
  • Kabel UTP siap digunakan.

Gambar 2
  • Perhatian : penyusunan salah atau penjepitan yang salah menyebabkan RJ-45 Connector tidak bisa dipakai lagi.
TEKNIK MENYUSUN KABEL TIPE STRIGHT
  • Ujung kabel yang satu dengan ujung kabel yang lainnya memiliki urutan kabel yang sama.
  • urutan warna :

Gambar 3

Gambar 4
  • Jika dicek dengan lan tester indikator lampu harus menyala 1–1, 2–2, 3–3, 4–4, 5–5, 6–6, 7–7, 8–8
TEKNIK MENYUSUN KABEL TIPE CROSS
  • Ujung kabel yang satu dengan yang lain tidak sama
  • urutan warna :
Gambar 5

Gambar 6
  • Jika dicek dengan LAN Tester, indikator lampu harus menyala 1–3, 2–6, 3–1, 4–4, 5–5, 6–2, 7–7, 8–8

3.      

Menu → Di sini kita bisa bernavigasi antar menu-menu yang tersedia di WireShark.
Display Filter → Sebenarnya adalah sebuah kolom, kita akan mengisinya dengan sintaks-sintaks untuk memfilter (membatasi) paket-paket apa saja yang bakalan ditampilkan pada list paket.
Daftar Paket → Di sini akan ditampilkan paket-paket yang berhasil ditangkap oleh WireShark, berurutan mulai dari paket pertama yang ditangkap, dan seterusnya.

Detail Paket → Sebuah paket tentunya membawa informasi tertentu yang bisa berbeda-beda antar paketnya, di sini akan ditampilkan dari detail paket yang terpilih pada Daftar paket di atasnya.
Detail Heksa → Detail paket yang terpilih akan ditampilkan dalam bentuk heksa, terkadang akan lebih mudah bagi kita mendapatkan informasi dari bagian ini.

Pada daftar bagian Daftar Paket, terdapat kolom-kolom seperti berikut ini:
- Time : Menampilkan waktu saat paket tersebut tertangkap
- Source : Menampilkan ip sumber dari paket data tersebut
- Destination : Menampilkan ip tujuan dari paket data tersebut
- Protocol : Menampilkan protokol apa yang dipakai sebuah paket data
- Info : Menampilkan informasi mendetail tentang paket data tersebut.


4.         Mekanisme pengiriman data pada OSI layer :
Ketika data ditransfer melalui jaringan, sebelumnya data tersebut harus melewati ke-tujuh layer dari satu terminal, mulai dari layer aplikasi sampai physical layer, kemudian di sisi penerima, data tersebut melewati layer physical sampai aplikasi. Pada saat data melewati satu layer dari sisi pengirim, maka akan ditambahkan satu “header” sedangkan pada sisi penerima “header” dicopot sesuai dengan layernya.






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.

Presentation Layer: Bertanggung jawab bagaimana data dikonversi dan diformat untuk transfer data. Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk gambar. Layer ini membentuk kode konversi, translasi data, enkripsi dan konversi.

Session Layer: Menentukan bagaimana dua terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling berhubungan satu sama lain. Koneksi di layer ini disebut “session”.

Transport Layer: Bertanggung jawab membagi data menjadi segmen, menjaga koneksi logika “end-to-end” antar terminal, dan menyediakan penanganan error (error handling).

Network Layer: Bertanggung jawab menentukan alamat jaringan, menentukan rute yang harus diambil selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.

Data Link Layer: Menyediakan link untuk data, memaketkannya menjadi frame yang berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya dengan kartu jaringan, mengatur komunikasi layer physical antara sistem koneksi dan penanganan error.