1. 概要

このチュートリアルでは、ドメイン名を解決またはIPアドレスに変換する方法について説明します。 この目的のために、次のコマンドを使用します: ping host nslookup dig、 nmap

2. pingコマンドの使用

ping ユーティリティは、ICMPエコー要求パケットを介したホストの到達可能性をテストするために使用されます。

多くのLinuxディストリビューションにプリインストールされていますが、Linuxディストリビューションにプリインストールされていない場合は、インストールできます。 aptまたはyumを使用して、Ubuntu/Debianにiputils-pingをインストールするか、RHELにiputils-pingをインストールできます。

ドメイン名にpingを実行して、ドメイン名をIPアドレスに解決しましょう。

$ ping baeldung.com
PING baeldung.com (104.26.13.74) 56(84) bytes of data.
64 bytes from 104.26.13.74 (104.26.13.74): icmp_seq=1 ttl=32 time=11.1 ms

ドメインbaeldung.comにpingを実行すると、ドメインbaeldung.comのAレコードである104.26.13.74のIPアドレスで応答します。

3. ホストコマンドを使用する

host コマンドは、ドメイン名をIPアドレスに変換し、IPルックアップを逆引きするために使用されるDNSルックアップユーティリティです

このコマンドは多くのLinuxディストリビューションにプリインストールされていますが、システムで使用できない場合はインストールできます。 aptまたはyumを使用して、Ubuntu/Debianにdnsutilsをインストールするか、RHELにbind-utilsをインストールできます。

host コマンドを使用して、出力を調べてみましょう。

$ host baeldung.com
baeldung.com has address 104.26.12.74
baeldung.com has address 104.26.13.74
baeldung.com has address 172.67.72.45
baeldung.com has IPv6 address 2606:4700:20::ac43:482d
baeldung.com has IPv6 address 2606:4700:20::681a:c4a
baeldung.com has IPv6 address 2606:4700:20::681a:d4a

これにより、A、AAAA、MX、およびその他のレコードなどのすべてのDNSレコードが出力されます。 ただし、この場合、IPv4アドレスを確認する必要があります。

印刷するレコードのタイプを追加してみましょう。

$ host -t a baeldung.com
baeldung.com has address 172.67.72.45
baeldung.com has address 104.26.12.74
baeldung.com has address 104.26.13.74

上記のコマンドから、-tオプションは、検索するレコードのタイプを指定します。 私たちの場合、それはドメイン名のAレコードです。

4. nslookupコマンドの使用

ここで取り上げるもう1つのコマンドは、インターネットドメイン名のクエリに使用されるnslookupコマンドです。 このコマンドは、hostコマンドと同様の機能を提供します。

デフォルトでは、 nslookup コマンドは一部のLinuxディストリビューションにプリインストールされていますが、システムにインストールすることもできます。 このコマンドは、上記のhostコマンドでインストールしたDNSUtilまたはBind-Utilsパッケージの一部です。 インタラクティブモードと非インタラクティブモードの2種類のモードがあります。

ターミナルを開いて、ドメイン名を「nslookup」と入力してみましょう。 これは非対話型モードになります。

$ nslookup baeldung.com
Name: baeldung.com
Address: 172.67.72.45
Name: baeldung.com
Address: 104.26.12.74
Name: baeldung.com
Address: 104.26.13.74

非対話型モードは、デフォルトでIPv4とIPv6の両方を検索します。 nslookup のインタラクティブモードでは、A、AAA、MX、CNAMEなど、探しているDNSレコードのタイプを変更できます。

インタラクティブモードでnslookupを使用するのも同様です。

[email protected]:~$ nslookup
> set type=A
> baeldung.com
Server: 172.31.0.2
Address: 172.31.0.2#53

Non-authoritative answer:
Name: baeldung.com
Address: 104.26.13.74
Name: baeldung.com
Address: 172.67.72.45
Name: baeldung.com
Address: 104.26.12.74

上記のコマンドから、type = Aから、MX、CNAMEなどの探しているDNSレコードを変更できます。

5. Digコマンドの使用

digコマンドは、 nslookupコマンドと同様に機能しますが、より多くの機能を備えています。 dig コマンドは一部のLinuxディストリビューションにプリインストールされていますが、Linuxシステムで使用できない場合はインストールできます。

これは、上記で見たDNSUtilまたはBind-Utilsパッケージを介して利用できます。

dig を使用して、必要な任意のタイプのDNSレコードを照会できます。 ただし、そうすることで、ドメイン名をIPに変換します。 ドメイン名のAレコードを確認してみましょう。

[email protected]:~$ dig baeldung.com A +short
104.26.13.74
172.67.72.45
104.26.12.74

上記のコマンドから、AレコードはIPv4アドレスですが、+ shortは、ヘッダーを表示せずに短い回答を取得することを意味します。 dig を使用するIPv6であるドメイン名のAAAAレコードを探しています:

[email protected]:~$ dig baeldung.com AAAA +short
2606:4700:20::681a:c4a
2606:4700:20::681a:d4a
2606:4700:20::ac43:482d

ご覧のとおり、ドメイン名のIPv6アドレスも確認できます。

6. Nmapを使用する

Nmap は、 Network Mapperの略で、セキュリティの監査と大規模ネットワークのスキャンに使用されるツールです。

aptまたはyumを使用して、Ubuntu/DebianおよびRHELにnmapをインストールできます。

pingスキャンオプションを使用したホスト検出を見てみましょう。

$ nmap -sn baeldung.com
Starting Nmap 7.80 ( https://nmap.org ) at 2021-08-11 13:51 WAT
Nmap scan report for baeldung.com (104.26.12.74)
Host is up (0.25s latency).
Other addresses for baeldung.com (not scanned): 104.26.13.74 172.67.72.45 2606:4700:20::681a:c4a 2606:4700:20::681a:d4a 2606:4700:20::ac43:482d
Nmap done: 1 IP address (1 host up) scanned in 1.76 seconds

まず、-snオプションはnmapにpingスキャンを指示し、ポートスキャンを無効にします。 ドメイン名の翻訳のみに関心があるため、このオプションを使用しています。 最後に、上記の nmap の出力には、ドメインのIPアドレスとドメインに関連付けられている他のIPが表示されます。

7. 結論

このチュートリアルでは、ドメイン名をIPアドレスに変換するために使用できるさまざまなコマンドについて学習しました。 ping host nslookup dig、nmapなどのコマンドを調べました。 最後に、コマンドを使用して他のDNSレコードを確認する方法を学びました。