C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でIPアドレスを取得する方法【サンプルコード付きで解説】

IPアドレス(Internet Protocol Address)とは、ネットワークハードウェアに割り当てられる識別用の番号です。コンピュータをネットワーク上の他のデバイスや世界中のデバイスと接続するために利用され、数字や文字で構成されます。

インターネットに接続されるすべてのデバイスには固有のIPアドレスが必要となるため、全世界で数十億個規模のIPアドレスが必要です。この需要に応えるために登場したのが、新しいIPバージョンであるIPv6です。

プライベートIPアドレスとは

プライベートIPアドレスは、家庭や企業のネットワークに接続されたデバイスに割り当てられるアドレスです。同じISP(インターネットサービスプロバイダ)に複数のデバイスが接続している場合でも、それぞれのデバイスには固有のプライベートIPアドレスが付与されます。なお、このアドレスは家庭や企業のネットワークの外部からアクセスすることはできません。

例:192.168.1.1

C#でIPアドレスを取得するサンプルコード

以下のコードでは、Dns.GetHostEntryメソッドを使ってローカルマシンのホスト情報を取得し、その中からIPv4(InterNetwork)に該当するアドレスだけを抽出して表示しています。System.Environment.MachineNameでマシン名を取得し、そこからIPアドレスを解決する流れになっています。

class Program{
    static void Main(string[] args){
        string IPAddress = GetIPAddress();
        System.Console.WriteLine(IPAddress);
        Console.ReadLine();
    }
    public static string GetIPAddress(){
        string IPAddress = string.Empty;
        IPHostEntry Host = default(IPHostEntry);
        string Hostname = null;
        Hostname = System.Environment.MachineName;
        Host = Dns.GetHostEntry(Hostname);
        foreach (IPAddress IP in Host.AddressList){
            if (IP.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork){
                IPAddress = Convert.ToString(IP);
            }
        }
        return IPAddress;
    }
}

実行結果

192.168.1.1
  1. ASP.NET MVC(C#)でクライアントのIPアドレスを取得する方法

    ネットワーク上のすべてのマシンには、固有の識別子が割り当てられています。郵便物に宛先住所を書いて送るのと同じように、コンピュータもこの識別子を使って、ネットワーク上の特定のコンピュータへデータを送信します。現在、インターネット上のすべてのコンピュータを含むほとんどのネットワークでは、TCP/IPプロトコルが通信の標準として採用されています。TCP/IPプロトコルにおいて、コンピュータを識別するための固有の識別子こそが「IPアドレス」です。HttpRequest.UserHostAddress プロパティを使う方法ASP.NET MVCでクライアントのIPアドレスを取得する最もシンプルな方法は、

  2. Windows 11でIPアドレスを確認する方法|コマンドプロンプトと設定アプリの手順

    インターネット接続に不具合が生じたとき、さまざまな対処法を試す中で、自分のPCのIPアドレスを把握しておくと意外と役立ちます。 IPアドレス(Internet Protocol Address)とは、インターネット上でデバイスを識別するための一意な数値アドレスのことです。機械にとっての「郵便番号」と考えると分かりやすいでしょう。現実世界で郵便番号が住所を特定するように、IPアドレスはコンピューターの場所を示し、デバイス同士がお互いを見つけて通信できるようにしています。 Windows 11でIPアドレスを確認する方法は複数あります。まずは最もシンプルな方法である「コマンドプロンプト」を使う