C# 获取MAC地址

/**********************************************************************
 *                         C# 获取MAC地址
 * 说明:
 *     在C#中获取本机的MAC地址,文中提供两个参考,一个是能够所有的MAC
 * 地址,一个是获取第一个MAC地址。
 *
 *                                  2016-12-9 深圳 南山平山村 曾剑锋
 *********************************************************************/

一、参考文档:
    1. Reliable method to get machine's MAC address in C#
        http://stackoverflow.com/questions/850650/reliable-method-to-get-machines-mac-address-in-c-sharp

二、解决方法:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.NetworkInformation; 

    namespace LocalDetectTest
    {
        class NetTools
        {
            /// <summary>
            /// Finds the MAC address of the NIC with maximum speed.
            /// </summary>
            /// <returns>The MAC address.</returns>
            public static void PrintAllMacAddress()
            {
                const int MIN_MAC_ADDR_LENGTH = 12;
                string macAddress = string.Empty;
                long maxSpeed = -1;

                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    Console.WriteLine(
                        "Name: " + nic.Name +
                        " Found MAC Address: " + nic.GetPhysicalAddress() +
                        " Type: " + nic.NetworkInterfaceType);

                    string tempMac = nic.GetPhysicalAddress().ToString();
                    if (nic.Speed > maxSpeed &&
                        !string.IsNullOrEmpty(tempMac) &&
                        tempMac.Length >= MIN_MAC_ADDR_LENGTH)
                    {
                        Console.WriteLine("New Max Speed = " + nic.Speed + ", MAC: " + tempMac);
                        maxSpeed = nic.Speed;
                        macAddress = tempMac;
                    }
                }

                // return macAddress;
            }

            /// <summary>
            /// Finds the MAC address of the first operation NIC found.
            /// </summary>
            /// <returns>The MAC address.</returns>
            public static string GetFirstMacAddress()
            {
                string macAddresses = string.Empty;

                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    if (nic.OperationalStatus == OperationalStatus.Up)
                    {
                        macAddresses += nic.GetPhysicalAddress().ToString();
                        Console.WriteLine(macAddresses);
                        break;
                    }
                }

                return macAddresses;
            }
        }
    }

 

时间: 2024-08-31 16:23:43

C# 获取MAC地址的相关文章

PHP获取MAC地址

  获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 <?php   /**   获取网卡的MAC地址原码:目前支持WIN/LINUX系统   获取机器网卡的物理(MAC)地址   **/        class GetMacAddr{                var $return_array = array(); // 返回带有MAC地址的字串数组           var $mac_addr;                functio

Java获取mac地址的方法_java

本文实例讲述了Java获取mac地址的方法.分享给大家供大家参考.具体如下: /* * GetMacAddress .java * * description:get Mac addreess * * @author hadeslee * * Created on 2007-9-27, 9:11:15 * * To change this template, choose Tools | Templates * and open the template in the editor. */ pa

javascript-前端能否获取mac地址或是唯一标识

问题描述 前端能否获取mac地址或是唯一标识 在投票过程中,想在前端做一层限制,如果处理. 能否通过js获取mac地址或是cookie等方式,与后端php做配合? 或者,有什么更好的方案. 解决方案 前端获取mac有什么用,刷票的程序可以伪造假的mac,后端则根本不能获取到mac 建议你绑定手机验证,一个手机一票.也可以绑定支付宝.信用卡.身份证等可以识别人的东西. 解决方案二: 首先,前端是不可能获取mac地址的. 一个折中的方案是,创建一个cookie,比如叫做voted,在后端的php中,

iOS7以下设备获取mac地址

注意,是iOS7以下的设备,直接上源码,获取mac地址都是为了唯一标识一个设备的,但iOS7设备的mac地址为 020000000000 MacAddress.h #include <sys/socket.h> #include <sys/sysctl.h> #include <net/if.h> #include <net/if_dl.h> NSString * macaddress(); MacAddress.m #import "MacAdd

Powershell小技巧之获取MAC地址_PowerShell

在Powershell中获取MAC地址不是很难.这里就有一种方法: 复制代码 代码如下: PS> getmac /FO CSV | ConvertFrom-Csv Physical Address                        Transport Name                         ----------------                        --------------                         5C-51-4F-6

Android下如何获取Mac地址

Android下如何获取Mac地址? 1.需要在AndroidManifest.xml文件中添加权限 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 2.Java代码(必须在Activity中使用) public String getLocalMacAddress() {          WifiManager wifi = (WifiManager) getSystemSer

PHP获取MAC地址的具体实例

 分享一例php取得机器mac地址的代码,学习下php读取硬件信息的方法,此代码适用于windows.linux系统.有需要的朋友参考学习下 本节分享的php代码,主要功能: 获取机器网卡的物理(MAC)地址. 代码:    代码如下: <?php   /**    * 获取机器网卡的物理(MAC)地址 * 目前支持WIN/LINUX系统    **/   class MacAddInfo {           var $return_array = array (); // 返回带有MAC地

JAVA中如何获取MAC地址

问题描述 百度网上的基本都是判断系统类型,是windows还是linux还是unix,然后通过shell或者cmd命令获取,但是处理的过程非常的慢,本机试了下大概6 7秒,还是ping的本机,ipconfig /all,目前系统中有需要获取访问客户端的mac,这速度让人不敢相信(这酸爽),求大神能够讲解下,学习,非常感谢! 解决方案 请参考我的博文,100%不判断操作系统,完全JDK 原生API支持!保证兼容性,MAC LINUX WIN均测试通过http://jdkleo.iteye.com/

PHP获取MAC地址的函数代码_php技巧

复制代码 代码如下: <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $return_array = array(); // 返回带有MAC地址的字串数组 var $mac_addr; function GetMacAddr($os_type){ switch ( strtolower($os_type) ){ case "linux": $this->for