TU UTORIA AL PENG GGUNA AAN ARP P TABELL MENG GGUNAK KAN Z ZENITY KELO OMPOK 9 : 1. RISKYY SEPTIADI H.
72090 040033
2. CHOIRUN NISAK K
72090 040043
3. INDRA A SURYA D DINATHA
72090 040058
4. MUKTTI RAGIL W W
72090 040059
AKTIKUM JA ARINGAN K KOMPUTER R 1 PRA JUR RUSAN TEK KNIK TELEK KOMUNIKA ASI PENS‐ITS 2 2010‐2011
Tujuan : Tujuan kami membuat tutorial ini adalah sebagai petunjuk untuk pengguna yang ingin membuat ARP tabel dengan menggunakan zenity.
Sekilas Teori : Tabel arp didapatkan dari request (broadcast) ke jaringan. ARP Berada pada layer 3 Jaringan:
ARP Table IP Address MAC Address 172.16.10.3 00-0C-04-32-14-A1 172.16.10.19 00-0C-14-02-00-19 172.16.10.33 00-0C-A6-19-46-C1
Address Resolution Protocol disingkat ARP adalah sebuah protokol dalam TCP/IP Protocol Suite yang bertanggungjawab dalam melakukan resolusi alamat IP ke dalam alamat Media Access Control (MAC Address). ARP didefinisikan di dalam RFC 826. Ketika sebuah aplikasi yang mendukung teknologi protokol jaringan TCP/IP mencoba untuk mengakses sebuah host TCP/IP dengan menggunakan alamat IP, maka alamat IP yang dimiliki oleh host yang dituju harus diterjemahkan terlebih dahulu ke dalam MAC Address agar frame‐frame data dapat diteruskan ke tujuan dan diletakkan di atas media transmisi (kabel, radio, atau cahaya), setelah diproses terlebih dahulu oleh Network Interface Card (NIC). Hal ini dikarenakan NIC beroperasi dalam lapisan fisik dan lapisan data‐link pada tujuh lapis model referensi OSI dan menggunakan alamat fisik daripada menggunakan alamat logis (seperti halnya alamat IP atau nama NetBIOS) untuk melakukan komunikasi data dalam jaringan.
Dalam implementasi jaringan Internet lebih sering tersambung melalui
Ethernet Local Area Network (LAN). Setiap transmisi data di jaringan LAN akan berisi alamat Medium Access Control (MAC) node source & destination. MAC address panjangnya 48 bit dan tidak ada konsep hirarki (dengan NET_ID,
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 2
HOST_ID dll) seperti IP addres. Oleh karenanya tidak mungkin melakukan routing menggunakan MAC address. MAC address sama sekali berbeda dengan IP address. Sayangnya, pengirim paket IP kemungkinan besar tidak akan tahu MAC address dari mesin yang dituju yang berada di jaringan yang sama. Oleh karena itu, di kembangkan Address Resolution Protocol (ARP), yang di jelaskan di RFC 826 memberikan mekanisme yang memungkinkan sebuah mesin pengirim paket untuk menanyakan MAC addresspenerima, jika hanya mengetahui IP address yang dituju. Tabel ARP pada dasarnya hanya berisi MAC address dan IP address masing‐ masing komputer & biasanya tidak statis, sangat dinamik. Skenario penggunaan ARP sebagai berikut, jika sebuah komputer butuh berkomunikasi dengan komputer yang lain, maka komputer tersebut biasanya akan melalui langkah berikut:
Komputer akan cek tabel routing, mencari router selanjutnya untuk menuju ke jaringan yang di tuju.
Jika ada router yang valid, misalkan IP addressnya 192.168.1.1, komputer kemudian akan cek tabel ARP untuk melihat apakah ada MAC address dari NIC router. Dengan cara ini, komputermemastikan bahwa paket akan dikirim ke tujuan (router) yang benar.
Jika ada dalam tabel ARP, komputer akan mengirimkan paket IP ke NIC komputer tersebut, dan memerintahkan NIC untuk mengenkapsulasi paket ke dalam frame yang ditujukan ke MAC addressdari router.
Jika ternyata tidak ada dalam tabel ARP, maka komputer akan mengirimkan paket ARP request di jaringan menanyakan router 192.168.1.1 mempunyai MAC address berapa, supaya pengiriman paket dapat dilakukan.
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 3
Jika ada jawaban di terima, maka IP paket akan dikirim dan tabel ARP akan di update dengan MAC address yang baru. Setiap router dalam jalur pengiriman paket, akan mengambil IP paket keluar
dari frame Ethernet, dan membuang informasi [[MAC Address]‐ nya. Router akan melihat IP address tujuan & melihat tabel routing yang ada untuk menentukan router selanjutnya yang harus di lalui IP paket tersebut. Dalam bentuk gambar, proses transaksi ARP dapat di gambar kan sebuah komputer, misalnya dengan IP address 132.92.121.1 MAC address 00:80:48:E3:D2:69 yang terhubung ke jaringan LAN. Komputer 132.92.121.1 ingin berhubungan dengan komputer 132.92.121.2 yang belum di ketahui MAC addessnya. Maka Komputer 132.92.121.1 akan mengirimkan ARP Request menanyakan MAC address komputer 132.92.121.2, yang di tandai dengan MAC address 00:00:00:00:00:00 pada MAC address target di message ARP Request.
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 4
Komputer 132.92.121.2 dengan MAC address 00:80:AD:17:96:34 yang berada di LAN memonitor permohonan dari komputer 132.92.121.1. Maka komputer 132.92.121.2 akan menjawab dengan ARP responds, yang memberikan MAC address komputer 132.92.121.2.
Informasi MAC address komputer 132.92.121.2 akan dimasukan ke dalam ARP Table yang ada di komputer 132.92.121.1.
Berikut ini adalah macam‐macam perintah ARP :
arp ‐a untuk menampilkan arp komputer anda,
parameter arp ‐s "ip adrress" "MAC adrress" untuk merubah/membuat arp anda dari dynamic menjadi static.
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 5
Penjjelasan : Mula‐mu ula kita haru us memaham mi desain GUI G (Grapical User Interrface) yang a akan buat dan d nantinyaa akan dipeergunakan. Berikut B ini aadalah gamb baran awal t tampilan GU UI yang berhasil kami buat :
Push Button n
Radio Lis st
Ga ambar 1
Tamp pilan diatass adalah tam mpilan awal GUI yang kami buat.. Tampilan
t tersebut me enggunakan perintah Zeenity yang daari ketiga op psi yang kam mi sediakan y yaitu ‘Lihat Tabel ARP’’, ‘Tambah ARP’, dan ‘Kurangi ‘ AR RP’ dapat diipilih salah s satunya. Dan dari pilihaan‐pilihan teersebut dapat dipilih saalah satu, kaarena kami m menggunaka an Radio Lisst (radio List hanya dapat dipilih satu u dari beberaapa pilihan s saja). Selain n menggunaakan fasilitaas radio listt, kami jugaa menggunakan Push B Button yait u yang bertu uliskan ‘Canccel’ dan ‘OK’, sehingga kkedua tombo ol tersebut d dapat diperg gunakan. Ap pabila anda ttelah meme emilih pilhan n pada radio o list, untuk m melanjutkan n ke tahap berikutnya an nda harus m menekan ‘OK K’. Jika ingin keluar dari t tampilan zenity tersebu ut maka and da harus me enekan tombol ‘Cancel’, dan akan k keluar tamp pilan GUI sep perti berikut :
Push B Button
Ga ambar 2
T Tampilan awal GUI teersebut dib buat dengan n menggunakan progrram zenity s sebagai beri kut : #! !/bin/bash h ut tama(){
Menciptakan n tampilan paada GUI yang berbenttuk radiolist.
an ns=$(zenit ty --list t --text "Pilih Sa alah Satu" " --radiol list - co olumn "Pil lih" --col lumn "Kete erangan" TRUE T "Liha at Tabel ARP" A FA ALSE "Tamb bah ARP" FALSE F "Kur rangi ARP" " ); }
ut tama;
Perinttah tersebut m menjelaskan bahwa anda akan lanjut ke tahap GU UI berikutnyaa yang telah kami disediakan.
Untu uk memanggil fugsi utamaa
Sebelum masuk le ebih jauh mengenai pen njelasan meengenai tam mpilan awal p pada tampil an GUI awaal sudah terllihat adanyaa radiolist, seelain hal itu ada 1 lagi y yang dipergu unakan agarr nantinya daalam prosessnya akan seperti yang d diharapkan. Y Yaitu perinta ah Case. Dim mana perintaah case adallah suatu peerintah yang digunakan u untuk sebuaah pilihan yaang lebih daari satu pilih han dan dap pat memilih salah satu o opsi, jika tidak memilih satu opsi tersebut maka m akan dilanjutkan pada opsi Singkat cerita perintah case adalah b berikutnya. h suatu penggkondisian d dimana ada s suatu opsi yang harus dipilih salah satu (Fungsinyaa sama seeperti kita
m menggunaka an perintah “if”). Selain n itu pada program‐pro p ogram yang kami buat m menggunaka an banyak fungsi. Hal tersebut bertujuan b aagar tidak mengulang m p program yan telah ditulis, sehinggga apabila nantinya teerdapat proggram yang s sama. Maka a dengan mu udahnya kitaa hanya mem manggil funggsi tersebut yang telah k kita buat. Dalam D progrram diatas nama fungsi yang kam mi pergunakkan adalah f fungsi ‘ utam ma’, sehinggga untuk meemanggilnyaa cukup den ngan menuliskan nama f fungsinya ya aitu ‘utama’ dan diakhirii dengan tan nda titik kom ma (;). Sekaran ng kita menuju ke pilihaan awal yaittu lihat tabeel ARP, dimana dengan m mengeklik radiolist r pad da pilihan yaang tersediaa diatas dan n menekan ‘OK’, ‘ maka k kita akan se ecara otomatis melihat tampilan daari GUI daftaar list nama‐‐nama dan a alamat ARP yang sedan ng connect dengan d kita.. Untuk men nunggu tampilan tabel G GUI yang memperlih hatkan ARP P‐ARP yangg connect dengan kita, k kami m menyediaka an GUI yangg disitu terllihat bahwaa proses yang kita min nta sedang m mengalami mengidentiffikasian ARP P. Tabel GU UI yang dim maksud adalaah sebagai b berikut :
Ga ambar 3
Apabila tombol ‘can ncel’ yang ditekan, d maka akan lan ngsung men nampilakan t tampilan GU UI yang awal tadi (sepertti gambar 1). Dan program m yang dibuaat sebagai berikut : " "Lihat Tab bel ARP")
a arp -a > arp.sh a
(
echo "15" ; sleep 0.5 echo "# Mengidentifikasi." ; sleep 0.5 echo "30" ; sleep 0.5 echo "# Mengidentifikasi.." ; sleep 0.5 echo "45" ; sleep 0.5 echo "# Mengidentifikasi..." ; sleep 0.5 echo "60" ; sleep 0.5 echo "# Mengidentifikasi." ; sleep 0.5 echo "75" ; sleep 0.5 echo "# Mengidentifikasi.." ; sleep 0.5 echo "90" ; sleep 0.5 echo "# Mengidentifikasi..." ; sleep 0.5 echo "100" ; sleep 0.5 echo "# Terdeteksi" ;
) | zenity --progress \ --title="Progress" \ --text="Terdeteksi" \ --percentage=100
if [ "$?" = 1 ] ; then
Untuk memanggil fungsi utama untuk kembali ke menu utama
utama;
fi d=$(grep ether arp.sh); case $d in "") zenity --info --text="Tabel ARP masih kosong"
--width=400
;;
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 9
Untuk me engatur posisi tulisan pada p zenity dengan perintah ggrep untuk meemanggil yan ng ada pada fiile n.sh
* *) z zenity --i info --tex xt "Tabel ARP : `awk '/et ther/{ pri int $5 }' n.sh` $ $d";; ; ;; e esac u utama; c cek;
Untuk mem manggil fungsi cek untuk m mengecek pilihan apa yang akan dipilih
; ;;
Setelah ARP terdetekksi oleh PC yyang kita gun nakan, akan n muncul tam mpilan GUI s seperti gam bar berikut :
G Gambar 4
Kami me enggunakan perintah ‘seenity –info – –text “ grep ether arp.sh h “ –width‐ 5 ;;’ denggan tujuan agar 500 a yang ditampilkan pada tabel GUI penunjukkan ARP h hanya alamaat ARP yangg sama yang ditampilkaan (bila ARP P yang terdeeteksi lebih d satu). Ketika dari K ditekkan ‘OK’ pad da tabel GU UI yang ditu unjukkan oleeh gambar n nomor 4, maka m tampilaan GUI akan n kembali ke k tampilan GUI pertam ma (seperti n nomor 1).
Pada tam mpilan GUI awal a tadi terdapat pilihan kedua yang dapat dipilih d oleh p pengguna ya aitu ‘Tamba ah ARP’. Kettika radiolist terpilih pad da pilihan taambah ARP d dan ditekan ‘OK’, maka akan menam mpilkan tabeel GUI sebaggai berikut :
G Gambar 5
Gambar 6
Gambar 7
Setelah Ad ddress diisi
Gambar 8
Dengan tam mpilan program seperti d di bawah ini : " "Tambah AR RP")
Menam mpilkan fungssi coba
c coba(){ BEK=$(zeni B ity --titl le "IP Add dress" --e entry --te ext "ketik kkan IP A Address"); ; if [ "$?" = 1 ] ; then n utam ma; cek; ; fi Men nampilkan GUI G seperti yang Untukk mengeceek case e $BEK in terliihat pada Tabel T GUI d di atas "") apakah GU UI (gam mbar 5) zeni ity --erro or --text= ="masukan IP" memaasukkan I IP coba a; adrresss di cancel. ;; *) bc() ){ BUK= =$(zenity --title " "MAC addre ess" --ent try --text Address") " "Ketikkan );
Menampilkan GUI seperti s yangg p Tabel GUI di atass terlihat pada (gambar 6 6) if [ "$?" = 1 ] ; then n coba a; fi case e $BUK in "") ity --erro or --text= ="masukan MAC" zeni bc; ;; *)
Menampilkan GUI seperti s yangg p Tabel GUI di atass terlihat pada (gambar 7 7)
$ arp -s $BEK $BUK h arp > arp1.sh zeni ity --info o --text " "Alamat ba aru telah ditambaha akan" ;;
esac c } bc; ;; Esac c
M Menampilkan GUI sepeerti yang teerlihat pada Tabel GUI di atas (ggambar 8)
Untuk memanggil fungsi cob ba untuk menegcek m pilihan n apa yang akan dipilih } c coba; u utama;
Untuk m memanggil fungsi utama untuk kemb bali ke menu utaama
cek; c ; ;;
Untukk memanggil fungsi cek un ntuk mengecek pilihan apa yaang akan dipilih
Selanju utnya lakukan pengecekkan kembaali pada tabel ARP apakkah alamat ng telah kitaa masukkan sudah masu d dan MAC ya uk pada tabeel ARP kita atau belum. Dengan caraa kembali memilih radio m olist pada ‘LLihat Tabel A ARP’, kemudian tekan ‘ ‘OK’. Maka akan tampill alamat dan n MAC baru u pada layarr GUI terseb but (seperti g gambar 4). Pada ttampilan GU UI awal tadi tterdapat piliihan ketiga yyang dapat d dipilih oleh p pengguna ya aitu ‘Kurang gi ARP’. Ketika radiolist terpilih pad da pilihan ku urangi ARP d dan ditekan ‘OK’, maka akan menam mpilkan tabeel GUI sebaggai berikut :
Gam mbar 9
Gambar 10
Gambar 11
" "Kurangi ARP") A
Menampilkan GUI seperti yan ng terlihat pada Tabel GUI di ataas (gambar 9)
cb(){ c B BEK=$(zeni ity --titl le "IP Add dress" --e entry --te ext "ketik kkan IP A Address"); ; if [ "$?" = 1 ] ; then n utam ma; cek; ; fi case e $BEK in "") M Menampilkan n GUI sepeerti yang zeni ity --erro or --text= ="masukan IP" tterlihat padaa Tabel GUI di atas cb; ((gambar 10) ;; *) arp -d $BEK zeni ity --info o --text " "Tabel IP telah dik kurangi" ;; c esac M Menampilkan n GUI sepeerti yang } tterlihat padaa Tabel GUI di atas ((gambar 11)
Untuk memanggil fungsi cb untuk mengecek pilihan apa yang akan dipilih cb; utama; cek; ;;
Untuk memanggil fungsi utama untuk kembali ke menu utama
Untuk memanggil fungsi cek untuk mengecek pilihan apa yang akan dipilih
*) zenity --warning \ --text="Aplikasi tertutup" exit 0; exit 0;
Menampilkan GUI seperti yang terlihat pada Tabel GUI di atas (gambar 2)
;; esac } cek;
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 15
DAFTAR PUSTAKA http://opensource.telkomspeedy.com/wiki/index.php/ARP http://www.jasakom.com/entry.php?127‐Perintah‐perintah...
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 16
LAMPIRAN Menciptakan tampilan pada GUI #!/bin/bash yang berbentuk radiolist. utama(){ ans=$(zenity --list --text "Pilih Salah Satu" --radiolist - column "Pilih" --column "Keterangan" TRUE "Lihat Tabel ARP" FALSE "Tambah ARP" FALSE "Kurangi ARP" ); } Perintah tersebut menjelaskan bahwa anda akan utama; lanjut ke tahap GUI berikutnya yang telah kami disediakan. Untuk memanggil fugsi utama "Lihat Tabel ARP")
arp -a > arp.sh
echo "15" ; sleep 0.5 echo "# Mengidentifikasi." ; sleep 0.5 echo "30" ; sleep 0.5 echo "# Mengidentifikasi.." ; sleep 0.5 echo "45" ; sleep 0.5 echo "# Mengidentifikasi..." ; sleep 0.5 echo "60" ; sleep 0.5 echo "# Mengidentifikasi." ; sleep 0.5 echo "75" ; sleep 0.5 echo "# Mengidentifikasi.." ; sleep 0.5 echo "90" ; sleep 0.5 echo "# Mengidentifikasi..." ; sleep 0.5 echo "100" ; sleep 0.5
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 17
echo "# Terdeteksi" ;
) | zenity --progress \ --title="Progress" \ --text="Terdeteksi" \ --percentage=100
if [ "$?" = 1 ] ; then
Untuk memanggil fungsi utama untuk kembali ke menu utama
utama;
fi d=$(grep “on” arp.sh); case $d in "") zenity --info --text="Tabel ARP masih kosong"
--width=400
;;
Untuk mengatur posisi tulisan pada zenity dengan perintah grep untuk memanggil yang ada pada file n.sh
*) zenity --info --text "Tabel ARP : `awk '/ether/{ print $5 }' n.sh` $d";; esac utama; cek;
Untuk memanggil fungsi cek untuk mengecek pilihan apa yang akan dipilih
;;
"Tambah ARP")
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 18
Menampilkan fungsi coba coba(){ BEK=$(zenity --title "IP Address" --entry --text "ketikkan IP Address"); if [ "$?" = 1 ] ; then utama; cek; fi Menampilkan GUI seperti yang case $BEK in terlihat pada Tabel GUI di atas "") (gambar 5) zenity --error --text="masukan IP" coba; ;; *) bc(){ BUK=$(zenity --title "MAC address" --entry --text "Ketikkan Address");
Menampilkan GUI seperti yang terlihat pada Tabel GUI di atas (gambar 6) if [ "$?" = 1 ] ; then coba; fi case $BUK in "") zenity --error --text="masukan MAC" bc; ;; *)
Menampilkan GUI seperti yang terlihat pada Tabel GUI di atas (gambar 7)
arp -s $BEK $BUK arp > arp1.sh zenity --info --text "Alamat baru telah ditambahakan" ;; esac } Menampilkan GUI seperti yang bc; ;; terlihat pada Tabel GUI di atas Esac (gambar 8)
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 19
Untuk memanggil fungsi coba untuk menegcek pilihan apa yang akan dipilih } coba; utama; cek; ;;
Untuk memanggil fungsi utama untuk kembali ke menu utama
Untuk memanggil fungsi cek untuk mengecek pilihan apa yang akan dipilih
"Kurangi ARP")
Menampilkan GUI seperti yang terlihat pada Tabel GUI di atas (gambar 9)
cb(){ BEK=$(zenity --title "IP Address" --entry --text "ketikkan IP Address"); if [ "$?" = 1 ] ; then utama; cek; fi case $BEK in "") Menampilkan GUI seperti yang zenity --error --text="masukan IP" terlihat pada Tabel GUI di atas cb; (gambar 10) ;; *) arp -d $BEK zenity --info --text "Tabel IP telah dikurangi" ;; esac Menampilkan GUI seperti yang } terlihat pada Tabel GUI di atas (gambar 11)
Untuk memanggil fungsi cb untuk mengecek pilihan apa yang akan dipilih cb; utama;
Untuk memanggil fungsi utama untuk kembali ke menu utama
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 20
cek; ;;
Untuk memanggil fungsi cek untuk mengecek pilihan apa yang akan dipilih
*) zenity --warning \ --text="Aplikasi tertutup" exit 0; exit 0;
Menampilkan GUI seperti yang terlihat pada Tabel GUI di atas (gambar 2)
;; esac } cek;
T U T O R I A L P E N G G U N A A N A R P T A B E L M E N G G U N A K A N Z E N I T Y Page 21