C# – Ağ Kartlarını ve Detaylarını Listeleyin IP Adresini ve Mac Adreslerini Bulun

Bu yazıda System.Net.NetworkInformation isim uzayı altında bulunan NetworkInterface sınıfından yararlanarak.

Yerel makinenin bağlı ağ adaptörlerinin ismini, ip adresini, bağlantı durumunu, mac adresini ve adaptör ile ilgili birçok bilgiyi nasıl alabilirsiniz bundan bahsedilecek.

İşlemleri yapmadan önce aşağıdaki tanımlamayı yapmayı unutmayın.

using System.Net;
using System.Net.NetworkInformation;

Sonrasında aşağıdaki döngü yardımı ile kartlar hakkındaki bilgileri ekrana yazdırabilirsiniz.

            foreach (NetworkInterface networkInterface in NetworkInterface.GetAllNetworkInterfaces())
            {
                if (networkInterface.OperationalStatus != OperationalStatus.Up)
                {
                    //Sadece Aktifler
                    //continue;
                }
                if (networkInterface.OperationalStatus != OperationalStatus.Down)
                {
                    //Sadece İnaktifler
                    //continue;
                }
                Console.WriteLine("İsim:" + networkInterface.Name.ToString());
                Console.WriteLine("Açıklama:" + networkInterface.Description.ToString());

                Console.WriteLine("Fiziksel Adres(MAC):" + networkInterface.GetPhysicalAddress().ToString());

                Console.WriteLine("Benzersiz Kimliği:" + networkInterface.Id);

                Console.WriteLine("GönderilenByte:" + networkInterface.GetIPv4Statistics().BytesReceived.ToString());
                Console.WriteLine("AlınanByte    :" + networkInterface.GetIPv4Statistics().BytesSent.ToString());

                Console.Write("Bağlantı Durumu:");
                switch (networkInterface.OperationalStatus)
                {
                    case OperationalStatus.Dormant:
                        Console.Write("Dormant");
                        break;
                    case OperationalStatus.Down:
                        Console.Write("Down");
                        break;
                    case OperationalStatus.LowerLayerDown:
                        Console.Write("LowerLayerDown");
                        break;
                    case OperationalStatus.NotPresent:
                        Console.Write("NotPresent");
                        break;
                    case OperationalStatus.Testing:
                        Console.Write("Testing");
                        break;
                    case OperationalStatus.Unknown:
                        Console.WriteLine("Unknown");
                        break;
                    case OperationalStatus.Up:
                        Console.Write("Up");
                        break;
                    default:
                        break;
                }
                Console.WriteLine();

                float mbps = networkInterface.Speed == -1 ? 0 : (float)(networkInterface.Speed) / 1000f / 1000f;

                Console.WriteLine(string.Format("Hız:{0} Mbps ({1})", mbps.ToString(), networkInterface.Speed.ToString()));

                if (networkInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || networkInterface.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    foreach (UnicastIPAddressInformation ip in networkInterface.GetIPProperties().UnicastAddresses)
                    {
                        if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                        {
                            Console.WriteLine("IPAdresi:" + ip.Address.ToString());
                        }
                    }
                }
                Console.WriteLine("#################################################################");

Çıktı ise aşağıdaki gibi olacaktır.

Ağ Kartları Listesi