Wednesday, April 3, 2013

UDP and TCP



Pada internet protocol suite , layer transport merupakan layer yang berada diatas layer network. Jika layer network berfungsi untuk mengatur transfer data antar end-system, maka fungsi dari layer transport ini adalah untuk mengatur transfer data antar proses. Proses yang terjadi pada saat transfer data ini bisa menggunakan berbagai macam protocol seperti ;UDP (User Datagram Protocol), TCP (Transmisson Control Protocol), DCCP (Diagram Congestion Control Protocol), SCTP (Stream Control Transmission Protocol), dan RSVP (Resource Reservation Protocol). Dimana tiap-tiap protocol tersebut memiliki karakteristik dan fungsi yang berbeda-beda.

Pada tulisan kali ini saya akan coba membandingkan dua protocol yang paling sering digunakan di internet yaitu UDP dan TCP. 

    UDP
UDP merupakan protocol internet yang mengutamakan kecepatan data. Protocol ini biasanya digunakan untuk streaming video ataupun fasilitas real-time yang lain. Oleh karena itu pada UDP ini tidak memerlukan adanya setup koneksi terlebih dahulu karena hal tersebut dapat menyebabkan adanya tambahan delay. Selain itu, protocol ini termasuk dalam protocol yang sederhana, artinya antara penerima dan pengirim tidak perlu menjaga session atau status koneksi , ukuran headernya juga sederhana. UDP ini juga tidak memerlukan congestion control (control kemacetan) pada koneksinya. Maksudnya adalah UDP dapat mengirimkan per segment tanpa dipengaruhi oleh kesibukan jaringan. Berikut karakteristik lebih lanjut dari Protokol UDP :
-      Connectionless, maksudnya adalah tidak ada aktifitas handshaking antaraa UDP dan penerimanya saat akan dilakukan pengiriman data sehingga data tersebut dikirim melalui jaringan dan mencapai ke computer tujuan tanpa membuat suatu koneksi langsung. Hal tersebut beresiko karena data yang dikirim bisa hilang
-    Unreliable, maksudnya adalah pesan-pesan yang dikirim menggunakan protocol ini akan dikirim sebagai datagram tanpa adanya nomor urut atau pesan ACK (Acknowledgment). Hal tersebut menyebabkan pesan-pesan yang diterima di tujuan mungkin saja diterima dalam keadaan yang tidak urut sehingga protocol yang berjalan diatasnya (layer aplikasi) berpean penting dalam memulihkan pesan-pesan tersebut.
Contoh protocol aplikasi yang menggunakan UDP :
-          DNS
-          SNMP
-          TFTP
-          SunRPC port 111
-          dll
      TCP
TCP merupakan protocol layer transport yang paling sering digunakan di internet. Berikut karakteristiknya :
-          Point to point
Pada TCP komunikasi yang dilakukan antar user-nya bersifat point to point , maksudnya adalah satu pengiriman data dikirim oleh satu pengirim dan hanya diterima oleh satu penerima juga
-          Reliable
Berbeda dengan UDP, protocol TCP ini  bersifat reliable yang artinya data yang dikirim menggunakan TCP ini akan dikirim dengan mekanisme tertentu agar data bisa diterima secara berurutan,  Sehingga ada jaminan data yang dikirim dengan protocol ini bisa sampai ke tujuan dan tidak hilang
-          Terdapat buffer di pengirim dan penerima
-          Full duplex data
Pada protocol ini memungkinkan adanya aliran data dua arah pada koneksi yang sama
-          Connection-oriented
Pada TCP, saat pengirim akan mengirimkan data ke penerima akan terjadi proses handshaking terlebih dahulu antara keduanya. Hal ini bertujuan agar dapat melakukan sinkronisasi terhadap nomor urut dan nomor acknowledgement yang dikirmkan kedua belah pihak dan saling bertukar ukuran TCP window
-          Flow Control
Dengan adanya flow control ini,aliran data yang dikirim akan selalu dikontrol sehingga pengirim tidak  akan membuat  penerima menjadi kewalahan saat menerima data-data yang dikirimkan tersebut.
Membandingkan TCP dan UDP Menggunakan Wireshark
Pertama-tama capture-lah paket-paket pada suatu jaringan yang menggunakan TCP dan UDP, kemudian pilih salah satu paket masing-masing untuk UDP dan TCP dan liat detail dari paket tersebut khususnya pada layer  transport-nya. Berikut contohnya





