Kategori
Cisco CyberOps

Connectivity Verification

ICMP

ICMPv4 Messages

Meskipun IP hanya merupakan protokol upaya terbaik, paket TCP/IP menyediakan pesan yang akan dikirim jika terjadi kesalahan tertentu. Pesan-pesan ini dikirim menggunakan layanan ICMP. Tujuan dari pesan ini adalah untuk memberikan umpan balik tentang masalah yang terkait dengan pemrosesan paket IP dalam kondisi tertentu, bukan untuk membuat IP dapat diandalkan. Pesan ICMP tidak diperlukan dan seringkali tidak diperbolehkan dalam jaringan karena alasan keamanan.

ICMP tersedia untuk IPv4 dan IPv6. ICMPv4 adalah protokol pesan untuk IPv4. ICMPv6 menyediakan layanan yang sama untuk IPv6 tetapi mencakup fungsionalitas tambahan. Dalam kursus ini, istilah ICMP akan digunakan jika mengacu pada ICMPv4 dan ICMPv6.

Jenis pesan ICMP dan alasan mengapa dikirim, sangat luas. Kami akan membahas beberapa pesan yang lebih umum.

Pesan ICMP yang umum untuk ICMPv4 dan ICMPv6 meliputi:

  • Host confirmation
  • Destination or Service Unreachable
  • Time exceeded
  • Route redirection

Host Confirmation

Pesan Gema ICMP dapat digunakan untuk menentukan apakah sebuah host beroperasi. Host lokal mengirimkan ICMP Echo Request ke host. Jika host tersedia, host tujuan merespons dengan Echo Reply. Klik Play pada gambar untuk melihat animasi ICMP Echo Request/Echo Reply. Penggunaan pesan ICMP Echo ini adalah dasar dari utilitas ping.

Destination or Service Unreachable

Ketika host atau gateway menerima paket yang tidak dapat dikirimkan, ia dapat menggunakan pesan ICMP Destination Unreachable untuk memberi tahu sumber bahwa tujuan atau layanan tidak dapat dijangkau. Pesan tersebut akan menyertakan kode yang menunjukkan mengapa paket tidak dapat dikirimkan.

Ini adalah beberapa kode Destination Unreachable untuk ICMPv4:

  • 0 – Net unreachable
  • 1 – Host unreachable
  • 2 – Protocol unreachable
  • 3 – Port unreachable

Catatan: ICMPv6 memiliki kode yang mirip tetapi sedikit berbeda untuk pesan Destination Unreachable.

Time Exceeded

Pesan ICMPv4 Time Exceeded digunakan oleh router untuk menunjukkan bahwa sebuah paket tidak dapat diteruskan karena bidang Time to Live (TTL) paket dikurangi menjadi 0. Jika router menerima paket dan mengurangi bidang TTL dalam paket IPv4 ke nol, ia membuang paket dan mengirim pesan Time Exceeded ke host sumber.

ICMPv6 juga mengirimkan pesan Time Exceeded jika router tidak dapat meneruskan paket IPv6 karena paket telah kedaluwarsa. IPv6 tidak memiliki bidang TTL. Ini menggunakan bidang batas hop untuk menentukan apakah paket telah kedaluwarsa.

ICMPv6 RS and RA Messages

Pesan informasi dan kesalahan yang ditemukan di ICMPv6 sangat mirip dengan pesan kontrol dan kesalahan yang diterapkan oleh ICMPv4. Namun, ICMPv6 memiliki fitur baru dan peningkatan fungsionalitas yang tidak ditemukan di ICMPv4. Pesan ICMPv6 dienkapsulasi dalam IPv6.

ICMPv6 mencakup empat protokol baru sebagai bagian dari Neighbor Discovery Protocol (ND atau NDP).

Pesan antara router IPv6 dan perangkat IPv6:

P

  • Router Solicitation (RS) message
  • Router Advertisement (RA) message

