Little boy questioned his mother, he asked what he can be in the future..with a sad smile, she tells him he can be anything he wants to be.... Boy said he’d become (an) astronaut and fly out into space crews around the universe he wanted to see the stars and also see other planets in outer space------------- "Why don’t we just keep dreaming, let’s keep our mind with dream and faith, as long as we wish we can make it come true, how old you are never forget your dream and keep dreaming "

Tuesday 29 May 2018

Apa itu ARP (Address Resolution Protocol)

Address Resolution Protocol 

Address Resolution Protocol (ARP) adalah protokol yang memetakan IP address ke MAC address untuk mentransmisikan data. Untuk mengirim data ke tujuan, host pada jaringan Ethernet harus mengetahui MAC address dari tujuannya. ARP menyediakan layanan penting untuk memetakan alamat IP ke alamat fisik pada jaringan.

MAC Address adalah pengidentifikasi unik dari perangkat. Biasanya tertanam di perangkat keras selama proses manufacturing. MAC address juga disebut sebagai hardware address atau physical address. Berupa alamat dengan panjang 48 bit dan biasanya diwakili menggunakan notasi heksadesimal. Kelompok angka biasanya dipisahkan dengan titik dua, garis, atau titik. Contoh notasi umum MAC address : 
  • 54: EE: 75: B1: 6F: 22
  • 54-EE-75-B1-6F-22
  • 54EE.75B1.6F22.
Proses ARP dalam memetakan IP address ke MAC address kurang lebih seperti ini :
  • Ketika suatu host mengetahui alamat IP dari rekannya tetapi tidak tahu MAC addressnya, host itu akan mengirimkan ARP request. Sebuah ARP request berisi IP address yang diketahui sebelumnya kemudian di broadcast ke jaringan lokal. 
  • Broadcast diterima oleh semua host didalam segmen Ethernet. Ketika target mengenali alamat IP-nya sendiri dengan membaca isi dari paket ARP request, ia akan merespon dengan sebuah ARP reply secara unicast ke pengirim yang berisi MAC address yang diperlukan. 
  • Prosedur resolusi alamat selesai ketika pengirim menerima paket balasan (berisi MAC address) dari target. Penerima kemudian memperbarui tabel yang berisi kumpulan ip address yang terasosiasi dengan sebuah MAC address (binding). Tabel ini disebut tabel ARP cache atau ARP table. ARP cache digunakan untuk menjaga korelasi antara setiap alamat IP dan alamat MAC yang sesuai.
Binding dalam tabel disimpan terus disimpan, diupdate dan akan menghapus entri setelah periode tidak aktif. Waktu bergantung pada sistem operasi. Aging out memastikan bahwa tabel tidak mengandung informasi untuk host yang mungkin dimatikan atau yang telah dipindahkan.

Perintah arp -a dapat digunakan pada perangkat dengan sistem operasi Windows dan Linux untuk menampilkan status tabel ARP saat ini. Berikut ini adalah contoh arp -a pada sistem Windows dan sistem Linux :
Microsoft Windows [Version 10.0.17134.48]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\ASUS>arp -a
 Internet Address      Physical Address      Type
  192.168.146.254       00-50-56-f5-7c-f0     dynamic
  192.168.146.255       ff-ff-ff-ff-ff-ff     static
  224.0.0.22            01-00-5e-00-00-16     static
  224.0.0.251           01-00-5e-00-00-fb     static
  224.0.0.252           01-00-5e-00-00-fc     static
  239.255.255.250       01-00-5e-7f-ff-fa     static
  255.255.255.255       ff-ff-ff-ff-ff-ff     static

root@Inside-Kali:~#arp -a
? (10.10.6.204) at 0a:06:0a:0a:06:11 [ether] on eth0
? (10.10.6.1) at 0a:07:0a:0a:04:02 [ether] on eth0


Simulasi

ARP beroperasi antara Layer 2 dan Layer 3 dari model OSI. Pesan ARP dikirim menggunakan Ethertype 0x0806. Ethertype adalah bidang dua oktet dalam header Ethernet. Ethertype digunakan untuk menunjukkan protokol mana yang dienkapsulasi dalam payload dari Ethernet Frame. Ethertype 0x0800 menunjukkan payload IPv4, Ethertype 0x86DD menunjukkan payload IPv6.
Dibawah ini contoh bagaimana ARP beroperasi
PC
PC1
IP : 192.168.1.1/24 | MAC : 00:50:79:66:68:00
PC2
IP : 192.168.1.2/24 | MAC : 00:50:79:66:68:01

