それマグで!

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

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

みんな大好き、dig コマンドの使い方(dnsを調べるあれこれ

みんな dig ってますか?

http でファイルが開けない時、真っ先に見るべきは iptable でも、ifconfig でもなくて dig です。

まず、dig を確認するよね。

dig の使い方

dig は名前解決を試みるコマンドです。

名前解決とは何か、、DNSの仕組みについては触れません。コマンドを使っていけばわかると思うし。

dig で 名前解決する

dig t.co

ドメインから、IPアドレスを探す。

dig で逆引きする。

dig -x 8.8.8.8

逆引きすると、IPアドレスからそのIPの持ち主がだいたい分かることが多い

MXレコードを指定する

dig yahoo.co.jp mx

ns レコードを探す

dig yahoo.co.jp ns

txt レコードを探す

dig yahoo.co.jp txt

表示をシンプルにする

結果だけ欲しい時に使う、プログラムと組わせて使うときに便利

dig yahoo.co.jp +short

実行結果

takuya@~/Desktop$ dig yahoo.co.jp txt +short
"v=spf1 include:spf.yahoo.co.jp ~all"

細い指定はいいから全部よこせ

ジャイアン的に、ns / soa/ a /mx など指定はいいからもういいから全部くれ。

dig  ANY flets-west.jp

DNS サーバーを指定する

@DNSサーバー を入れると指定できる。

dig hatena.ne.jp @8.8.8.8
dig xrea.com  @ns1.value-domain.com

DNSコンテンツサーバーに問い合わせるときは、DNSサーバー管理下のドメインの結果が応答される。

DNSキャッシュサーバーに問い合わせるときは、任意のドメインの問合せが出来る。

最近は、キャッシュサーバーはオープンリゾルバ対策がされている、そのため、自プロバイダ網外からは利用不可。

@ に指定するのはIPアドレスでなくても良い。

ルートからDNS辿る

dig www.yahoo.co.jp  +trace

DNSといえばDNSルートドメインから順番に辿るのですが、通常キャッシュから辿ります。 「敢えて」Rootサーバーから順番にたどります。

DNSが反映されないとか「浸透しない」とか言ってないで、まずルートから辿ってみること。

再帰問合せをオフにする

dig www.yahoo.co.jp +norec

DNSキャッシュサーバーに対する再帰問合せをオフにして(RDフラグオフ)名前入解決を依頼する。

IPv6 のアドレスがほしい

dig www-v6.iij.ad.jp aaaa

aaaa を指定しないと出てこない。ANYでもだめよ。

参考資料

  • man dig

みんな大好きman ページ