Pesan antar perangkat IPv6:

  • Neighbor Solicitation (NS) message
  • Neighbor Advertisement (NA) message

Router Solicitation

  • Pesan RA dikirim oleh router untuk memberikan informasi pengalamatan ke host menggunakan Stateless Address Autoconfiguration (SLAAC). Pesan RA dapat mencakup informasi pengalamatan untuk host seperti awalan, panjang awalan, alamat DNS, dan nama domain. Router akan mengirim pesan RA secara berkala atau sebagai tanggapan atas pesan RS. Sebuah host yang menggunakan SLAAC akan mengatur gateway default ke alamat link-local dari router yang mengirim RA.
  • Ketika sebuah host dikonfigurasi untuk mendapatkan informasi pengalamatannya secara otomatis menggunakan SLAAC, host akan mengirim pesan RS ke router yang meminta pesan RA.

Address Resolution

  • Pesan NA dikirim saat perangkat mengetahui alamat IPv6 perangkat tetapi tidak mengetahui alamat MAC-nya. Ini setara dengan Permintaan ARP untuk IPv4.
  • Pesan NA dikirim sebagai respons terhadap pesan NS dan cocok dengan alamat IPv6 target di NS. Pesan NA menyertakan alamat MAC Ethernet perangkat. Ini setara dengan Balasan ARP di IPv4.

Duplicate Address Detection

Saat perangkat diberi alamat unicast global unicast atau link-local, disarankan agar DAD dilakukan pada alamat tersebut untuk memastikan bahwa itu unik. Untuk memeriksa keunikan alamat, perangkat akan mengirim pesan NS dengan alamat IPv6-nya sendiri sebagai alamat IPv6 yang ditargetkan, yang ditunjukkan pada gambar. Jika perangkat lain di jaringan memiliki alamat ini, ia akan merespons dengan pesan NA. Pesan NA ini akan memberi tahu perangkat pengirim bahwa alamat sedang digunakan. Jika pesan NA yang sesuai tidak dikembalikan dalam jangka waktu tertentu, alamat unicast bersifat unik dan dapat diterima untuk digunakan.

Catatan: DAD tidak diperlukan, tetapi RFC 4861 merekomendasikan agar DAD dilakukan pada alamat unicast.

Ping and Traceroute Utilities

Ping – Test Connectivity

Pada topik sebelumnya, Anda telah diperkenalkan dengan alat ping dan traceroute (tracert). Dalam topik ini, Anda akan belajar tentang situasi di mana setiap alat digunakan, dan cara menggunakannya. Ping adalah utilitas pengujian IPv4 dan IPv6 yang menggunakan permintaan gema ICMP dan pesan balasan gema untuk menguji konektivitas antar host.

Untuk menguji konektivitas ke host lain di jaringan, permintaan gema dikirim ke alamat host menggunakan perintah ping. Jika host di alamat yang ditentukan menerima permintaan gema, ia merespons dengan balasan gema. Saat setiap balasan gema diterima, ping memberikan umpan balik pada waktu antara saat permintaan dikirim dan saat balasan diterima. Ini bisa menjadi ukuran kinerja jaringan.

Ping memiliki nilai batas waktu untuk balasan. Jika balasan tidak diterima dalam batas waktu, ping memberikan pesan yang menunjukkan bahwa respons tidak diterima. Ini mungkin menunjukkan bahwa ada masalah, tetapi juga dapat menunjukkan bahwa fitur keamanan memblokir pesan ping telah diaktifkan di jaringan. Adalah umum untuk ping pertama ke batas waktu jika resolusi alamat (ARP atau ND) perlu dilakukan sebelum mengirim Permintaan Echo ICMP.

Setelah semua permintaan dikirim, utilitas ping memberikan ringkasan yang mencakup tingkat keberhasilan dan waktu pulang pergi rata-rata ke tujuan.

Jenis tes konektivitas yang dilakukan dengan ping meliputi:

  • Ping loopback lokal
  • Ping gateway default
  • Ping host jarak jauh

