| |||||||
Sisteminizi IPv6'ya hazırladıktan sonra onu ağ iletişiminde kullanmak isteyeceksiniz. Bunun için ilk olarak bir dinleme (sniffer) programı yardımıyla IPv6 paketlerini sorgulamayı öğrenmelisiniz. Bunu, hata ayıklama/sorun çözme konularında çok zaman kazandırıcı olduğundan şiddetle öneriyorum.
Bu program normal olarak iputils paketine dahildir. Basitçe ICMPv6 echo-request paketlerini gönderip ICMPv6 echo-reply paketlerini alarak aktarım denemeleri yapar.
Kullanımı:
ping6 ipv6adreslikonakismi ping6 ipv6adresi ping6 [-I aygıt] yerel-ipv6adresi |
Örnek:
# ping6 -c 1 ::1 PING ::1(::1) from ::1 : 56 data bytes 64 bytes from ::1: icmp_seq=0 hops=64 time=292 usec --- ::1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/mdev = 0.292/0.292/0.292/0.000 ms |
![]() | İpucu |
|---|---|
ping6 soket'e alt seviye (raw) erişime, dolayısıyla root yetkilerine ihtiyaç duyar. Bu nedenle eğer root olmayan kullanıcılar eğer ping6 komutunu kullanamıyorlarsa aşağıdaki iki sorundan birisi var demektir:
| |
IPv6 ping için yerel-bağlantı adresinin kullanılması durumunda çekirdek hangi fiziksel veya mantıksal arabirimi kullanarak paketleri göndereceğini bilmediğinden aşağıdaki gibi bir hata ortaya çıkar:
# ping6 fe80::212:34ff:fe12:3456 connect: Invalid argument |
Böyle bir durumda arabirimi aşağıdaki gibi belirtebilirsiniz:
# ping6 -I eth0 -c 1 fe80::2e0:18ff:fe90:9205 PING fe80::212:23ff:fe12:3456(fe80::212:23ff:fe12:3456) from fe80::212:34ff:fe12:3478 eth0: 56 data bytes 64 bytes from fe80::212:23ff:fe12:3456: icmp_seq=0 hops=64 time=445 usec --- fe80::2e0:18ff:fe90:9205 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max/mdev = 0.445/0.445/0.445/0.000 ms |
Bir bağlantıdaki etkin IPv6 istemcilerini sınamanın bir yolu ağdaki tüm düğümler için ping6 kullanmaktır:
# ping6 -I eth0 ff02::1 PING ff02::1(ff02::1) from fe80:::2ab:cdff:feef:0123 eth0: 56 data bytes 64 bytes from ::1: icmp_seq=1 ttl=64 time=0.104 ms 64 bytes from fe80::212:34ff:fe12:3450: icmp_seq=1 ttl=64 time=0.549 ms (DUP!) |
IPv4'de çoğa gönderim adreslerine ping cevabı gönderilmesi iptal edilebilirken bu işlemi IPv6'da sadece yerel güvenlik duvarı ile yapmak mümkündür.
Bu program normal olarak iputils paketine dahildir. IPv4'de kullanılan traceroute programına benzer. Aşağıda örnek bir kullanımı bulunmaktadır:
# traceroute6 www.6bone.net traceroute to 6bone.net (3ffe:b00:c18:1::10) from 3ffe:ffff:0000:f101::2, 30 hops max, 16 byte packets 1 localipv6gateway (3ffe:ffff:0000:f101::1) 1.354 ms 1.566 ms 0.407 ms 2 swi6T1-T0.ipv6.switch.ch (3ffe:2000:0:400::1) 90.431 ms 91.956 ms 92.377 ms 3 3ffe:2000:0:1::132 (3ffe:2000:0:1::132) 118.945 ms 107.982 ms 114.557 ms 4 3ffe:c00:8023:2b::2 (3ffe:c00:8023:2b::2) 968.468 ms 993.392 ms 973.441 ms 5 3ffe:2e00:e:c::3 (3ffe:2e00:e:c::3) 507.784 ms 505.549 ms 508.928 ms 6 www.6bone.net (3ffe:b00:c18:1::10) 1265.85 ms * 1304.74 ms |
![]() | Not |
|---|---|
IPv4 ile kullanılan hem ICMPv4 echo-request paketlerini hem de UDP paketlerini kullanabilen traceroute'un son sürümlerinin aksine, güncel traceroute6 sadece UDP paketlerini gönderebilmektedir. Bildiğiniz gibi güvenlik duvarları veya yönlendiriciler için ICMP echo-request paketleri UDP paketlerine göre daha fazla kabul edilen paketlerdir. | |
Bu program normal olarak iputils paketine dahildir. traceroute6 programına benzer şekilde verilen bir hedefe ulaşmak için gerekli MTU'yu hesaplayarak yolu izler. Aşağıda kullanımına bir örnek verilmiştir:
# tracepath6 www.6bone.net 1?: [LOCALHOST] pmtu 1480 1: 3ffe:401::2c0:33ff:fe02:14 150.705ms 2: 3ffe:b00:c18::5 267.864ms 3: 3ffe:b00:c18::5 asymm 2 266.145ms pmtu 1280 3: 3ffe:3900:5::2 asymm 4 346.632ms 4: 3ffe:28ff:ffff:4::3 asymm 5 365.965ms 5: 3ffe:1cff:0:ee::2 asymm 4 534.704ms 6: 3ffe:3800::1:1 asymm 4 578.126ms !N Resume: pmtu 1280 |
Linux'da paket yakalamak için kullanılan en önemli araç tcpdump'tır. Aşağıda kullanımıyla ilgili örnekler bulacaksınız. IPv6 desteği 3.6 sürümünden itibaren gömülü olarak gelmektedir.
tcpdump gürültüyü (noise) enngellemek için bazı ifadeler kullanır:
Daha çok ICMPv6 paketlerini yakalamakta ve paketler hakkında daha fazla bilgi edinmeyi sağlamakta yararlı olan bazı komut satırı seçenekleri de mevcuttur:
Örnek 5.1. 3ffe:ffff:100:f101::1 adresine yerel bir bağlantı üzerinden IPv6 ping
# tcpdump -t -n -i eth0 -s 512 -vv ip6 or proto ipv6 tcpdump: listening on eth0 3ffe:ffff:100:f101:2e0:18ff:fe90:9205 > 3ffe:ffff:100:f101::1: icmp6: echo request (len 64, hlim 64) 3ffe:ffff:100:f101::1 > 3ffe:ffff:100:f101:2e0:18ff:fe90:9205: icmp6: echo reply (len 64, hlim 64) |
Örnek 5.2. 3ffe:ffff:100:f101::1 adresine IPv6-in-IPv4 tüneli üzerinden yönlendirilmiş IPv6 ping
1.2.3.4 ve 5.6.7.8 adresleri tünelin iki ucunu göstermektedir (elbette adresler örnektir)
# tcpdump -t -n -i ppp0 -s 512 -vv ip6 or proto ipv6 tcpdump: listening on ppp0 1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 3ffe:ffff:100::1: icmp6: echo request (len 64, hlim 64) (DF) (ttl 64, id 0, len 124) 5.6.7.8 > 1.2.3.4: 3ffe:ffff:100::1 > 2002:ffff:f5f8::1: icmp6: echo reply (len 64, hlim 61) (ttl 23, id 29887, len 124) 1.2.3.4 > 5.6.7.8: 2002:ffff:f5f8::1 > 3ffe:ffff:100::1: icmp6: echo request (len 64, hlim 64) (DF) (ttl 64, id 0, len 124) 5.6.7.8 > 1.2.3.4: 3ffe:ffff:100::1 > 2002:ffff:f5f8::1: icmp6: echo reply (len 64, hlim 61) (ttl 23, id 29919, len 124) |
| ||||||||||