Linuxの場合:
-I (interface)を付けて実行します。
ping6 -I eth0 fe80:(略)-I オプションを指定しない場合は、"connect: Invalid argument"などが発生します。
----
注:ローカルからのPINGに応答するためには、PINGのRequest/Replyの他に、近隣探索(Neighbor Discovery)も有効にしておく必要があります。
PINGを受ける側で(最低限)必要なのは
IN: 128 (PING 要求)
OUT: 129 (PING 応答)
IN: 135 (近隣要請 (Neighbor solicitation))
OUT: 136 (近隣広告 (Neighbor advertisement))
です。
(135/136は、MACアドレスの要求/送信などに利用されます。)
参考:IPv6 Neighbor Discovery
----
グローバルアドレスへのpingの場合は、-I オプションを付けなくても大丈夫です。
例:(注:IPv6専用のアドレスです)
ping6 ipv6.google.com※グローバルアドレスと通信する場合は、
(インターネットに直結している場合は) ifconfigで、eth0などに
inet6 (略) <global>のアドレスが表示されている必要があります。
Windowsの場合は、「ローカルエリア接続の状態」で、
「IPv6 接続」が「インターネット」と表示されている必要があります。
----
Windowsの場合:(Windows7の場合)
ping -6 fe80:(略)を実行します。
----
hostsを使う場合は、インターフェイスID (10や11などの数字)も必要です。
hostsの例:
fe80:(略)%10 hostname
(アドレス)%(インターフェイスID) (ホスト名)
ping -6 hostname※hostsで%(インターフェイスID)を付けていない場合は、
ping 要求ではホスト hostname が見つかりませんでした。ホスト名を確認してもう一度実行してください。
などが表示されます。
----
インターフェイスIDの探し方。
使用するインターフェイスを確認します。
netsh interface ipv6 show interface名前欄が「ローカル エリア接続」などになっているインターフェイスの、Idx欄が、インターフェイスIDです。
代替コマンド
route -6 printインターフェィス一覧や、ルートテーブルから、インターフェイスIDを探します。
----
補足:
ICMPv4とv6では、Type番号が異なります。
Type番号(一部)
v4の場合:
3: 宛先到達不能
8: エコー要求
0: エコー応答
v6の場合:
0-127:エラー
128-255:メッセージ
1: 宛先到達不能
128: エコー要求
129: エコー応答
参考:
ICMPv6 パケット タイプとコード
0 件のコメント:
コメントを投稿