2009年6月15日月曜日

[.NET]MACアドレスなどNICの物理情報取得

先日、MSDNを眺めていたら、MACアドレスが取れそうなインタフェースがありました。
気になったのでちょっと試してみました。コードはこんな感じ。

private void button1_Click(object senderEventArgs e)
{
    //using System.Net.NetworkInformation;

    //NIC構成情報取得
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();

    String template = "name=[{0}] mac=[{1}] stat=[{2}] speed=[{3}mbps]";

    foreach (NetworkInterface adapter in nics)
    {
        //IPネットワーク構成情報取得
        PhysicalAddress address = adapter.GetPhysicalAddress();

        //構成情報取得
        String name = adapter.Name;
        String stat = adapter.OperationalStatus.ToString();
        double speed = adapter.Speed / 1000000;
        String mac = BitConverter.ToString(address.GetAddressBytes());
        //構成情報出力
        System.Diagnostics.Debug.WriteLine(String.Format(templatenamemacstatspeed));
    }
}


■出力結果

name=[Bluetooth ネットワーク接続] mac=[00-1E-xx-xx-xx-xx] stat=[Down] speed=[0mbps]
name=[ワイヤレス ネットワーク接続] mac=[00-1C-xx-xx-xx-xx] stat=[Up] speed=[48mbps]
name=[ローカル エリア接続] mac=[00-15-xx-xx-xx-xx] stat=[Down] speed=[100mbps]

(注)xxの部分にはMACアドレスが入ります

0 件のコメント: