var interfaceList = NetworkInterface.GetAllNetworkInterfaces();
StringBuilder sb = new StringBuilder(512);
int index = 0;
string message = string.Empty;
foreach(var item in interfaceList)
{
index++;
sb.AppendLine(string.Format("Interface{0}: {1}", index, item.Name));
sb.AppendLine(string.Format("Description: {0}", item.Description));
sb.AppendLine(string.Format("ID: {0}", item.Id));
sb.AppendLine(string.Format("Type: {0}", item.NetworkInterfaceType));
sb.AppendLine(string.Format("OperationalStatus: {0}", item.OperationalStatus));
sb.AppendLine(string.Format("IsReceiveOnly: {0}", item.IsReceiveOnly));
sb.AppendLine(string.Format("Speed: {0}", item.Speed));
sb.AppendLine(string.Format("SupportMulticast: {0}", item.SupportsMulticast));
sb.AppendLine(string.Format("SupportIPV4: {0}", item.Supports(NetworkInterfaceComponent.IPv4)));
sb.AppendLine(string.Format("IP Properties:"));
var addresses = item.GetIPProperties().UnicastAddresses;
int j = 0;
foreach (var ip in addresses)
{
j++;
sb.AppendLine(string.Format("Address{0}: {1}({2})", j, ip.Address.ToString(),ip.Address.AddressFamily));
sb.AppendLine(string.Format("IPV4 Mask: {0}", ip.IPv4Mask));
sb.AppendLine(string.Format("PrefixOrigin: {0}", ip.PrefixOrigin));
sb.AppendLine(string.Format("SuffixOrigin: {0}", ip.SuffixOrigin));
sb.AppendLine(string.Format("DuplicateAddressDetectionState: {0}", ip.DuplicateAddressDetectionState));
}
sb.AppendLine();
}
textBox1.Text = sb.ToString();