C#を使ってMACアドレスを抽出・取得する方法
MACアドレスとは
デバイスのMACアドレスとは、メディアアクセスコントロール(Media Access Control)アドレスのことで、ネットワークインターフェースに割り当てられた世界で一意の識別子です。
MACアドレスの仕組みは、イーサネット(Ethernet)やBluetooth、Fibre Channelなど、さまざまな通信技術で広く採用されています。一般的には「00-1A-2B-3C-4D-5E」のような形式で表現されます。
ネットワークインターフェースの一覧を取得する
C#では、NetworkInterface.GetAllNetworkInterfaces()メソッドを使用することで、コンピューター上に存在するすべてのネットワークインターフェースを簡単に取得できます。
NetworkInterface.GetAllNetworkInterfaces()
また、ネットワークインターフェースの種類を指定・判定する際には、NetworkInterfaceType列挙体も活用されます。これにより、イーサネットやワイヤレスなど、インターフェースのタイプに応じた処理の分岐も可能になります。
MACアドレスを抽出するサンプルコード
以下のコードは、稼働中(Up状態)のネットワークインターフェースから最初の1つを見つけ出し、その物理アドレス(MACアドレス)を文字列として返す例です。
string addr = "";
foreach (NetworkInterface n in NetworkInterface.GetAllNetworkInterfaces()) {
if (n.OperationalStatus == OperationalStatus.Up) {
addr += n.GetPhysicalAddress().ToString();
break;
}
}
return addr;
コードのポイント
OperationalStatus == OperationalStatus.Up:現在有効になっている(接続中の)インターフェースのみを処理対象とします。GetPhysicalAddress():インターフェースのMACアドレス(物理アドレス)をPhysicalAddressオブジェクトとして取得します。break:最初に見つかった有効なインターフェースの時点でループを終了し、無駄な処理を防ぎます。
このように、上記のコードではGetPhysicalAddress()メソッドを使ってMACアドレスを抽出しています。戻り値に対してToString()を呼び出すことで、MACアドレスを文字列形式として扱える点も覚えておきましょう。
-
Windows 10でMACアドレスを変更する方法【手順を画像付きで解説】
すべての機器には固有のMACアドレス(Media Access Controlアドレス)が割り当てられており、ネットワーク上での恒久的かつ一意な識別子として機能します。つまり、あなたのデバイスはこのMACアドレスによってネットワーク上で認識・識別されています。MACアドレスはWindowsパソコンに限ったものではなく、ネットワークに接続するすべてのデバイスが持っています。Androidスマホやテレビ、iPhone、Apple TV、MacBook、さらにはルーターなど、ほぼすべての機器にMACアドレスが存在するのです。 では、MACアドレスが固有のもので事前に割り当てられているなら、なぜ変更す
-
Parallelsを使ってMacにWindowsを導入する方法を徹底解説
MacとWindowsの両方のプラットフォームを頻繁に使う方にとって、Mac上でWindows OSやアプリを利用できるのは非常に便利です。「MacはWindowsと相性が悪いのでは?」と思うかもしれませんが、実は専用アプリを使えば誰でも簡単に実現できます。MacでWindowsを導入する方法として最も人気があるのが、仮想化ソフト「Parallels Desktop」を利用する方法です。 Parallelsを使ってMacにWindowsを導入する手順 Macユーザーの中には、仕事などで必要なWindowsアプリを同じ画面で動かしたいと考えている方も多いでしょう。Parallelsを使えば、そ