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名)を取得することができました。ネットワークを使用するアプリやネットワーク監視を行うアプリを作成する場合に使えそうです。