【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勉強しています。

スポンサーリンク