IPv6: Debugging menggunakan tcpdump
Teknik lain untuk mencari permasalahan yang terjadi di jaringan adalah dengan menyadap paket yang di kirim dijaringan. Pada dasarnya, kita mempunyai dua (2) tool yang dapat kita gunakan untuk melakukan penyadapan, yaitu, (1) wireshark, dan (2) tcpdump. Untuk Keperluan buku ini akan lebih mudah menggunakan tcpdump karena semua informasi berbentuk text. Akan tetapi bagi anda yang ingin menyadap dengan mudah akan lebih baik menggunakan wireshark yang mempunyai antar muka grafis.
Berikut adalah beberapa contoh hasil capture paket menggunakan tcpdump, barangkali akan bermanfaat saat melakukan debugging. Instalasi tcpdump dapat dilakukan mengunakan perintah,
# apt-get install tcpdump
Perintah yang perlu dijalankan menggunakan tcpdump untuk menangkap paket IPv6 yang terdengar oleh eth5 adalah
# tcpdump -i eth5 -vv ip6
Menemukan (discovery) Router
Router solicitation
Pada saat sebuah node pertama kali tersambung ke jaringan, biasanya pertama kali yang dilakukan adalah mencari router yang ada di jaringan. Berikut adalah contoh sebuah message router solicitation yang dikirim oleh link address fe80::2ae3:47ff:fe13:8f3e dengan MAC address 28:e3:47:13:8f:3e ke semua ip6-allrouters
09:50:22.087711 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 16) fe80::2ae3:47ff:fe13:8f3e > ip6-allrouters: [icmp6 sum ok] ICMP6, router solicitation, length 16 source link-address option (1), length 8 (1): 28:e3:47:13:8f:3e 0x0000: 28e3 4713 8f3e
Router advertisement
Router yang menerima message Router Solicitation biasanya akan menjawab dengan Message Router Advertisement terlihat sebagai di bawah ini.
08:47:13.993711 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 120) fe80::225:9cff:fe49:e965 > ip6-allnodes: [icmp6 sum ok] ICMP6, router advertisement, length 120 hop limit 0, Flags [other stateful], pref medium, router lifetime 1800s, reachable time 0s, retrans time 0s source link-address option (1), length 8 (1): 00:25:9c:49:e9:65 0x0000: 0025 9c49 e965 mtu option (5), length 8 (1): 1280 0x0000: 0000 0000 0500 prefix info option (3), length 32 (4): 2001:470:36:ab6::/64, Flags [onlink, auto], valid time 7200s, pref. time 1800s 0x0000: 40c0 0000 1c20 0000 0708 0000 0000 2001 0x0010: 0470 0036 0ab6 0000 0000 0000 0000 unknown option (24), length 16 (2): 0x0000: 3000 0000 1c20 2001 0470 0036 0000 rdnss option (25), length 24 (3): lifetime 1800s, addr: 2001:470:36:ab6::1 0x0000: 0000 0000 0708 2001 0470 0036 0ab6 0000 0x0010: 0000 0000 0001 dnssl option (31), length 16 (2): lifetime 1800s, domain(s): lan. 0x0000: 0000 0000 0708 036c 616e 0000 0000
Router dengan link-local address “fe80::225:9cff:fe49:e965” mengirimkan advertisement ke ip6-allnodes multicast address “ff02::1” berisi prefix “2001:470:36:ab6::/64” (lifetime 1800s ) termasuk MAC address-nya “00:25:9c:49:e9:65 ”.
Penemuan (discovery) Neighbor
Neighbor discovery solicitation untuk deteksi address ganda / duplikat
Saat pertama kali tersambung ke jaringan, sebuah node akan membutuhkan IPv6 link address. Node IPv6 ingin mengkonfigurasi link address ke “fe80::2ae3:47ff:fe13:8f3e ” . Untuk cek apakah ada link address tersebut ada yang menggunakan / duplikasi maka akan dikirim message
09:59:52.355527 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ff13:8f3e: [icmp6 sum ok] ICMP6, neighbor solicitation, length 24, who has fe80::2ae3:47ff:fe13:8f3e
Setelah menerima Advertisement dari router, maka node perlu mencek apakah sebuah IPv6 address ada yang menggunakan. Misalnya, node ingin mengkonfigurasi global address “2001:470:36:ab6:7d5f:3196:bcd:ab23” , cek apakah ada duplikasi
10:06:09.001520 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) :: > ff02::1:ffcd:ab23: [icmp6 sum ok] ICMP6, neighbor solicitation, length 24, who has 2001:470:36:ab6:7d5f:3196:bcd:ab23
Neighbor discovery solicitation untuk mencari link address
Paket berikut dikirim oleh sebuah node dengan layer MAC address “08:60:6e:db:4e:b8” saat node fe80::a60:6eff:fedb:4eb8 ingin membuka sambungan komunikasi ke fe80::225:9cff:fe49:e965
08:50:09.480366 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::a60:6eff:fedb:4eb8 > fe80::225:9cff:fe49:e965: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has fe80::225:9cff:fe49:e965 source link-address option (1), length 8 (1): 08:60:6e:db:4e:b8 0x0000: 0860 6edb 4eb8
Neighbor discovery solicitation untuk mencari for host atau gateway
Node 2001:470:36:ab6:c5a5:d89d:2ac7:3c04 ingin mengirim paket ke “2001:470:36:ab6::1” tapi tidak punya layer MAC address untuk mengirimkan paket, oleh karenanya mengirimkan solicitation ke ff02::1:ff00:1:
09:03:02.501845 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2001:470:36:ab6:c5a5:d89d:2ac7:3c04 > ff02::1:ff00:1: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:470:36:ab6::1 source link-address option (1), length 8 (1): 08:60:6e:db:4e:b8 0x0000: 0860 6edb 4eb8
Di jawab oleh 2001:470:36:ab6::1 memberitahukan MAC address-nya 00:25:9c:49:e9:65
09:03:02.502256 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2001:470:36:ab6::1 > 2001:470:36:ab6:c5a5:d89d:2ac7:3c04: [icmp6 sum ok] ICMP6, neighbor advertisement, length 32, tgt is 2001:470:36:ab6::1, Flags [router, solicited, override] destination link-address option (2), length 8 (1): 00:25:9c:49:e9:65 0x0000: 0025 9c49 e965