ネットワーク

Java – IPアドレスからホスト名を取得する方法

Javaでは、InetAddressクラスを使用してIPアドレスからホスト名を取得できます。

InetAddress.getByName(String host)メソッドでIPアドレスを指定し、返されたInetAddressオブジェクトのgetHostName()メソッドを呼び出すことでホスト名を取得します。

例として、InetAddress.getByName("8.8.8.8").getHostName()を実行すると、GoogleのDNSサーバーに対応するホスト名が返される場合があります。

ただし、DNSの設定やネットワーク環境によってはホスト名が解決できないこともあります。

JavaでIPアドレスからホスト名を取得する方法

Javaでは、IPアドレスからホスト名を取得するために、InetAddressクラスを使用します。

このクラスは、ネットワークアドレスを表現するための便利なメソッドを提供しています。

以下に、具体的な方法を示します。

import java.net.InetAddress;
import java.net.UnknownHostException;
public class App {
    public static void main(String[] args) {
        // IPアドレスを指定
        String ipAddress = "8.8.8.8"; // GoogleのパブリックDNS
        try {
            // IPアドレスからInetAddressオブジェクトを取得
            InetAddress inetAddress = InetAddress.getByName(ipAddress);
            
            // ホスト名を取得
            String hostName = inetAddress.getHostName();
            
            // 結果を表示
            System.out.println("IPアドレス: " + ipAddress);
            System.out.println("ホスト名: " + hostName);
        } catch (UnknownHostException e) {
            // IPアドレスが無効な場合のエラーハンドリング
            System.out.println("無効なIPアドレス: " + ipAddress);
        }
    }
}
IPアドレス: 8.8.8.8
ホスト名: dns.google

上記のコードでは、指定したIPアドレス(この例ではGoogleのパブリックDNS)からホスト名を取得しています。

InetAddress.getByName()メソッドを使用して、IPアドレスに対応するInetAddressオブジェクトを取得し、getHostName()メソッドでホスト名を取得します。

無効なIPアドレスが指定された場合は、UnknownHostExceptionがスローされるため、適切にエラーハンドリングを行っています。

応用:ホスト名からIPアドレスを取得する方法

Javaでは、ホスト名からIPアドレスを取得するためにも、InetAddressクラスを使用します。

このクラスは、ホスト名を指定することで対応するIPアドレスを取得するためのメソッドを提供しています。

以下に、具体的な方法を示します。

import java.net.InetAddress;
import java.net.UnknownHostException;
public class App {
    public static void main(String[] args) {
        // ホスト名を指定
        String hostName = "www.google.com"; // Googleのホスト名
        try {
            // ホスト名からInetAddressオブジェクトを取得
            InetAddress inetAddress = InetAddress.getByName(hostName);
            
            // IPアドレスを取得
            String ipAddress = inetAddress.getHostAddress();
            
            // 結果を表示
            System.out.println("ホスト名: " + hostName);
            System.out.println("IPアドレス: " + ipAddress);
        } catch (UnknownHostException e) {
            // ホスト名が無効な場合のエラーハンドリング
            System.out.println("無効なホスト名: " + hostName);
        }
    }
}
ホスト名: www.google.com
IPアドレス: 142.250.207.100

上記のコードでは、指定したホスト名(この例ではGoogleのホスト名)からIPアドレスを取得しています。

InetAddress.getByName()メソッドを使用して、ホスト名に対応するInetAddressオブジェクトを取得し、getHostAddress()メソッドでIPアドレスを取得します。

無効なホスト名が指定された場合は、UnknownHostExceptionがスローされるため、適切にエラーハンドリングを行っています。

まとめ

この記事では、Javaを使用してIPアドレスからホスト名を取得する方法と、ホスト名からIPアドレスを取得する方法について解説しました。

これにより、ネットワークプログラミングにおける基本的な操作を理解し、実際のアプリケーションに応用することが可能になります。

ぜひ、実際にコードを試してみて、ネットワーク関連の処理を自分のプロジェクトに取り入れてみてください。

関連記事

Back to top button