C#程序读取MAC地址的方法
技术qq交流群:JavaDream:251572072
创梦技术交流平台:资源下载,技术交流,网络赚钱:
交流qq群:1群:248318056
2群:251572072
技术交流平台:cre.iqee.cn
博文相关代码资源下载地址:cre.iqee.cn
以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可。
1 通过IPConfig命令读取MAC地址
/// 根据截取ipconfig /all命令的输出流获取网卡Mac
///</summary>
///<returns></returns>
publicstatic List<string> GetMacByIPConfig()
{
List<string> macs =new List<string>();
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardError = true;
startInfo.CreateNoWindow = true;
Process p = Process.Start(startInfo);
//截取输出流
StreamReader reader = p.StandardOutput;
string line = reader.ReadLine();
while (!reader.EndOfStream)
{
if (!string.IsNullOrEmpty(line))
{
line = line.Trim();
if (line.StartsWith("Physical Address"))
{
macs.Add(line);
}
}
line = reader.ReadLine();
}
//等待程序执行完退出进程
p.WaitForExit();
p.Close();
reader.Close();
return macs;
}
2 通过WMI读取MAC地址
/// 通过WMI读取系统信息里的网卡MAC
///</summary>
///<returns></returns>
publicstatic List<string> GetMacByWMI()
{
List<string> macs =new List<string>();
try
{
string mac ="";
ManagementClass mc =new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"])
{
mac = mo["MacAddress"].ToString();
macs.Add(mac);
}
}
moc =null;
mc =null;
}
catch
{
}
return macs;
}
3 通过NetworkInterface读取MAC地址
publicstatic NetworkInterface[] NetCardInfo()
{
return NetworkInterface.GetAllNetworkInterfaces();
}
///<summary>
/// 通过NetworkInterface读取网卡Mac
///</summary>
///<returns></returns>
publicstatic List<string> GetMacByNetworkInterface()
{
List<string> macs =new List<string>();
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in interfaces)
{
macs.Add(ni.GetPhysicalAddress().ToString());
}
return macs;
}
4 通过SendARP读取MAC地址
/// 通过SendARP获取网卡Mac
/// 网络被禁用或未接入网络(如没插网线)时此方法失灵
///</summary>
///<param name="remoteIP"></param>
///<returns></returns>
publicstaticstring GetMacBySendARP(string remoteIP)
{
StringBuilder macAddress =new StringBuilder();
try
{
Int32 remote = inet_addr(remoteIP);
Int64 macInfo =new Int64();
Int32 length =6;
SendARP(remote, 0, ref macInfo, ref length);
string temp = Convert.ToString(macInfo, 16).PadLeft(12, '0').ToUpper();
int x =12;
for (int i =0; i <6; i++)
{
if (i ==5)
{
macAddress.Append(temp.Substring(x -2, 2));
}
else
{
macAddress.Append(temp.Substring(x -2, 2) +"-");
}
x -=2;
}
return macAddress.ToString();
}
catch
{
return macAddress.ToString();
}
}
[DllImport("Iphlpapi.dll")]
privatestaticexternint SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
[DllImport("Ws2_32.dll")]
privatestaticextern Int32 inet_addr(string ip);
5 从注册表读取MAC地址
常规用户可通过读取注册表项Windows Genuine Advantage获取到物理网卡地址。
1)如果注册表项被修改,则无法取得该MAC地址
C#程序读取MAC地址的方法相关推荐
- 几种C#程序读取MAC地址的方法
原文:几种C#程序读取MAC地址的方法 以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地 ...
- 修改VMware虚拟机网卡MAC地址的方法总结
修改MAC地址有两种方法: 一.修改vmx配置文件 修改vmx配置文件的两种方法 1.用文本工具(比如记事本或vi)打开vmx配置文件,然后修改一下几行: ethernet0.generatedAdd ...
- java win8 mac地址_Windows8系统下MAC地址修改方法图文教程
本文介绍了在Windows电脑平台下修改MAC地址的方法,该方法适用于Windows XP.Windows 7和Windows 8电脑.之所以要修改MAC地址,一般是在局域网中,网络管理员设置了MAC ...
- xp查看计算机mac地址查询,mac地址查询,教你用dos命令查看mac地址的方法
如何进行mac地址查询?其实MAC地址也就是(Media Access Control)的缩写,MAC地址的主要作用是定义网络配置的位置.尤其当我们在需要进行设置路由器的时候我们就需要通过Mac来进行 ...
- 计算机mac地址怎么读,如何读取MAC地址
发信人: ffzh (抑), 信区: SJTUnet 标 题: 在WindowsNT下如何读取MAC地址 发信站: 饮水思源站 (Thu Dec 28 10:58:01 2000), 转信 发现已经收 ...
- android获取wifi mac地址吗,Android 获取WIFI MAC地址的方法
1. 经常用法,调用Android的API:WifiManager WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SER ...
- 利用UDP(NetBIOS Name Service)来快速获取远程主机MAC地址的方法
利用UDP(NetBIOS Name Service)来快速获取远程主机MAC地址的方法 import java.io.IOException; import java.net.DatagramPac ...
- 同洲EOC局端MAC地址修改方法
各位大神,请问有知道修改同洲EOC局端(CAM6310)的MAC地址的方法吗,若有知道的烦请回我或者联系我(扣扣1098738360),定有重谢! 转载于:https://blog.51cto.com ...
- php获取手机的mac地址,Android手机获取Mac地址的方法
[导读]这篇文章主要为大家详细介绍了Android手机获取Mac地址的方法,具有一定的参考价值 最常用的方法,通过WiFiManager获取:/** * 通过WiFiManager获取mac地址 * ...
最新文章
- RabbitMQ 和 Kafka 到底怎么选?
- 这所高校的快递被机器人承包了,别人家的学校!
- hibernate 环境搭建测试
- Java中如何实现每天定时对数据库的操作
- 013年十大急需的热门IT技能
- 心理压力如何测试软件,心理压力测试 缓解压力有什么办法
- Servlet实现图片读取显示
- 研究员拒绝提前通知,Zoho 匆忙修复一个严重的 0day
- 转载 三极管饱和及深度饱和状态的理解和判断!!
- begin tran,commit tran和rollback tran的用法
- 淘宝2011春季校园招聘笔试试题(回忆版)(附个人简历)
- write和read返回值详解
- 如何在win10下安装Docker
- [云原生专题-1]:总体-云原生初步探究,什么是云原生,云原生的基本特性
- 5G LTE窄带物联网(NB-IoT)8
- 基于SVM算法的人脸表情识别
- 理解矩阵 from孟岩--流星小屋
- PowerPMAC技术培训------2、PowerPMAC产品介绍
- 视频语音如何翻译成文字?
- 基于python,虹软sdk3.0实现的实时人脸识别