LinuCレベル1 102試験の例題と解説

1.07.3基本的なネットワークの問題解決

LinuCレベル1 102試験の出題範囲から「1.07.3 基本的なネットワークの問題解決」についての例題を解いてみます。
IPアドレスを調べるコマンドについて確認しておきましょう。

Linucレベル1 102試験 出題範囲


例題

ホスト名からIPアドレスを調べることのできるコマンドを全て選択してください。

  1. host
  2. hostname
  3. dig
  4. netstat

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「1. host」と「3. dig」です。

hostコマンドは、DNSサーバを使ってホスト名を検索するコマンドです。
引数に指定したホスト名からIPアドレス、あるいはIPアドレスからホスト名を調べることができます。

実行すると以下のように表示されます。

$ host linuc.org
linuc.org has address 219.94.171.240

digコマンドは、DNSサーバに問い合わせることで、ホスト名からIPアドレスを調べるコマンドです。hostコマンドに比べ、より詳しい情報を表示することができます。
digコマンドでは、いくつかの問い合わせ行が記載されたリストを読みこんで各問い合わせを実行するバッチモードが使えたり、オプション指定によってhostコマンドよりも表示内容を細かく指定することができます。

digコマンドを通常の対話的モードで実行すると以下のように表示されます。

$ dig linuc.org

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> linuc.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21575
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;linuc.org.                     IN      A

;; ANSWER SECTION:
linuc.org.              3548    IN      A       219.94.171.240

;; Query time: 0 msec
;; SERVER: 192.168.2.8#53(192.168.2.8)
;; WHEN: 月  5月 02 14:49:52 JST 2022
;; MSG SIZE  rcvd: 54

このように、hostコマンドでもdigコマンドでも、ホスト名からIPアドレスを調べることが可能です。

選択肢の解説は以下です。

1.host
正解です。

hostコマンドを使うことで、ホスト名からIPアドレスを調べることができます。
以下の実行例のように、引数に利用するDNSサーバ(例では「8.8.8.8」)を指定したり、-aオプションを使ってDNSに登録された全てのレコード情報を表示することも可能です。

$ host -a linuc.org 8.8.8.8
Trying "linuc.org"
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54805
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;linuc.org.                     IN      ANY

;; ANSWER SECTION:
linuc.org.              21600   IN      SOA     01.dnsv.jp. hostmaster.dnsv.jp. 1648003115 3600 900 604800 300
linuc.org.              21600   IN      NS      01.dnsv.jp.
linuc.org.              21600   IN      NS      02.dnsv.jp.
linuc.org.              21600   IN      NS      03.dnsv.jp.
linuc.org.              21600   IN      NS      04.dnsv.jp.
linuc.org.              3600    IN      A       219.94.171.240

Received 165 bytes from 8.8.8.8#53 in 17 ms

このように、ホスト名からIPアドレスを調べることができるため正解となります。

2.hostname
誤りです。

hostnameコマンドは、システムのホスト名を表示したり、設定したりするためのコマンドです。
ホスト名からIPアドレスを調べることはできないため不正解となります。

3.dig
正解です。

digコマンドを使うことで、ホスト名からIPアドレスを調べることができます。
問い合わせに利用するDNSサーバを指定したり、クエリタイプを指定することで表示する内容を変更することができます。

digで指定できる主なクエリタイプには以下のようなものがあります。

タイプ意味
any指定されたドメインの全てまたは任意の情報を表示
aAレコード(IPアドレス)の情報を表示
mxMXレコード(メールサーバ)の情報を表示
nsNSレコード(ネームサーバ)の情報を表示

以下は、引数に利用するDNSサーバ(@8.8.8.8)を指定し、クエリタイプにanyを指定して実行した例です。

$ dig @8.8.8.8 linuc.org any

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7 <<>> @8.8.8.8 linuc.org any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21198
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;linuc.org.                     IN      ANY

;; ANSWER SECTION:
linuc.org.              21555   IN      SOA     01.dnsv.jp. hostmaster.dnsv.jp. 1648003115 3600 900 604800 300
linuc.org.              21555   IN      NS      01.dnsv.jp.
linuc.org.              21555   IN      NS      02.dnsv.jp.
linuc.org.              21555   IN      NS      03.dnsv.jp.
linuc.org.              21555   IN      NS      04.dnsv.jp.
linuc.org.              3555    IN      A       219.94.171.240

;; Query time: 14 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 月  5月 02 14:51:12 JST 2022
;; MSG SIZE  rcvd: 176

このように、ホスト名からIPアドレスを調べることができるため正解となります。

4.netstat
誤りです。

netstatコマンドは、ホストのネットワーク接続状態やソケット・インターフェイスごとのネットワーク統計などを表示するコマンドです。開いているポート確認をするときなど、ネットワーク状態を調べるために有用なコマンドです。
しかし、ホスト名からIPアドレスを調べることができません。よって不正解となります。

ホスト名からIPアドレスが引けるかどうかは、ネットワークの通信で問題が発生した場合などに原因の切り分けの一つとしても利用することができます。覚えておきましょう。


例題作成者

株式会社デージーネット OSS研究室 橋本知里

ページトップへ