linuxのコマンドラインからホストの正規のホスト名を取得する最も簡単な方法は何ですか?
それが重要であれば、私のシェルはbashです。
CLARIFICATION: IPまたは非正規ホスト名による別のホストの正規ホスト名が必要です。ローカルホストの正規のホスト名ではありません。
Dig(1)
を使用します。通常の検索では次を使用します。
Dig full.hostname.xxx
逆引きには以下を使用します:
Dig -x 127.0.0.1
また、はるかに優れたオプションについては、manページを確認してください。
リモートホストのノード名は、そのネットワーク名のいずれとも必要な関係を持ちません。ログインしてhostname
コマンドを使用する必要があります。
ネットワークアドレスの完全修飾ドメイン名(FQDN)を探す場合は、Dig
やnslookup
などのDNSクエリツールを使用できます。これは、@ firmおよび@Richard Hollowayで説明されています。
明確にするために、hostname
は短い名前を返すだけです。使用 -f
パラメータ; hostname -f
完全修飾名を取得します。
Hostコマンドも使用できます。この例のように
Host xxx.xxx.xxx.xyz
結果は次のようになります
xyz.xxx.xxx.xxx.in-addr.arpa domain name pointer name.domain.com
正規名の「逆引き」はありません。つまり、Aレコードが指定されている場合、CNAMEレコードがそれを指しているもののリストを取得する方法はありません。
IP xxx.xxx.xxx.xxxのリモートホストのfqdnを見つけるには、次のコマンドを使用できます。
nslookup xxx.xxx.xxx.xxx
と答えが含まれているを参照してください
name = Host.domain.net
名前でIPアドレスを検索し、そのIPアドレスの名前を検索できます。 1つのコマンドでそれを行うには:
$ Dig -x `Dig +short www.google.com` | grep PTR.
100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f4.1e100.net.
100.212.58.216.in-addr.arpa. 86309 IN PTR lhr35s06-in-f100.1e100.net.
これはすべてのサイトで機能するわけではありません。
コマンドは次のとおりです。
hostname