【VB.Net】MACアドレスって何?からの取得方法

どうも!リョクちゃです。

今回は、MACアドレスについて紹介するとともに、

VB.Netで自身のMACアドレスを取得する方法を例を交えて紹介していきます。

ちなみに前回は、IPアドレスについて記事を書きました。

IPアドレスとは、インターネットに接続する機器に割り当てられる、インターネット上の住所の役割がある。アドレスによって接続先を間違わないようにしています。今回は、自身のマシンのIPアドレスを取得する方法を例を交えて紹介していきます。



MACアドレスとは : (Media Access Control)

ネットワークにつながる機器に割り当てられる48ビットで構成された、

世界に一つしかない唯一固有の値です。

物理アドレスとも呼ばれます。

例えば、スマートフォンやパソコン、ゲーム機器(PS4や任天堂Switch,Xbox)

最近ではIoT家電にもMACアドレスが割り当てられています。

ネットワークに接続するのに必要なモノで、ないと通信などができません。

下に、MACアドレスの例を示します。

00-67-12-AB-CD-E7

で構成され、ポリシーとして、

半角英数字0~9、A~Fで構成されます。

F以降のGやKなどは含まれません

一般的に2桁区切りの”ハイフン”で表されます。

“ハイフン”がない場合の表記もありますが、あまり見かけないと思います。

また、2桁部分をオクテットと呼び、MACアドレスは6オクテットで構成されます。

前半の24ビットベンダーコードと呼び、後半の24ビットシリアルコードと呼びます。

ベンダーコードとは、主にMACアドレスが付加されている機器を

生産・販売している会社の名前が割り当てられています。

シリアルコードに関しては、ユニークなコードになります。

ベンダーコード+シリアルコードで、唯一固有の値になります。

下図でそれぞれ説明しておきます。

ざっと、簡単にMACアドレスについて解説しましたが、

次にVB.NetでMACアドレスを取得する方法を例を交えて解説します。

準備編:フォームの作成

下のようなフォームを作成します。

ちなみに筆者の環境は、

  • VisualStudio2019
  • Windows 10 64bit
  • .Net Framework 4.5.2

です。



スポンサーリンク




アプリケーションの目的

今回は、フォーム上に配置されたボタンを押すことで、

フォーム上に配置されているラベルに自身のMACアドレスを表示する

ことを目的としたアプリケーションを作成します。

MACアドレスの取得:自身の端末のMACアドレス一覧を取得

実は、自端末の環境によっては複数のMACアドレスが割り当てられている場合があります。

各ネットワークアダプタにつき、1つのMACアドレスであったり、

仮想環境を構築している場合など。

この一覧を取得するには、

System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()

を使用します。

これを使うことで全てのインターフェースのMACアドレスやその他の情報が取得できます。

今回はMACアドレスのみについて触れます。

取得した一覧からMACアドレスを抽出するには、

下のコードで抽出します。

ここでは0番目のインターフェースのMACアドレスを抽出しています。

全てを取得したい場合は、For Each文を使って取得するようにします。

変数nif.GetPhysicalAddress

と書くことで、MACアドレス(または、物理アドレス)を取得しています。

最後に、ラベルに表示するコードを書きます。

実際に実行すると、

※ MACアドレスの表示は消しています。

実際にはラベルに表示がされています。

気になる方はコードを実行してみてください。

まとめ

今回は、MACアドレスについて簡単にどんなものか解説、

取得方法について紹介していきました。

興味のある方はぜひ、一度自身のMACアドレスを調べてみてはいかがでしょうか。

ご覧いただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク