【C#】IPアドレスからホスト名を取得する

C#

TCP/IP通信を行うアプリケーションを作成していると、IPアドレスからホスト名(PC名)を取得したくなるケースがあります。本記事では、IPアドレスからホスト名(PC名)を取得するサンプルコードを紹介します。

サンプルコード

このコードは、IPアドレス “8.8.8.8” (GoogleDNSサーバ)からホスト名を取得し、それをコンソールに表示します。

using System;
using System.Net;

class Program
{
    static void Main(string[] args)
    {
        try
        {
            // IPアドレスを設定
            string ipAddress = "8.8.8.8";

            // IPアドレスからホスト情報を取得 ★
            IPHostEntry hostEntry = Dns.GetHostEntry(ipAddress);

            // ホスト名を表示
            Console.WriteLine($"IPアドレス: {ipAddress}");
            Console.WriteLine($"ホスト名: {hostEntry.HostName}");
        }
        catch (Exception ex)
        {
            // エラーが発生した場合、エラーメッセージを表示
            Console.WriteLine("エラーが発生しました: " + ex.Message);
        }
    }
}

実行結果

IPアドレス: 8.8.8.8
ホスト名: dns.google

解説

Dns.GetHostEntryメソッドは、指定されたIPアドレスのホスト情報を取得します。このメソッドはIPHostEntryオブジェクトを返します。このオブジェクトには、ホスト名や関連するIPアドレスなど、取得したホストに関する詳細な情報が含まれています。

まとめ

本記事では、IPアドレスからホスト名(PC名)を取得するサンプルコードを紹介しました。今回のサンプルコードではGoogleDNSサーバを例にしましたが、社内LANにおけるIPアドレスを指定した場合も、同様にホスト名(PC名)を取得することができました。ネットワークを使用するアプリやネットワーク監視を行うアプリを作成する場合に使えそうです。

タイトルとURLをコピーしました