分享免费的编程资源和教程

网站首页 > 技术教程 正文

C# 获取本机IP地址和MAC地址

goqiw 2025-05-23 17:07:57 技术教程 1 ℃ 0 评论

要在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(#34;本机的IP地址: {ipAddress}");

        // 获取本机的MAC地址
        string macAddress = GetLocalMACAddress();
        Console.WriteLine(#34;本机的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地址,并将它们打印出来。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表