PC1 dan PC2 belum pernah berkomunikasi sebelumnya, ARP table dari keduanya kosong (empty)

Kita akan lihat bagaimana PC1 dan PC2 berkomunikasi, dalam simulasi ini saya gunakan fasilitas ping (ICMP) dari PC1 ke PC2.

Untuk mengetahui bagaimana proses komunikasi antara kedua PC tsb saya menggunakan aplikasi packet capture Wireshark.

PC1> ping 192.168.1.2
84 bytes from 192.168.1.2 icmp_seq=1 ttl=64 time=1.135 ms
84 bytes from 192.168.1.2 icmp_seq=2 ttl=64 time=1.003 ms
84 bytes from 192.168.1.2 icmp_seq=3 ttl=64 time=1.758 ms
84 bytes from 192.168.1.2 icmp_seq=4 ttl=64 time=0.759 ms
84 bytes from 192.168.1.2 icmp_seq=5 ttl=64 time=1.294 ms

Hasil packet capture nya seperti ini :
Keterangan :
  • Paket no 54 : Merupakan sebuah paket ARP request
    • Type : ARP (0x0806) (Mendakan paket adalah sebuah menggunakan protokol ARP)
    • Protocol type: IPv4 (0x0800) (Menandakan paket payload bertype IP versi 4)
    • Opcode : request (1) (Mendakan ini adalah sebuah ARP request)
    • Sender MAC add : 00:50:79:66:68:00 (MAC Address pengirim PC1)
    • Sender IP add : 192.168.1.1 (IP dari pengirim yaitu PC1)
    • Target MAC add : ff : ff : ff : ff : ff : ff (karena MAC address belum diketahui maka dilakukan broadcast)
    • Target IP Add : 192.168.2.1 (IP address target yaitu PC2)

  • Kemudian pada paket no 55 : Merupakan sebuah ARP Reply
    • Type : ARP (0x0806) (Mendakan paket adalah sebuah menggunakan protokol ARP)
    • Protocol type: IPv4 (0x0800) (Menandakan paket payload bertype IP versi 4)
    • Opcode : reply (2) (Mendakan ini adalah sebuah ARP reply)
    • Sender MAC add : 00:50:79:66:68:01 (mendakan sebuah ARP reply dari PC2)
    • Sender IP add : 192.168.1.2 (IP dari pengirim yaitu PC2)
    • Target MAC add : 00:50:79:66:68:01 (adalah mac address PC1, menandakan paket adalah unicast)
    • Target IP Add : 192.168.1.1 (IP address target yaitu PC1)

  • Paket no 57 s/d 63 : Merupakan komunikasi PING
    • Setelah mengirim ARP request dan direspon dengan ARP reply. PC1 menyimpan MAC address PC2 pada tabel ARP dan PC1 sudah bisa berkomunikasi dengan PC2.

Jika kita tampilkan isi ARP tabel dari kedua PC tsb isinya sebagai berikut :

PC1
00:50:79:66:68:01 192.168.1.2 expires in 96 seconds
[MAC ADDRESS PC2] [IP ADDRESS PC2] [AGING]

PC2
00:50:79:66:68:00 192.168.1.2 expires in 81 seconds
[MAC ADDRESS PC1] [IP ADDRESS PC1] [AGING]

Ketika sebuah entri ARP melampaui periode aktifnya (aging out) maka entri akan dihapus dati tabel ARP, maka PC1 akan mengulang proses ARP request.

Keamanan ARP 

ARP adalah layanan yang penting dan mendasar dalam protokol TCP / IP. meski memiliki beberapa kekurangan dalam aspek keamanan. Satu masalah signifikan adalah bahwa tidak ada validasi dari ARP reply. Dalam situasi yang tepat, sistem dapat menghasilkan balasan ARP yang curang (MAC Address spoofing), menipu sistem korban untuk memetakan alamat MAC penyerang ke alamat IP yang berbeda, dan menyebabkan sistem korban mengirimkan lalu lintas yang ditujukan untuk sistem lain kepada penyerang. Penyerang kemudian dapat menjadi seorang MITM (man-in-the-middle-attack), dan dapat memantau dan memanipulasi lalu lintas yang salah arah sebelum meneruskannya ke tujuan yang sah.

No comments:

Post a Comment