Pada gambar diatas dapat dilihat perbandingan protocol layer transport antara kedua paket tersebut. gambar yang bawah merupakan paket yang  transport layer-nya  menggunakan protocol TCP, sedangkan gambar yang atas menggunakan protocol UDP. Pada gambar tersebut terlihat jika paket yang menggunakan protocol TCP lebih kompleks daripada layer transportnya daripada UDP. Hal tersebut terjadi Karena kedua protocol ini memiliki karakteristik yang berbeda. Dapat kita lihat pada gambar TCP memiliki banyak parameter yang tidak dimiliki oleh UDP pada detail paketnya seperti space number, header length acknowledgement  number, flags, SEQ/ACK analysis,dll. Sedangkan UDP hanya memiliki beberapa parameter seperti source port, destination port, length, dan checksum.
UDP memiliki karakteristik yang sederhana karena protocol ini memang dibuat untuk mengoptimalkan kecepatan pengiriman datanya. Apabila protocol UDP diberi parameter yang banyak dan kompleks, maka akan terjadi delay yang cukup panjang dan akan melenceng dari tujuan utamanya yaitu mengoptimalkan kecepatan transfer data. Paket yang menggunakan protocol ini memerlukan kecepatan data yang optimal karena protocol ini biasanya digunakan pada aplikasi-aplikasi real time seperti streaming video,audio,dll.
Kemudian pada TCP terdapat banyak parameter pada paketnya karena protocol ini mengutamakan keandalanya dalam pengiriman data ke tujuan. Maksudnya adalah pada protocol ini terdapat jaminan bahwa paket yang dikirim akan sampai ke alamat tujuan tanpa ada kerusakan pada paket dan berurutan. Protocol ini memiliki suatu mekanisme sendiri agar paket tersebut dapat diterima secara utuh dan berurutan. Terjadi proses handshaking terlebih dahulu pada saat akan mengirimkan paket sehingga terjadi sinkronisasi terhadap nomor urut dan nomor acknowledgement pada kedua belah pihak. Itulah mengapa terdapat banyak parameter pada paket detailnya karena terjadi proses yang cukup kompleks pada pengiriman datanya berbeda dengan protocol UDP yang tidak menggunakan proses handshaking pada pengiriman datanya.

Sunday, March 17, 2013

Capturing SMTP


Pengertian Email dan Protokolnya
  
Email merupakan salah satu fasilitas yang terdapat di internet yang sering digunakan oleh para peselancar dunia maya. Email (electronic mail) ini sering digunakan karena mudah, praktis, dan gratis untuk siapa saja. surat yang dikirim pun bisa langsung sampai ke tujuan dengan sekejap mata. Email memiliki Sistem yang beroperasi di atas jaringan berbasis pada model store and forward. Sistem ini mengaplikasikan sebuah sistem server email yang menerima, meneruskan,  mengirimkan, serta menyimpan pesan-pesan user, dimana user hanya perlu untuk mengkoneksikan pc mereka ke dalam jaringan. Proses pengiriman email ini sendiri sebenarnya berbeda dengan pada saat kita melakukan browsing-browsing biasa, karena email menggunakan protocol yang berbeda. Saat browsing sendiri protocol yang biasa digunakan adalah HTTP, SSDP, dll. Sedangkan saat mengirim email, protocol yang digunakan biasanya adalah SMTP, POP, dan IMAP. Berikut penjelasanya ;

1.      SMTP (Simple Mail Transfer Protocol)
SMTP adalah sebuah protocol yang berada pada layer aplikasi yang digunakan untuk standard pengiriman email. Protocol ini cukup sederhana, berbasis teks dan mempunyai tugas untuk menyebutkan satu atau lebih email yang kemudian akan diverifikasi, valid atau tidak. Apabila valid email tersebut baru akan dikirim. SMTP merupakan protocol yang sederhana, jadi protocol ini tidak memiliki kemampuan untuk melakukan penyimpanan dan pengambilan email dari mailbox. Untuk mendapatkan fungsi tersebut, maka dibutuhkan protocol lain yaitu POP dan IMAP.

2.      POP (Post Office Protocol)
POP adalah sebuah protocol yang berada pada layer aplikasi yang digunakan sebagai standard protocol untuk pengambilan email dari remote server melalui koneksi TCP/IP. Sekarang ini Protokol POP sudah berkembang menjadi POP3.
  
3.      IMAP
Tidak berbeda jauh dengan POP3, IMAP juga merupakan protocol standar pada layer aplikasi yang digunakan untuk mengakses/mengambil e-mail dari server. Hanya saja IMAP memungkinkan pengguna untuk 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 POP3 (Post Office Protocol versi 3) yang hanya memperbolehkan kita mengambil/download semua pesan yang ada tanpa kecuali.

Jenis-Jenis Email 
 
