Windows(コマンドプロンプト)でdig、whois、hostコマンドを使う 【改訂版】

コード

Linuxでよく使うコマンド「dig、whois、host」をWindows(コマンドプロンプト)で使えるようにします。

以前であれば、「dig for Windows」http://members.shaw.ca/nicholas.fong/dig/)が簡単に導入できて、ラクチンだったのですが、サイトがなくなっています。

今は、BIND(dig、host)Jwhois(whois)の組み合わせで使用しています。
※Jwhoisの代わりにWindows SysinternalsのWhoisでも可能です。

BIND(dig、host)のインストール

  1. https://www.isc.org/downloads/ からBIND(Windows版)をダウンロードします。
    「Tools Only」でのインストールなので、バージョンはとりあえず最新版を選んでおけば大丈夫だと思います。
  2. ダウンロードしたZIPファイルを解凍して、「BINDInstall.exe」管理者権限で起動します。
    インストーラーが立ち上がるので、「Target Directory」でインストール先を指定し、「Tools Only」にチェックを入れてインストールします。(管理者権限じゃないとエラーでインストールできません)
  3. 最後にインストール先フォルダ内の「bin」を環境変数でパスを通せば、完了となります。
    例:Cドライブ直下の「BIND」というフォルダをインストール先にした場合
    変数名:Path
    値:C:\BIND\bin

Jwhois(whois)のインストール

  1. http://gnuwin32.sourceforge.net/packages/jwhois.htm から「Complete package」をダウンロードします。
  2. EXEファイルがダウンロードされるので、インストール先以外をデフォルトのまま、インストールします。
  3. インストール直後のままだと、コマンドが「jwhois」になってしまうので、インストール先フォルダ内の「bin」の中にある「jwhois.exe」「whois.exe」に改名しておきます。
  4. 「jwhois.conf」が少し古いので、ファイル内に記載されているリンク先(http://savannah.gnu.org/cgi-bin/viewcvs/jwhois/jwhois/example/jwhois.conf)から最新版を取得して、差替える。
  5. 最後にインストール先フォルダ内の「bin」を環境変数でパスを通せば、完了となります。
    例:Cドライブ直下の「GnuWin32」というフォルダをインストール先にした場合
    変数名:Path
    値:C:\GnuWin32\bin
    値:C:\GnuWin32\bin;C:\BIND\bin ※先のBINDと同居させる場合
    (パスとパスの間に「;」を挿入します)

(おまけ)Windows Sysinternals Whoisのインストール

  1. https://technet.microsoft.com/ja-jp/sysinternals/bb897435.aspx からWhoisをダウンロードします。
  2. ダウンロードしたZIPファイルを解凍して、任意の場所に設置します。
  3. 最後に設置した場所をを環境変数でパスを通せば、完了となります。

「Jwhois」と「Windows Sysinternals Whois」の違い

純粋にドメインのWhoisをしたい場合は、Windows Sysinternals Whoisの方が便利だと思います。比較的新しい一般TLDの「.tokyo」なども検索できます。(参照先Whoisサーバーの違い?)

ただ、IPアドレスのWhoisは苦手の模様なので、IPアドレスのWhoisをしたい場合や参照先Whoisサーバーの編集・追加をしたい場合などは、コンフィグファイルのあるJwhoisの方が適しています。

備考

参照先Whoisサーバーが不明な場合、いろいろ調べる手段はありますが「IANA – Root Zone Database」に一覧が記載されています。
ICANNの下部組織「IANA」の情報なので、正確だと思われます。

また、Whoisコマンドを利用して「whois.iana.org」を参照先Whoisサーバーとして、Whoisすると参照すべきWhoisサーバーやドメイン管理団体などの情報が表示されます。

ただ、困ったことに「IANA — Root Zone Database」に参照先Whoisサーバーが記載されていない場合があります。
そういった場合には「○○○.whois-servers.net」(○○○の部分にTLDを挿入する)として、検索するとWhois情報が返ってくるので、そこに記載されている参照先Whoisサーバーを取得すればOK。

ここまでやってもダメなら、ドメイン管理団体の提供サービスとかで調べるほかないと思います。
結論としては、そう頻繁に使用しないなら、WebサービスのWhoisを使用した方が便利かも?

スポンサーリンク

ABOUT

IT系零細企業のWebプログラマーって肩書きの何でも屋。 最近は、もっぱらWeb系広告やWindows向けソフトウェア開発、サーバー運用・保守、更には営業事務的業務などがメインで、プログラムにはノータッチ状態。ゲームやアニメ・映画・海外ドラマの鑑賞、猫との戯れを癒やしとして、今日も通勤中。