DNS 以外のドメイン名解決ツール

DNS 以外のドメイン名解決ツール

host、コマンドラインからDNS名を検索するために使用digできます。ただし、ホスト名を解決するnslookupのではなく、DNSサーバーから直接名前を照会します。nsswitchこれは、/etc/hosts と mDNS が使用されないことを意味します。

標準的な方法(mDNSおよび/ etc / hosts関連)で名前を取得できるコマンドラインツールはありますか?

一つあるAsk Differentに関する同様の質問しかし、OS Xに固有のようです。

答え1

getentこれを使用して、ホストを含​​むさまざまなデータベースを照会できます。

$ getent hosts <hostname>

サーバーにV6アドレスがありますが、V4アドレスが必要な場合は、ahostsv4 DBを使用できます。

$ getent ahostsv4 www.google.com

追加のツールでgethostbyname()プログラムを呼び出すことができます。 Cは大丈夫ですが、次はPerlスクリプトです。

#!/usr/bin/perl
use strict;
use warnings;
use Socket;

my $ip = gethostbyname($ARGV[0]); 
if (defined $ip) {
  my $ip_addr = inet_ntoa($ip);
  print "$ip_addr\n";
}

コマンドラインのホストにIPが1つしかない場合は、以下に印刷されます。

関連情報