Ping the Loopback

Ping dapat digunakan untuk menguji konfigurasi internal IPv4 atau IPv6 pada host lokal. Untuk melakukan pengujian ini, ping alamat loopback lokal 127.0.0.1 untuk IPv4 (::1 untuk IPv6).

Respons dari 127.0.0.1 untuk IPv4, atau ::1 untuk IPv6, menunjukkan bahwa IP telah diinstal dengan benar di host. Respon ini berasal dari lapisan jaringan. Namun, respons ini bukan merupakan indikasi bahwa alamat, mask, atau gateway telah dikonfigurasi dengan benar. Juga tidak menunjukkan apa pun tentang status lapisan bawah tumpukan jaringan. Ini hanya menguji IP ke bawah melalui lapisan jaringan IP. Pesan kesalahan menunjukkan bahwa TCP/IP tidak beroperasi pada host.

  • Ping host lokal mengkonfirmasi bahwa TCP/IP diinstal dan bekerja pada host lokal.
  • Ping 127.0.0.1 menyebabkan perangkat melakukan ping sendiri.

Ping the Default Gateway

Anda juga dapat menggunakan ping untuk menguji kemampuan host untuk berkomunikasi di jaringan lokal. Ini biasanya dilakukan dengan melakukan ping ke alamat IP dari gateway default host. Ping yang berhasil ke gateway default menunjukkan bahwa host dan antarmuka router yang berfungsi sebagai gateway default keduanya beroperasi di jaringan lokal.

Untuk pengujian ini, alamat gateway default paling sering digunakan karena router biasanya selalu beroperasi. Jika alamat gateway default tidak merespons, ping dapat dikirim ke alamat IP host lain di jaringan lokal yang diketahui beroperasi.

Jika gateway default atau host lain merespons, maka host lokal dapat berhasil berkomunikasi melalui jaringan lokal. Jika gateway default tidak merespons tetapi host lain merespons, ini dapat menunjukkan masalah dengan antarmuka router yang berfungsi sebagai gateway default.

Satu kemungkinan adalah bahwa alamat gateway default yang salah telah dikonfigurasi pada host. Kemungkinan lain adalah bahwa antarmuka router mungkin beroperasi penuh tetapi memiliki keamanan yang diterapkan padanya yang mencegahnya memproses atau menanggapi permintaan ping.

Host melakukan ping ke gateway defaultnya, mengirimkan permintaan echo ICMP. Gateway default mengirimkan balasan gema yang mengonfirmasi konektivitas.

Ping a Remote Host

Ping juga dapat digunakan untuk menguji kemampuan host lokal untuk berkomunikasi melalui internetwork. Host lokal dapat melakukan ping ke host IPv4 operasional dari jaringan jarak jauh, seperti yang ditunjukkan pada gambar. Router menggunakan tabel perutean IP untuk meneruskan paket.

Jika ping ini berhasil, pengoperasian sebagian besar internetwork dapat diverifikasi. Ping yang berhasil melintasi internetwork mengonfirmasi komunikasi di jaringan lokal, pengoperasian router yang berfungsi sebagai gateway default, dan pengoperasian semua router lain yang mungkin berada di jalur antara jaringan lokal dan jaringan host jarak jauh.

Selain itu, fungsionalitas host jarak jauh dapat diverifikasi. Jika host jarak jauh tidak dapat berkomunikasi di luar jaringan lokalnya, ia tidak akan merespons.

Catatan: Banyak administrator jaringan membatasi atau melarang masuknya pesan ICMP ke dalam jaringan perusahaan; oleh karena itu, kurangnya respons ping dapat disebabkan oleh pembatasan keamanan.

Traceroute – Test the Path

