環境

[C#] MACアドレスを取得する

MACアドレスを取得するサンプルです。

サンプル

例)有効なMACアドレスを取得する


using System.Net.NetworkInformation;

// 変数
var list = new List<PhysicalAddress>();

// MACアドレスを取得する
foreach (var adapter in NetworkInterface.GetAllNetworkInterfaces())
{
  // 有効なインターフェイスのみ対象とする
  if (adapter.OperationalStatus == OperationalStatus.Up)
  {
    // 不明なインターフェイスとループバックインターフェイスを除外する
    if ((adapter.NetworkInterfaceType != NetworkInterfaceType.Unknown) &&
        (adapter.NetworkInterfaceType != NetworkInterfaceType.Loopback))
    {
      list.Add(adapter.GetPhysicalAddress());
    }
  }
}

// 取得したMACアドレスの一覧を表示する
foreach (var obj in list)
{
  Console.WriteLine(obj.ToString());
}

結果例

48EB322B8435

ハイフン区切り型式の「48-EB-32-2B-84-35」と同じ意味合いです。

備考

  • getmacコマンドなどの結果表示ではハイフン区切り(XX-XX-XX-XX-XX-XX)ですが、
    上のサンプルの結果ではハイフン無しの形式です。
  • MACアドレスは複数取得される可能性もあるため、結果は配列になります。

-環境