mercredi 16 avril 2008

System.Net.NetworkInformation

Quelques investigations sur le namespace System.Net.NetworkInformation

Récupérer les adresses Ip de la machine en cours :


static void
Main(string[] args)
{
foreach (NetworkInterface interf in NetworkInterface.GetAllNetworkInterfaces())
{
// Nom et description de l'interface
Console.WriteLine("- {0} ({1})", interf.Name, interf.Description);

// Type et vitesse
Console.WriteLine(
"Type : {0}, Vitesse : {1}, ReceiveOnly : {2}",
interf.NetworkInterfaceType, // Ethernet, AsymmetricDsl, GigabitEthernet, Wireless80211, Unknown ...
interf.Speed,
interf.IsReceiveOnly
);

// Adresse MAC
Console.WriteLine("Mac adress : {0}", interf.GetPhysicalAddress());

// Les Adresses Ip de l'interface
IPInterfaceProperties ipprops = interf.GetIPProperties();
foreach (UnicastIPAddressInformation ip in ipprops.UnicastAddresses)
{
Console.WriteLine("IP adress : {0}/{1}", ip.Address, ip.IPv4Mask);
int DNSnum = 0;
// Et les DNS
foreach (IPAddress dns in ipprops.DnsAddresses)
Console.WriteLine("DNS {0} : {1}", ++DNSnum, dns);
}

Console.WriteLine();
}

Console.ReadKey();
}


Ce qui donne sur ma machine :

- Connexion au réseau local (Broadcom NetXtreme 57xx Gigabit Controller)
Type : Ethernet, Vitesse : 100000000, ReceiveOnly : False
Mac adress : 001#####03E5
IP adress : 192.168.#.##1/255.255.255.0
DNS 1 : ##5.2.0.#0
DNS 2 : ##6.2.0.#0

- Hamachi (Hamachi Network Interface)
Type : Ethernet, Vitesse : 100000000, ReceiveOnly : False
Mac adress : 7##90######2
IP adress : 5.161.##.##/255.0.0.0

- MS TCP Loopback interface (MS TCP Loopback interface)
Type : Loopback, Vitesse : 10000000, ReceiveOnly : False
Mac adress :
IP adress : 127.0.0.1/

(les # sont là pour l'anonymat)