Ping digunakan untuk menguji konektivitas antara dua host tetapi tidak memberikan informasi tentang detail perangkat antara host. Traceroute (tracert) adalah utilitas yang menghasilkan daftar hop yang berhasil dicapai di sepanjang jalan. Daftar ini dapat memberikan verifikasi penting dan informasi pemecahan masalah. Jika data mencapai tujuan, maka jejak mencantumkan antarmuka setiap router di jalur antara host. Jika data gagal pada beberapa lompatan di sepanjang jalan, alamat router terakhir yang merespons jejak dapat memberikan indikasi di mana masalah atau batasan keamanan ditemukan.

Round Trip Time (RTT)

Menggunakan traceroute menyediakan waktu bolak-balik untuk setiap hop di sepanjang jalur dan menunjukkan jika hop gagal merespons. Waktu pulang pergi adalah waktu yang dibutuhkan sebuah paket untuk mencapai remote host dan respon dari host untuk kembali. Tanda bintang (*) digunakan untuk menunjukkan paket yang hilang atau tidak dibalas.

Informasi ini dapat digunakan untuk menemukan router yang bermasalah di jalur atau mungkin menunjukkan bahwa router dikonfigurasi untuk tidak membalas. Jika tampilan menunjukkan waktu respons yang tinggi atau kehilangan data dari hop tertentu, ini merupakan indikasi bahwa sumber daya router atau koneksinya mungkin digunakan secara berlebihan.

IPv4 TTL and IPv6 Hop Limit

Traceroute memanfaatkan fungsi bidang TTL di IPv4 dan bidang Hop Limit di IPv6 di header Layer 3, bersama dengan pesan ICMP Time Exceeded.

Urutan pertama pesan yang dikirim dari traceroute akan memiliki nilai field TTL 1. Hal ini menyebabkan TTL melakukan time out paket IPv4 pada router pertama. Router ini kemudian merespons dengan pesan ICMPv4 Time Exceeded. Traceroute sekarang memiliki alamat hop pertama.

Traceroute kemudian secara bertahap menambah bidang TTL (2, 3, 4…) untuk setiap urutan pesan. Ini memberikan jejak dengan alamat setiap hop saat paket habis lebih jauh di jalan. Bidang TTL terus ditingkatkan hingga tujuan tercapai, atau bertambah ke maksimum yang telah ditentukan sebelumnya.

Setelah tujuan akhir tercapai, host merespons dengan pesan ICMP Port Unreachable atau pesan ICMP Echo Reply alih-alih pesan ICMP Time Exceeded.

ICMP Packet Format

ICMP dienkapsulasi langsung ke dalam paket IP. Dalam pengertian ini, hampir seperti protokol lapisan transport, karena dienkapsulasi ke dalam paket, namun dianggap sebagai protokol Layer 3. ICMP bertindak sebagai muatan data dalam paket IP. Ini memiliki bidang data header khusus, seperti yang ditunjukkan pada gambar.

ICMP menggunakan kode pesan untuk membedakan antara berbagai jenis pesan ICMP. Ini adalah beberapa kode pesan umum:

  • 0 – Echo reply (response to a ping)
  • 3 – Destination Unreachable
  • 5 – Redirect (use another route to your destination)
  • 8 – Echo request (for ping)
  • 11 – Time Exceeded (TTL became 0)

Seperti yang akan Anda lihat nanti dalam kursus ini, seorang analis keamanan siber mengetahui bahwa bidang muatan ICMP opsional dapat digunakan dalam vektor serangan untuk mengekstrak data.

Gambar menunjukkan datagram ip dengan header ip 20 byte dan bidang yang berbeda di bagian atas dengan header I C M P 8 byte di bawah header IP. Byte pertama dari header I C M P adalah jenis bidang pesan diikuti oleh bidang kode yang juga 1 byte. Bidang checksum adalah bidang 2 byte dan data header adalah bidang 4 byte. Bidang kode adalah fokusnya. Di bawah header I C M P adalah bagian opsional payload I C M P di mana 32 bit atau 4 byte data payload dapat dimasukkan.

Datagram IP

Ref : [1][2][3]