NetworkInterface: GetAllNetworkInterfaces

   
 

using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("Interface Name: {0}", ni.Name);
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface:NetworkAddressChanged event

   
 

using System;
using System.Net.NetworkInformation;
class MainClass {
    private static void NetworkAddressChanged(object sender, EventArgs e) {
        Console.WriteLine("Current IP Addresses:");
        foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) {
            foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
                Console.WriteLine("    - {0} (lease expires {1})", addr.Address, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
            }
        }
    }
    static void Main(string[] args) {
        NetworkChange.NetworkAddressChanged += NetworkAddressChanged;
    }
}

    


NetworkInterface: NetworkAvailabilityChanged event

   
 


using System;
using System.Net.NetworkInformation;
class MainClass {
    private static void NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e) {
        if (e.IsAvailable) {
            Console.WriteLine("Network Available");
        } else {
            Console.WriteLine("Network Unavailable");
        }
    }
    static void Main(string[] args) {
        NetworkChange.NetworkAvailabilityChanged += NetworkAvailabilityChanged;
    }
}

    


NetworkInterface: OperationalStatus

   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("    Status: {0}", ni.OperationalStatus);
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetPhysicalAddress

   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("     Physical Address: {0}", ni.GetPhysicalAddress().ToString());
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetIPv4Statistics

   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                Console.WriteLine("    Bytes Sent: {0}", ni.GetIPv4Statistics().BytesSent);
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}

    


NetworkInterface: GetIPProperties

   
 
using System;
using System.Net.NetworkInformation;

class MainClass {
    static void Main() {
        if (NetworkInterface.GetIsNetworkAvailable()) {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface ni in interfaces) {
                foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
                    Console.WriteLine("         - {0} (lease expires {1})", addr.Address, DateTime.Now + new TimeSpan(0, 0, (int)addr.DhcpLeaseLifetime));
                }
            }
        } else {
            Console.WriteLine("No network available.");
        }
    }
}