C#获取本机IP地址和MAC地址:网络连接的秘密武器

admin 知识 2023-11-14 15:19 165

要在C#中获取本机的IP地址和MAC地址,

您可以使用NetworkInterface类和IPAddress类。

以下是一个示例代码,演示如何获取本机的IP地址和MAC地址:

using System;using System.Net;using System.Net.NetworkInformation;public class Program{    public static void Main()    {        // 获取本机的IP地址        string ipAddress = GetLocalIPAddress();        Console.WriteLine($"本机的IP地址: {ipAddress}");        // 获取本机的MAC地址        string macAddress = GetLocalMACAddress();        Console.WriteLine($"本机的MAC地址: {macAddress}");    }    // 获取本机的IP地址    public static string GetLocalIPAddress()    {        string ipAddress = string.Empty;        IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());        foreach (IPAddress ip in host.AddressList)        {            if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)            {                ipAddress = ip.ToString();                break;            }        }        return ipAddress;    }    // 获取本机的MAC地址    public static string GetLocalMACAddress()    {        string macAddress = string.Empty;        NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();        foreach (NetworkInterface nic in nics)        {            if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet && nic.OperationalStatus == OperationalStatus.Up)            {                macAddress = nic.GetPhysicalAddress().ToString();                break;            }        }        return macAddress;    }}

在这个示例中,我们首先定义了一个GetLocalIPAddress方法来获取本机的IP地址。

我们使用Dns.GetHostEntry方法来获取本机的主机信息,并遍历主机的IP地址列表。

我们选择第一个IPv4地址作为本机的IP地址。

然后,我们定义了一个GetLocalMACAddress方法来获取本机的MAC地址。

我们使用NetworkInterface.GetAllNetworkInterfaces方法来获取所有网络接口,并遍历它们。

我们选择第一个以太网接口(Ethernet)且状态为“Up”的接口,并使用GetPhysicalAddress方法来获取其物理地址。

最后,在Main方法中,我们调用这两个方法来获取本机的IP地址和MAC地址,并将它们打印出来。

相关推荐
关闭

用微信“扫一扫”