如何查找本机IP及MAC地址

获得本机ip地址及mac地址的两种方法,见代码:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Net;
using System.IO;

namespace test
{
    public class Class1
    {
        public static void GetIPAndMAC1()
        {
            //GetHostEntry 方法在 DNS 服务器中查询与某个主机名或 IP 地址关联的 IP 地址
            System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
            if (addressList.Length > 1)
            {
                foreach (var addr in addressList)
                {
                    Console.WriteLine(addr.AddressFamily +"\t"+  addr.ToString());
                }
            }
        }

        public static void GetIPAndMAC2()
        {
            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");
            ManagementObjectCollection queryCollection = query.Get();
            foreach (ManagementObject MO in queryCollection)
            {
                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 (string ipaddress in addresses)
                {
                    Console.WriteLine("IP Address: {0}", ipaddress);
                }
                foreach (string subnet in subnets)
                {
                    Console.WriteLine("Subnet Mask: {0}", subnet);
                }
                if (defaultgateways != null)
                {
                    foreach (string defaultgateway in defaultgateways)
                    {
                        Console.WriteLine("Gateway: {0}", defaultgateway);
                    }
                }
            }
        }

        public static void Main()
        {
            //GetIPAndMAC2();
            GetIPAndMAC1();
            Console.ReadKey();
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值