Meskipun begitu, tidak semua email yang menggunakan protocol-protokol tersebut. Mekanisme pengiriman email dibedakan menjadi beberapa jenis, yaitu;
1.      POP mail
POP mail adalah e-mail yang diterima melalui Internet Service Provider yang menjadi langganan kita. Jadi untuk mendownload e-mail dari server tersebut, kita harus mempunyai program client mail, seperti Eudora atau Microsoft Outlook Express, dll di komputer yang digunakan. Selain mendownload kita juga bisa mengirim balasan dari email yang kita terima. 

2.      Web Based email
Web Based E-mail adalah layanan e-mail yang basis aksesnya adalah dalam bentuk halaman web. Jika ingin mengakses, memeriksa atau mengirim e-mail, maka harus masuk ke situs web penyedia layanan e-mail yang sudah ada di web seperti gmail, yahoo, dll. Jadi kita tidak harus menginstall email client pada computer kita untuk membukanya.

3.      Email Forwarding
Email Forwarding adalah layanan e-mail yang meneruskan e-mail yang di terimanya ke alamat e-mail yang lain. Email jenis ini akan terasa manfaatnya bagi anda yang belum menemukan layanan email yang cocok alias suka gonta-ganti email. Pada prinsipnya email forwarding ini merupakan layanan email yang meneruskan email yang dikirim kepadanya ke account email Anda yang lain.

Capturing SMTP
Pada kesempatan ini, saya akan mencoba untuk meng-capture salah protocol dari pop mail yaitu SMTP. Untuk melakukanya, saya memerlukan sebuah software kecil untuk membantu saya yaitu file bomber. karena jika tidak menggunakan file bomber ini, protokol SMTP yang diinginkan tidak mau muncul. File bomber sendiri adalah sebuah software ringan yang digunakan untuk mengirim email secara beruntun dalam jumlah yang banyak hanya dengan sekali kirim. Meskipun begitu, saya harap anda sekalian tidak menggunakan software ini untuk hal-hal yang merugikan orang lain.
1.      Langkah awal untuk melakukan bombing email ini adalah dengan menjalankan file bomber
2.       Setelah, filebomber dibuka, lakukan login email yang akan kita gunakan untuk mengirim email dengan cara memasukan mail account dan mail password kita pada bagian login. Jika sudah klik set mail. Lalu isikan alamat email target yang akan kita banjiri dengan email pada kolom victim. Isi juga subjek, isi emai, dan jumlah email yang akan kita kirim
 
3.      Kemudian bukalah wireshark saat file bomber sedang bekerja, cobalah lihat traffic-nya apakah ada paket dengan protocol SMTP atau tidak. Gunakan filter SMTP untuk mempermudah pencarian

  
4.      Berdasarkan gambar di atas kita bisa melihat bahwa ada protocol email yang dikirim yaitu SMTP. IP source dan destination pada protocol SMTP tersebut adalah 74.125.129.108 dan 192.168.137.201 secara bergantian. 192.168.137.201 merupakan IP address dari user yang mengirimkan email, sedangkan 74.125.129.108 merupakan alamat dari Gmail yang dituju. jadi hasil capture tersebut merupakan conversation protokol SMTP yang terjadi antara 74.125.129.108 dan 192.168.137.201.



Sunday, March 10, 2013

WireShark Introduction

Pada posting sebelumnya, saya telah membahas sedikit tentang bagaimana cara kerja dari salah satu software monitoring jaringan yaitu Microsoft Network Monitor 3.4. pada kesempatan kali ini, saya akan membahas tentang software monitoring jaringan yang lain yaitu Wireshark. Sama dengan Microsoft Network Monitor 3.4,  Wireshark merupakan salah satu software monitoring jaringan/network packet analyzer yang berfungsi untuk menangkap (capture) paket-paket yang dikirim pada suatu jaringan dan berusaha menampilkan informasi pada paket tersebut sedetail mungkin. Keunggulan dari software wireshark ini adalah :
-Tersedia untuk OS Linux dan windows
-meng-capture secara langsung semua paket yang ada pada suatu network interface
-menampilkan informasi yang detail mengenai paket yang di-capture
-memiliki berbagai macam filter berdasarkan protokol-protokol yang sering digunakan pada jaringan komputer
-bisa dibuat berbagai macam tampilan statistika
-dll

Sebagai permulaan, kita bisa mendownload software tersebut di http://www.wireshark.org/download.html .

Instalasi
 
setelah berhasil didownload, install program tersebut. Berikut langkah Instalasinya. Pertama buka file setup wireshark dengan cara double click / run as administrator maka akan muncul kotak dialog seperti berikut
Klik next kemudian akan muncul kotak dialog seperti berikut

Kotak dialog tersebut merupakan license agreement dari wireshark. Klik “I agree” untuk melanjutkan instalasi

