Method 1: Use the Registry
UsingSystem;
UsingMicrosoft. Win32;
Class Cardgrab
{
Public Static Void Main ()
{
RegistrykeyStart =Registry. Localmachine;
RegistrykeyCardservicename, networkkey;
StringNetworkcardkey ="Software \ Microsoft \ Windows NT \ CurrentVersion \ networkcards";
StringServicekey ="System \ CurrentControlSet \ Services \\";
StringNetworkcardkeyname, devicename;
StringDeviceservicename, servicename;
RegistrykeyServicenames = start. opensubkey (networkcardkey );
If(Servicenames =Null)
{
Console. Writeline ("Bad registry key");
Return;
}
String[] Networkcards = servicenames. getsubkeynames ();
Servicenames. Close ();
Foreach(StringKeynameInNetworkcards)
{
Networkcardkeyname = networkcardkey +"\\"+ Keyname;
Cardservicename = start. opensubkey (networkcardkeyname );
If(Cardservicename =Null)
{
Console. Writeline ("Bad registry key: {0 }", Networkcardkeyname );
Return;
}
Deviceservicename = (String) Cardservicename. getvalue ("Servicename");
Devicename = (String) Cardservicename. getvalue ("Description");
Console. Writeline ("\ NNetwork card: {0 }", Devicename );
Servicename = servicekey + deviceservicename +"\ Parameters \ Tcpip";
Networkkey = start. opensubkey (servicename );
If(Networkkey =Null)
{
Console. Writeline ("No IP configuration set");
}
Else
{
String[] Ipaddresses = (String[]) Networkkey. getvalue ("IPaddress");
String[] Defaultgateways = (String[]) Networkkey. getvalue ("DefaultGateway");
String[] Subnetmasks = (String[]) Networkkey. getvalue ("Subnetmask");
Foreach(StringIPaddressInIpaddresses)
{
Console. Writeline ("IP Address: {0 }", IPaddress );
}
Foreach(StringSubnetmaskInSubnetmasks)
{
Console. Writeline ("Subnet mask: {0 }", Subnetmask );
}
Foreach(StringDefaultGatewayInDefaultgateways)
{
Console. Writeline ("Gateway: {0 }", DefaultGateway );
}
Networkkey. Close ();
}
}
Start. Close ();
Console. Readline ();
}
}
Method 2: UseWMI
AddSystem. Management. dllReferences
UsingSystem;
UsingSystem. Management;
Class Wmicardgrab
{
Public Static Void Main ()
{
ManagementobjectsearcherQuery =New
Managementobjectsearcher("Select * From win32_networkadapterconfiguration where ipenabled = 'true '");
ManagementobjectcollectionQuerycollection = query. Get ();
Foreach(ManagementobjectMoInQuerycollection)
{
String[] Addresses = (String[]) Mo ["IPaddress"];
String[] Subnets = (String[]) Mo ["Ipsubnet"];
String[] Defaultgateways = (String[]) Mo ["Defaultipgateway"];
Console. Writeline ("Network card: {0 }", Mo ["Description"]);
Console. Writeline ("Mac address: {0 }", Mo ["Macaddress"]);
Foreach(StringIPaddressInAddresses)
{
Console. Writeline ("IP Address: {0 }", IPaddress );
}
Foreach(StringSubnetInSubnets)
{
Console. Writeline ("Subnet mask: {0 }", Subnet );
}
Foreach(StringDefaultGateway