【实例简介】
【实例截图】
【核心代码】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Net.NetworkInformation;
namespace GetIPAd
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string HostName = Dns.GetHostName();
IPHostEntry IpEntry = Dns.GetHostEntry(HostName);
for (int i = 0; i < IpEntry.AddressList.Length; i )
{
//从IP地址列表中筛选出IPv4类型的IP地址
//AddressFamily.InterNetwork表示此IP为IPv4,
//AddressFamily.InterNetworkV6表示此地址为IPv6类型
if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
{
//MessageBox.Show(IpEntry.AddressList[i].ToString());
textBox1.Text = IpEntry.AddressList[i].ToString();
textBox2.Text = HostName;
}
}
NetworkInterface[] networkInterface = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in networkInterface)
{
listBox1.Items.Add("描述------------:" adapter.Description);
listBox1.Items.Add("网络适配器的名称:" adapter.Description);
listBox1.Items.Add("接口类型--------:" adapter.NetworkInterfaceType);
listBox1.Items.Add("状态------------:" adapter.OperationalStatus);
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
listBox1.Items.Add("MAC-------------:");
for (int i = 0; i < bytes.Length; i )
{
listBox1.Items.Add(bytes[i].ToString("X2"));
if (i != bytes.Length - 1)
{
listBox1.Items.Add("-");
}
}
}
}
public static void ShowNetwork()
{
NetworkInterface[] networkInterface =
NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface adapter in networkInterface)
{
Console.WriteLine("描述------------:" adapter.Description);
Console.WriteLine("网络适配器的名称:" adapter.Name);
Console.WriteLine("接口类型--------:" adapter.NetworkInterfaceType);
Console.WriteLine("状态------------:" adapter.OperationalStatus);
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
Console.Write("MAC-------------:");
for (int i = 0; i < bytes.Length; i )
{
Console.Write("{0}", bytes[i].ToString("X2"));
if (i != bytes.Length - 1)
{
Console.Write("-");
}
}
Console.WriteLine();
Console.WriteLine("=======分割线=========");
Console.WriteLine();
}
}
}
}