Pada bagian ini, terdapat pilihan-pilihan komponen yang akan di-install. Centang saja semua komponen tersebut kemudian klik next

Kotak dialog tersebut berisikan tentang shortcuts yang akan dibuat. Centang desktop icon jika anda ingin shortcut yang ada di desktop, kemudian klik next

Pada kolom destination folder, anda harus mengisikan dimana anda akan menginstall wireshark ini, jika sudah klik next

Pada bagian ini anda akan diminta untuk menginstall WinPcap atau tidak. Jika di computer anda sudah ada program ini maka anda tidak perlu meng-install-nya lagi. Kemudian klik install
Di tengah-tengah instalasi nanti akan ada kotak dialog seperti dia atas. Klik next jika memang di computer anda belum ter-install winPcap. Jika instalasi WinPcap dan wireshark sudah selesai, klik finish kemudian jalankan wireshark-nya
 
Memulai Wireshark 
 

Gambar diatas merupakan tampilan awal dari wireshark. untuk melakukan capture, langkah awal yang perlu dilakukan adalah memilih interface yang akan digunakan. Setelah memilih interface yang akan digunakan, klik start untuk memulai capture

Gambar di atas merupakan tampilan saat wireshark mulai melakukan capture. Berikut penjelasan lebih lanjut dari tiap bagiannya :

1.   Menu bar--->Menu bar berisi tools yang bisa digunakan untuk membantu dalam meng-capture paket data. Selain itu juga terdapat menu-menu yang bisa digunakan untuk setting wireshark itu sendiri

2.   Display filter---> Display filter merupakan kolom yang digunakan untuk menuliskan command untuk filter. Commad untuk filter sendiri bisa bermacam-macam sesuai dengan protocol apa yang ingin di filter

3.  Daftar paket yang ditangkap---->Daftar paket yang ditangkap akan diperlihatkan secara terus menerus selama jaringan dan computer yang di filter dalam keadaan aktif. Daftar ini berisi bermacam-macam kolom, yaitu ;
·         Time        -->berisikan waktu kapan paket tersebut di-capture
·         Source      -->berisikan IP sumber dari paket tersebut
·         Destination-->berisikan Ip tujuan dari paket tersebut
·         Protocol    -->berisikan protocol apa yang digunakan paket tersebut
·         Info           -->berisikan detail informasi dari paket tersebut

4.  Detail paket---> Pada bagian ini ditampilkan detail paket dari paket yang di sorot pada daftar paket yang di tangkap. Detail ini berisi frame, Ethernet II, media type, dll. Tiap paket memiliki detail yang berbeda-beda.

5.  Detail paket heksa---> Bagian ini sama dengan detail paket, hanya saja detail paketnya dituliskan dalam bentuk heksadesimal

Menerapkan Filter 
Seperti yang terlihat pada gambar sebelumnya, dalam suatu jaringan terdapat bermacam-macam paket yang dikirim dan dapat di-capture oleh wireshark. Pada table daftar paket yang ditangkap terdapat berbagai macam paket dan terkadang membuat kita bingung saat kita ingin melihat paket tertentu saja. oleh karena itu, wireshark menyediakan suatu tool untuk memudahkan hal tersebut, yaitu filter. Filter ini digunakan dengan cara memasukan command filter yang akan dipakai pada kolom display filter kemudian klik apply kemudian wireshark akan memilih paket berdasarkan protocol yang anda inginkan. Ada berbagai macam filter yang tersedia di wireshark seperti http,icmp,snmp,udp, dan masih banyak lagi. Berikut contoh penerapan filter pada wireshark
 
Gambar di atas merupakan hasil capture dengan menggunakan filter ip source dan protocol http. Hal itu dapat kita lihat pada kolom display filter. Pada kolom tersebut tertulis :



 

Ip.src == 192.168.137.210 ---->berarti wireshark hanya akan menampilkan paket dengan Ip source 192.168.137.210
&& http --> àtanda && disini merupakan suatu command yang digunakan untuk melakukan lebih dari satu filter. Setelah tanda && terdapat http, berarti selain filter ip source, wireshark juga melakukan filter terhadap paket-paket dengan protocol http saja. tetapi, pada table daftar paket yang ditangkap terdapat protocol SSDP juga selain HTTP. Ini terjadi karena SSDP sebenarnya merupakan protocol yang mirip dengan HTTP, protocol ini juga tidak terdapat pada filter wireshark. Jadi setiap kali dilakukan filter terhadap HTTP, SSDP juga akan ditampilkan.

 
Demikian yang bisa saya sampaikan. saya mohon maaf apabila ada kesalahan. terima kasih :)