それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

IPv6 での定番ネットワークコマンド(dig/nmap/curl/ip、そしてtcpdump)

更新履歴

  • 2016-10-13 追記 dig のときのついて追記
  • 2019-05-04 追記 dig DNS aaaa について追記
  • 2019-09-13 追記 curltcpdump

IPv6 では通常のコマンドと若干ちがう

curl / http

curl http://127.0.0.1/ #v4
curl http://[::1]          #v6
curl -6  http://example.com   #v6

IPv6でHTTPのアドレスを指定するときは、ブラケットで指定する。

WEBでホームページを閲覧するときもブラケットです。

curl http://[2404:6800:400a:807::2003]/ #google.co.jp
open -a Safari.app http://[2404:6800:400a:807::2003]/

curl の場合、 -6 をつけると、v6 でアドレス解決する。

curl -6  http://example.com #v6

nmap でのipv6

nmap では 引数をつける

nmap -6 ::1

pingipv6

ping6 ::1

最近のlinuxping は賢いので ping ::1 のようにIPv6 アドレスを引数に入れるだけで v6 でping を送ってくれる。

dig

dig example.jp aaaa

v6 のアドレスを引くためには AAAA を指定する。

v6 のDNSサーバーを指定すると@の後に指定すればイイはずなんだ。ただ動かない。

dig をipv6(aaaa)で調べるときの注意

dig でIPv6 が引けない場合。

DNSの問合先が IPv6非対応のプロキシDNSの場合。つまりルーターDNSプロキシ機能などが非対応の場合などが考えられる。またプロバイダやフレッツ光HGWが勝手にIPv6の問い合わせを削除して応答している場合などがある。

このような場合は、確実にIPv6を教えてくれる 8.8.8.8 を問い合わせ先に指定する。指定して使うことで確実な回答が得られる。

dig google.co.jp AAAA @8.8.8.8 

DNSの問い合わせるサーバーを指定しましょう。

DNS問い合わせをIPv6で問い合わせる

8.8.8.8 はv4指定なので、v4 経路でv6 アドレスを問い合わせているので、問い合わせもv6 でやる場合。

dig example.com @2001:4860:4860::8888

traceroute

traceroute6 2001:4860:4860::8888

これは6をつける。

ip コマンド

 ip      addr show br0   # v4/v6 両方
 ip -6 addr show br0   # v6 のみ
 ip -4 addr show br0   # v4 のみ

ip コマンドはv4/v6両方表示されるのでソレだけだと思ったら、調べたらv6のみを表示することが出来る。

ifconfig

ifconfig br0 | grep inet6

ifconfig はv6 ようのものがないのでgrep するしかない。

tcpdump

tcpdumpipv6 パケットだけを表示するためには

tcpdump -v ip6 

tcpdump で ICMP6 の近傍探索を知りたいときは

tcpdump icmp6

移行期だろうから統一性に欠ける

覚えておかないとぱぱっと使えないわ・・・