NetworkInterface Sınıfı

Eyl 06, 2013

NetworkInterface sınıfı yapılandırma ve ağ birimi için istatistiksel bilgilere erişilmesine olanak sağlar. Ayrıca ethernet kartı ile ilgili bazı bilgilere de bu sınıf yardımıyla ulaşılır. Bu sınıfı kullanabilmek için "System.Net.NetworkInformation" namespace'i (isim uzayı) projeye eklenmelidir. NetworkInterface sınıfı ile bilgisayarın işletim sistemi ancak Windows 7 ise Ipv6 özelliklerine ulaşılır. Windows 7 den daha eski işletim sistemlerinde Ipv6 ile ilgili bilgilere bu sınıf yardımıyla ulaşılamaz.

Aşağıda NetworkInterface sınıfı içindeki belli başlı metotlar/özellikler ve açıklamaları verilmiştir.

Metot/Özellik   Açıklama  
GetIPProperties() Ipv4, Ipv6, DNS, Gateway adreslerine ulaşmak için kullanılır.
GetPhysicalAddress() MAC adresine ulaşmak için kullanılır.
Name Bağlantı adına ulaşmak için kullanılır.
Speed Bağlantı hızına "Byte" cinsinden ulaşmak için kullanılır.
GetIPv4Statistics() Gelen ve giden hızlara "Byte" cinsinden ulaşmak için kullanılır.
Description Ethernet kartının modeline ulaşmak için kullanılır.

Uygulama

Uygulamada NetworkInterface sınıfı içindeki belli başlı bazı yöntemler yardımıyla bilgisayarın ağ bilgilerine erişimi test edilecektir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.NetworkInformation;

public partial class hepsi : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {               
        NetworkInterface network = 
               NetworkInterface.GetAllNetworkInterfaces().FirstOrDefault();
        String ip_adres = network.GetIPProperties().UnicastAddresses[3].Address.ToString();
        txtip.InnerText = ip_adres;
        String ipv6_adres = network.GetIPProperties().UnicastAddresses[0].Address.ToString();
        txtipv6.InnerText = ipv6_adres;
        String mac_adres = network.GetPhysicalAddress().ToString();
        txtmac.InnerText = mac_adres;
        String network_name = network.Name.ToString();
        txtbaglanti.InnerText = network_name;
        String dns = network.GetIPProperties().DnsAddresses[0].ToString();
        txtdns.InnerText = dns;
        Double hiz = network.Speed;
        txthiz.InnerText = hiz.ToString() + " Byte";
        String gateway = network.GetIPProperties().GatewayAddresses[0].Address.ToString();
        txtgateway.InnerText = gateway;
        Double gelen_hiz = network.GetIPv4Statistics().BytesReceived;
        txtgelen.InnerText = gelen_hiz.ToString() + " Byte ";
        Double giden_hiz = network.GetIPv4Statistics().BytesSent;
        txtgiden.InnerText = giden_hiz.ToString() + " Byte ";
        String ethernet_kart = network.Description;
        txtkart.InnerText = ethernet_kart;
    }
}

Çıktı