1. gilangkukuh@gmail.com
CAPTURING PAKET PADA PROTOKOL JARINGAN
DENGAN WIRESHARK
Layer 2 (Layer Data-Link)
1. ICMP
Protokol IP merupakan datagram yang tidak reliable dan connectionless. Karena didisain sedemikian
adalah untuk membuat sumber daya jaringan lebih efisien. Walaupun demikian IP memiliki 2
defisiensi yaitu : lack of error control dan lack of assistance mechanism.
Protokol IP tidak memiliki no error-reporting atau error-corecting mechanism. Lalu apa yang terjadi
terjadi suatu masalah?
ICMP didisain untuk mengkompensasi 2 defisiensi tersebut. ICMP sebenarnya adalah protokol yang
mendukung dan mendampingi protokol IP. Jadi ICMP itu sendiri adalah network layer. Gambar
berikut memperlihatkan bagaimana ICMP dienkapsulasi.
Pesan ICMP dibagi dalam 2 jenis : error-reporting message dan query message. Lihat Tabel berikut.
Kategori Tipe Pesan/message
Pesan Error-
reporting
3 Destination unreachable
4 Source quench
11 Time exeeded
12 Parameter problem
5 Redirection
Pesan query
8 atau 0 Echo request or reply
13 atau
14
Timestamp request and reply
17 atau
18
Address mask request and
reply
10 atau 9
Router solicitation and
advertisement
Jenis pesan yang lain untuk ICMP adalah query. Dalam pesan jenis ini, node mengirim pesan yang
dijawab dalam format spesifik oleh node tujuan. Jenis-jenis query pada ICMP adalah :
Echo request and reply
Timestamp request and reply
Address mask request and reply
Router solicitation and advertisement.
Untuk melihat disain dan komponen ICMP dapat dilihat pada Gambar berikut.
2. gilangkukuh@gmail.com
Untuk melihat paket ICMP menggunakan wireshark cukup lakukan filter dengan mengisikan ICMP
lalu klik apply, bias kita lihat pada kolom source 192.168.0.89 melakukan request pada destination
192.168.0.1 dan kemudian IP destination mengirim reply ke IP source
2. ARP
ARP & RARP (Address Resolution Protocol & Reverse/Inverse Address Resolution Protocol): adalah
protokol yang bertugas untuk memetakan IP Address menjadi alamat MAC (Media Access Control)
juga untuk sebaliknya, memetakan MAC Address menjadi IP Address.
Untuk melihat alamat IP (Layer 3) dan alamat fisik MAC (Layer 2). Pada shell Linux, ketik perintah
ifconfig dan untuk cmd Windows, ketik perintah ipconfig
root@eniac:/home/inan# ifconfig
eth0 Link encap:Ethernet HWaddr 00:1b:24:2a:3e:e0
inetaddr:192.168.0.2 Bcast:192.168.0.255 Mask 255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:20 Base address:0xa000
wlan0 Link encap:Ethernet HWaddr 00:19:7e:45:99:eb
inetaddr:217.0.0.7 Bcast:217.0.0.255 Mask 255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
3. gilangkukuh@gmail.com
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Yang saya garis bawah adalah alamat MAC (alamat device) dan yang saya bold adalah alamat IP
(Layer 3). Tiap alamat MAC (alamat device) tidak ada yang sama di dunia ini. Seperti juga contohnya
alamat MAC LAN card saya (eth0) dan Wireless card saya (wlan0) berbeda.
Nah, sekarang tugas ARP pada komputer saya adalah mengabarkan kepada seluruh node di
dalam jaringan WLAN saya bahwa IP 217.0.0.7 mempunyai alamat MAC 00:19:7e:45:99:eb begitu
juga untuk LAN, ARP akan membroadcast informasi ke tiap node bahwa
alamat 192.168.0.2 mempunyai alamat MAC00:1b:24:2a:3e:e0.
Sebenarnya untuk apa alamat MAC? Alamat MAC diperlukan untuk transfer data yang secara fisik
dalam satu jaringan. Kalau begitu untuk apa alamat IP? Alamat IP digunakan sebagai alamat logic
tiap node untuk kebutuhan pengalamatan jaringan-jaringan. Kalo peran ARP dalam komunikasi di
jaringan lokal? Jika anda pernah mengkoneksikan komputer anda ke sebuah jaringan (menggunakan
switch misalnya) maka tanpa peran ARP, mungkin komputer anda tidak akan pernah mendapatkan
paket data karena kesasar di jaringan lokal. Switch bekerja pada layer 2. Sebenernya switch
memiliki database ARP table di dalam switch tersebut. Isinya kurang lebih (contoh) seperti ini:
IP Address MAC Address Lewat port switch
192.168.0.1 00:1b:cc:c0:bd:e0 Port 1 switch
192.168.0.2 00:1b:24:2a:3e:e0 Port 2 switch
192.168.0.3 00:1c:13:dd:a2:bb Port 3 switch
192.168.0.4 00:1c:25:1c:ae:4e Port 4 switch
Cara switch bekerja adalah dengan membaca ARP Table nya. Baris-baris pada table tersebut selalu
di update oleh protokol ARP secara periodik. Misalnya ada paket datang ke switch dari IP
192.168.0.1 yang akan menuju 192.168.0.2. ARP akan me-resolv alamat 192.168.0.2 menjadi
00:1b:24:2a:3e:e0, sehingga switch mengerti maksud alamat logic (IP) tersebut maksudnya adalah
alamat fisik tertentu yang berada di port mana, kemudian switch akan meneruskan paket tersebut
menuju port nomer 2 pada switch (ke komputer dengan alamat MAC 00:1b:24:2a:3e:e0 atau
beralamat logic 192.168.0.2). Untuk selanjutnya paket dari 192.168.0.1 tersebut di proses secara
lokal oleh komputer 192.168.0.2
Bila kita menggunakan wireshark untuk mengcapture paket , bias kita lihat pada kolom info Who has
10.0.0.117 Tell 10.0.0.50 . Artinya who has adalah IP address client dan tell adalah gatewaynya,
Yang perlu diperhatikan adalah jika ada komputer yang bertindak sebagai gateway secara terus
menerus, hal ini bisa berarti komputer tersebut melakukan ARP Poisoning.
4. gilangkukuh@gmail.com
Layer 3 (Layer Network)
3. IP
IP (Internet Protocol): adalah protokol yang bertugas untuk pengalamatan logic node. Selain
pengalamatan fisik, diperlukan juga pengalamatan logic. Mungkin anda berpikir, untuk apa
pengalamatan logic, kenapa kita tidak berinternet dengan menggunakan alamat fisik (Layer 2) saja,
alamat fisik tiap Network Interface Card berbeda-beda.
Ini karena alamat fisik tidak bisa di masking. Alamat fisik komputer 00:1b:24:2a:3e:e0 tidak bisa di
masking menjadi 00:1b:24:2a:3e:XX Karena bisa saja 00:1b:24:2a:3e:e0 tidak berada di network
yang sama dengan komputer beralamat fisik 00:1b:24:2a:3e:aa misalnya walaupun bagian terakhir
e0 diganti menjadi aa
Jadi untuk mengetahui alamat jaringan, tidak bisa dengan menggunakan alamat fisik. Alamat fisik
spesifik untuk pengalamatan langsung untuk host tertentu saja (Direct-Delivery).
Secara mudah, bisa saya jelaskan bersamaan dengan intro di layer 3 ini.
Routing Antar Dua Jaringan
Dari gambar ini, routing table pada ROUTER bisa saya jelaskan seperti ini:
Source Network Destination Network Interface
192.168.0.X (byte terakhir terserah,
asal masih berada di sub-
net 192.168.0) 192.168.1.X m0
192.168.1.X 192.168.0.X m1
Untuk melakukan filtering IP source pada wireshark bisa dilalukan dengan menulis command seperti
di bawh ini,
5. gilangkukuh@gmail.com
Layer 4 (Layer Transport)
4. TCP dan UDP
TCP (Transmission Control Protocol): adalah protokol yang bertugas untuk membentuk koneksi antar
node. Sifat TCP adalah connection-oriented. TCP baru akan membuat koneksi jika kedua belah pihak
telah setuju. Karenanya, TCP dianggap reliable (dapat diandalkan). Berbeda dengan UDP (User
Datagram Protocol) yang connectionless, transmisi data yang berbasis UDP akan langsung
mengirimkan paket karena tidak ada kesepakatan dulu antar node yang bertransmisi.
Untuk analoginya pada TCP, sebelum computer A mengirim data pada computer B, computer A
terlebih dahulu akan mengenali alamat logic dan fisiknya, setelah itu computer A akan memberikan
kode pada computer B saat pengiriman paket karena menunggu respon dari computer B terlebih
dahulu, computer A akan mengkalkulasi rute yang akan ditempuh sekaligus menentukan rute
cadangan bilamana terjadi kegagalan pengiriman. Berbeda pada UDP, computer A akan langsung
mengirim paket tanpa pemberitahuan pada computer B terlebih dahulu tanpa menentukan rute
khusus untuk antisipasi sehingga paket akan langsung dikirim sehingga UDP mempunyai kelebihan
dalam respon kecepatan , sedangkan TCP dalam kehandalan.
Pada kenyataannya, TCP digunakan untuk transmisi yang sifatnya kritikal dan tentu saja, butuh
kehandalan. Sedangkan UDP digunakan untuk komunikasi antar proses yang tidak begitu
memerlukan kehandalan, justeru membutuhkan kecepatan respon.
Seperti yang kita lihat pada gambar di bawah, TCP terlebih dahulu mengirim SYN ACK pada
destination dan menunggu destination untuk mereply ACK. Sedangkan pada UDP, User Source
langsung melakukan pengiriman data pada User destination
6. gilangkukuh@gmail.com
Layer 5 (Layer Application)
5. DNS
DNS (Domain Name Service): adalah protokol yang tugasnya memetakan nama domain yang
gampang diingat manusia menjadi alamat IP yang gampang diproses komputer (sesuai dengan
framework TCP/IP).
DNS Server (Node yang melakukan pemetaan alamat domain menjadi alamat IP) tentu saja
mempunyai database nama domain ke alamat IP nya. Sesuai pada tabel berikut:
Nama Domain Alamat IP
onyon.com 117.231.21.223
gorilla.com 193.112.125.88
Jadi ketika kita menggunakan DNS Server yang memiliki database seperti ini, dan ketika kita
browsing ke gorilla.com, sebenernya kita sama saja dengan melakukan query ke DNS Server untuk
me-resolv nama gorilla.com menjadi IP 193.112.125.88 kemudian membuat koneksi HTTP ke
193.112.125.88
Apakah seluruh nama domain di Internet terekam di DNS Server? Jawabannya Ya, tapi tidak semua
nama domain di rekam (record) di satu computer server. Yaitu dengan cara distributed system. Bisa
saja ada DNS Server yang tidak tau alamat onyon.com, tapi ketika nanya ke DNS server kita, ter-
resolv IP 117.231.21.223. Tiap baris DNS sebenarnya selalu di update tiap subuh waktu GMT. Ada
DNS-Root di Internet yang menghandle gTLD (Top Level Domain) dan ccTLD (country-code Top
Level Domain). Contoh TLD yaitu: com, net, org, edu, mil. Contoh ccTLD yaitu: co.id, go.uk, or.jp.
DNS-Root ini hanya mengatur Top Level Domain Untuk SLD (Second Level Domain) di TLD
tersebut ada Name Server-Name Server lain yang pastinya lebih tau. Contoh SLD: google, yahoo,
tibandung, detik, kaskus, dsb
Protokol DNS menggunakan layanan UDP. Yang membutuhkan kecepatan dalam respon ketimbang
masalah kehandalan. Bisa dilihat sendiri, kenapa lebih membutuhkan kecepatan respon ketimbang
kehandalan. Karena data yang diquery hanya nama domain dan mungkin banyak node yang harus di
lewati untuk pemecahan nama domain.
7. gilangkukuh@gmail.com
Contoh DNS Client adalah aplikasi kecil bernama nslookup. Ini adalah contoh ketika saya
melakukan query google.co.id ke aplikasi ini
inan@eniac:~$ nslookup
> server
Default server: 192.168.255.3
Address: 192.168.255.3#53
Default server: 10.88.77.6
Address: 10.88.77.6#53
> google.co.id
Server: 192.168.255.3
Address: 192.168.255.3#53
Non-authoritative answer:
Name: google.co.id
Address: 64.233.181.104
> server 8.8.8.8
Default server: 8.8.8.8
Address: 8.8.8.8#53
> google.co.id
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.co.id
Address: 64.233.181.104
> exit
inan@eniac:~$
Bisa kita lihat pada gambar capture paket DNS dibawah, computer client mengirim query ke
23.docs.google.com
6. DHCP
DHCP (Dynamic Configuration Protocol) adalah layanan yang secara otomatis memberikan nomor IP
kepada komputer yang memintanya. Komputer yang memberikan nomor IP disebut sebagai DHCP
server, sedangkan komputer yang meminta nomor IP disebut sebagai DHCP Client. Dengan
demikian administrator tidak perlu lagi harus memberikan nomor IP secara manual pada saat
konfigurasi TCP/IP, tapi cukup dengan memberikan referensi kepada DHCP Server.
8. gilangkukuh@gmail.com
Pada saat kedua DHCP client dihidupkan , maka komputer tersebut melakukan request ke DHCP-
Server untuk mendapatkan nomor IP. DHCP menjawab dengan memberikan nomor IP yang ada di
database DHCP. DHCP Server setelah memberikan nomor IP, maka server meminjamkan (lease)
nomor IP yang ada ke DHCP-Client dan mencoret nomor IP tersebut dari daftar pool. Nomor IP
diberikan bersama dengan subnet mask dan default gateway. Jika tidak ada lagi nomor IP yang dapat
diberikan, maka client tidak dapat menginisialisasi TCP/IP, dengan sendirinya tidak dapat tersambung
pada jaringan tersebut.
Setelah periode waktu tertentu, maka pemakaian DHCP Client tersebut dinyatakan selesai dan client
tidak memperbaharui permintaan kembali, maka nomor IP tersebut dikembalikan kepada DHCP
Server, dan server dapat memberikan nomor IP tersebut kepada Client yang membutuhkan. Lama
periode ini dapat ditentukan dalam menit, jam, bulan atau selamanya. Jangka waktu disebut leased
period.
Kelebihan DHCP :
1. Memudahkan dalam transfer data kepada PC client lain atau PC server.
2. DHCP menyediakan alamat-alamat IP secara dinamis dan konfigurasi lain. DHCP ini
didesain untuk melayani network yang besar dan konfigurasi TCP/IP yang kompleks.
3. DHCP memungkinkan suatu client menggunakan alamat IP yang reusable, artinya
alamat IP tersebut bisa dipakai oleh client yang lain jika client tersebut tidak sedang
menggunakannya (off).
4. DHCP memungkinkan suatu client menggunakan satu alamat IP untuk jangka waktu
tertentu dari server.
5. DHCP akan memberikan satu alamat IP dan parameter-parameter kofigurasi
lainnya kepada client.
Contoh capture paket DHCP computer client pada wireshark
9. gilangkukuh@gmail.com
7. FTP
File Transfer Protokol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam
suatu network yang mensupport TCP/IP protokol. Dua hal penting yang ada dalam FTP adalah FTP
server dan FTP Client. FTP server menjalankan software yang digunakan untuk tukar menukar file,
yang selalu siap memberian layanan FTP apabila mendapat request dari FTP client. FTP client
adalah komputer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file
(mengupload atau mendownload file).
Tujuan FTP server adalah sebagai berikut :
1. Untuk men-sharing data.
2. Untuk menyediakan indirect atau implicit remote computer.
3. Untuk menyediakan teempat penyimpanan bagi user.
4. Untuk menyediakan transfer data yang reliable dan efisien.
FTP sebenarnya cara yang tidak aman untuk mentransfer file karena file tersebut ditransfer tanpa
melalui enkripsi terlebih dahulu tetapi melalui clear text. Mode text yang dipakai untuk transfer data
adalah format ASCII atau format Binary. Secara default, ftp menggunakan mode ASCII untuk transfer
data. Karena pengirimannya tanpa enkripsi, maka username, password, data yang ditransfer,
maupun perintah yang dikirim dapat di sniffing oleh orang dengan menggunakan protocol analyzer
(Sniffer). Solusi yang digunakan adalah dengan menggunakan SFTP (SSH FTP) yaitu FTP yang
berbasis pada SSH atau menggunakan FTPS (FTP over SSL) sehingga data yang dikirim terlebih
dahulu dienkripsi (dikodekan).
FTP biasanya menggunakan dua buah port yaitu port 20 dan 21 dan berjalan exclusively melalui
TCP. FTP server Listen pada port 21 untuk incoming connection dari FTP client. Biasanya port 21
untuk command port dan port 20 untuk data port. Pada FTP server, terdapat 2 mode koneksi yaitu
aktif mode dan pasif mode.
Contoh capture paket FTP pada wireshark
8. HTTP
definisi HTTP (HyperText Transfer Protocol) adalah sebuah protokol untuk meminta dan menjawab
antara client dan server. Sebuh client HTTP seperti web browser, biasanya memulai permintaan
dengan membuat hubungan TCP/IP ke port tertentu di tempat yang jauh (biasanya port 80). Sebuah
server HTTP yang mendengarkan di port tersebut menunggu client mengirim kode permintaan
(request) yang akan meminta halaman yang sudah ditentukan, diikuti dengan pesan MIME yang
10. gilangkukuh@gmail.com
memiliki beberapa informasi kode kepala yang menjelaskan aspek dari permintaan tersebut, diikut
dengan badan dari data tertentu.
HTTP berkomunikasi melalui TCP / IP. Klien HTTP terhubung ke server HTTP menggunakan TCP.
Setelah membuat sambungan, klien dapat mengirim pesan permintaan HTTP ke
server. HTTPdigunakan untuk mengirimkan permintaan dari klien web (browser) ke web server,
dikembali kan ke konten web (halaman web) dari server ke klien.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu
protokol aplikasi TCP/IP paling populer melalui Internet. Memang HTTP dapat diimplementasikan di
atas protokol yang lain di atas Internet atau di atas jaringan lainnya.
Saat Client mengakses web, aka nada dua paket HTTP yaitu GET dimana client melakukan request
pda webserver dan POST dimana client mengirimkan data (login) ke webserver, pada informasi paket
POST kita bias melihat informasi apa saja yang dikirim client ke webserver termasuk informasi login
seperti gambar dibawah
9. Simple Mail Transfer Protocol (SMTP)
Salah satu Protokol TCP / IP, yang menentukan distribusi mail di Internet disebut Simple Mail
Transfer Protocol (SMTP) yang berbasis kode ASCII. Format mail dalam kode ASCII dipergunakan
khusus untuk dokumen mail yang berupa teks. Untuk transfer dokumen mail dalam bentuk grafis
digunakan format biner dan mempergunakan protokol khusus yang disebut Multipurpose Internet Mail
Extension (MIME).
Fungsi utama SMTP adalah menyampaikan E-Mail dari suatu host ke host lainnya dalam jaringan.
Protokol ini tidak memiliki kemampuan untuk melakukan penyimpanan dan pengambilan E-Mail dari
suatu mailbox. Service SMTP berjalan pada protokol TCP port 25, yang merupakan port standar
service SMTP. Karena SMTP tidak memiliki kemampuan penyimpanan E-Mail dalam mailbox, maka
diperlukan protokol lain untuk menjalankan fungsi tersebut yaitu POP3 dan IMAP. Dari sisi klien E-
11. gilangkukuh@gmail.com
Mail, server SMTP merupakan sarana untuk melakukan outgoing connection atau mengirimkan
pesan. Sedangkan untuk incoming connection digunakan protokol POP3
Contoh capture packet pada wireshark
10. POP
POP atau Post Office Protocol, sesuai dengan namanya merupakan protokol yang digunakan
untuk pengelolaan mail. POP yang sekarang lebih umum dikenal dengan POP3 (POP Version
3), dimaksudkan untuk mengizinkan client untuk mengakses secara dinamis mail yang masih
ada di POP3 server. POP3 menawarkan pada user untuk meninggalkan mail-nya di POP3
server, dan mengambil mail-nya tersebut dari sejumlah sistem sebarang. Untuk mengambil
mail dengan menggunakan POP3 dari suatu client, banyak pilihan yang dapat digunakan
seperti Sun Microsystem Inc.s Mailtool, QualComm Inc.s Eudora, Netscape Comm. Corp.s
Netscape Mail dan Microsoft Corp.s Outlook Express.
POP3 tidak dimaksudkan untuk menyediakan operasi manipulasi mail yang ada di server secara
luas. Pada POP3, mail diambil dari server dan kemudian dihapus (bisa juga tidak dihapus).
Kelebihan :
Kelebihan utama POP mail adalah kemampuannya untuk dibaca secara offline (tidak harus
terkoneksi ke internet).
Melalui e-mail berbasis POP3 akses internet pada saat mengirim dan menerima dapat
dikurangi.
E-mail berbasis POP3 lambat.
Lebih mudah dalam pengarsipan, karena e-mail disimpan di komputer pengguna
Hanya dapat dibuka dari komputer pemakai saja.
12. gilangkukuh@gmail.com
Kekurangan :
Harus menggunakan e-mail client seperti Outlook Express, Eudora Mail, Mutt, dan lain-lain.
Hanya dapat mengakses e-mail dari komputer yang terinstal e-mail client, tidak bisa
mengecek e-mail Anda dari sembarang tempat.
Kapasitas :
Besarnya media penyimpanan yang dapat digunakan untuk menampung e-mail dapat tak
terbatas, tergantung besarnya kapasitas pada komputer lokal.
11. IMAP
IMAP adalah salah satu dari dua standar internet untuk protokol e-mail. Hampir semua arsitektur e-
mail klien dan server modern mendukung kedua protokol sebagai sarana untuk mentransfer e-
mail dari server, seperti yang digunakan oleh Gmail ke klien, seperti Mozilla Thunderbird,
Apple Mail dan Microsoft Outlook. Port yang digunakan oleh protokol ini dalam TCP/IP adalah port
nomor 143.
IMAP memiliki berbagai keunggulan bila dibandingkan dengan POP3 antara lain :
Memiliki 2 mode operasi : Connected dan Disconnected
Banyak pengguna dapat tersambungkan dengan sebuah mailbox yang sama secara simultan
Informasi berisikan status pesan
Banyak mailboxes di dalam server
Pencarian di bagian server
13. gilangkukuh@gmail.com
Namun IMAP juga memiliki beberapa kekurangan. Tingkat kompleksitas akan bertambah ketika
menggunakan IMAP. Misalnya, beberapa klien mengakses kotak surat yang sama pada saat
yang sama perlu dilakukan untuk meng-kompensasikan server-side workarounds seperti Maildir
atau database backends.
Kelebihan :
Dengan IMAP, user dapat membuat, mengubah dan menghapus folder yang ada di server.
E-mail baru akan didownload dari server jika user ingin membacanya, sehingga e-mail juga
dapat diakses dari tempat lain.
Kekurangan :
Server layanan e-mail memerlukan kapasitas resource yang agak tinggi.
Pada paket yang dikirim oleh protocol IMAP, kita juga bias melihat informasi akun seperti pada
protocol http seperti gambar dibawah ini