社区
C语言
帖子详情
如何取得网卡的真实mac地址?
liqiang123abc
2007-06-24 11:56:51
如何取得网卡的真实mac地址?
是真实地址哦
不是从注册表里读取的mac地址
注册表里读取的mac地址
是可以随意修改的
我要的是出厂的时候烧进网卡里的唯一地址
...全文
850
13
打赏
收藏
如何取得网卡的真实mac地址?
如何取得网卡的真实mac地址? 是真实地址哦 不是从注册表里读取的mac地址 注册表里读取的mac地址 是可以随意修改的 我要的是出厂的时候烧进网卡里的唯一地址
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
七十二寨寨主
2010-01-23
打赏
举报
回复
mark
bbsdkjdx
2010-01-22
打赏
举报
回复
改过MAC的在注册表中有相应数据,让程序先把这段数据备份出来,再把相应注册表项删除,然后用正常手段取得MAC,最后把注册表项恢复。这样可以在不影响其正常使用的情况下得到真实MAC。
sunfred
2007-06-25
打赏
举报
回复
运行——>cmd——>ipconfig/all
liqiang123abc
2007-06-25
打赏
举报
回复
看样子是没戏了
我还是使用硬盘序列号吧
不过还是
多谢各位回贴
liqiang123abc
2007-06-24
打赏
举报
回复
你们的函数只能得到注册表里的网卡地址
那个并不是网卡的真实地址
看样子
读取真实地址需要写驱动程序才行呢
liqiang123abc
2007-06-24
打赏
举报
回复
不好意思
你们贴的代码我都试过了
得到的网卡地址是12df34ef56cb
这个是我修改了注册表以后的地址
以前的地址不是这个
方法是修改注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0001 主键 创建2个新键值
输入新的地址
网卡地址就被改掉了
tigerweichao
2007-06-24
打赏
举报
回复
高级货,不懂
liqiang123abc
2007-06-24
打赏
举报
回复
晕了
我昨天发的贴
等了一天一个回贴都没有
以为没什么希望了
快睡觉了
再上来看看
一下回了5贴啊
我来看看
你们贴的代码好用不
先谢了
mymtom
2007-06-24
打赏
举报
回复
在Windows XP下么?
开始->运行;输入getmac然后回车.
cangwu_lee
2007-06-24
打赏
举报
回复
仅供参考
#include <cstdlib>
#include <iostream>
#include <windows.h>
#include <time.h>
#include "nb30.h"
//DEV-C++ 添加 libnetapi32.a
using namespace std;
typedef struct _ASTAT_{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
void getMac_2(char * mac){
NCB Ncb;
UCHAR uRetCode;
LANA_ENUM lenum;
int i = 0;
memset(&Ncb, 0, sizeof(Ncb));
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR *)&lenum;
Ncb.ncb_length = sizeof(lenum);
uRetCode = Netbios( &Ncb );
printf("The NCBENUM return adapter number is: %d \n", lenum.length);
for(i=0; i < lenum.length ;i++){
memset(&Ncb, 0, sizeof(Ncb));
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios( &Ncb );
memset(&Ncb, 0, sizeof(Ncb));
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];
strcpy((char *)Ncb.ncb_callname, "* ");
Ncb.ncb_buffer = (unsigned char *) &Adapter;
Ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &Ncb );
if (uRetCode == 0){
sprintf(mac, "%02x-%02x-%02x-%02x-%02x-%02x",
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_address[1],
Adapter.adapt.adapter_address[2],
Adapter.adapt.adapter_address[3],
Adapter.adapt.adapter_address[4],
Adapter.adapt.adapter_address[5]
);
//printf("The Ethernet Number on LANA %d is: %s\n", lenum.lana[i], mac);
}
}
}
int main(int argc, char *argv[]){
char *mac=new char[32];
getMac_2(mac);
printf("%s\n", mac);
delete[]mac;
system("PAUSE>NUL");
return EXIT_SUCCESS;
}
gjw310
2007-06-24
打赏
举报
回复
void GetMAC(char * mac)
{ NCB ncb;//网络控制块
ADAPTER_STATUS adapt;//存放网卡信息
LANA_ENUM lana_enum;//存放网卡编号
UCHAR uRetCode;
memset(&ncb,0,sizeof(ncb));
memset(&lana_enum,0,sizeof(lana_enum));
ncb.ncb_command=NCBRESET;//对网卡发送NCBRESET命令,进行初始化
ncb.ncb_lana_num=lana_enum.lana[0];
uRetCode=Netbios(&ncb);
if(uRetCode!=NRC_GOODRET) return uRetCode;
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command=NCBASTAT;//对网卡发送NCBSTAT命令,获取网卡信息
ncb.ncb_lana_num=lana_enum.lana[0];
strcpy((char*)ncb.ncb_callname,"*");
ncb.ncb_buffer=(unsigned char *)&adapt;
ncb.ncb_length=sizeof(adapt);
uRetCode=Netbios(&ncb);
if(uRetCode!=NRC_GOODRET) return uRetCode;
sprintf(mac,"%02X%02X%02X%02X%02X%02X",//把网卡地址格式化输出到字符串mac中
adapt.adapter_address[0],
adapt.adapter_address[1],
adapt.adapter_address[2],
adapt.adapter_address[3],
adapt.adapter_address[4],
adapt.adapter_address[5]);
}
xiaogaozxm83
2007-06-24
打赏
举报
回复
专门的读卡机和相应的软件
mymtom
2007-06-24
打赏
举报
回复
注册表里的MAC删除,重启,后再取MAC,不知道这样可以么?
识别
网卡
是不是
真实
的物理
网卡
,获取
网卡
真实
MAC
共享软件需要一个机器码,BIOS的ID号,有些主板查不到。所以有时需要用
网卡
的MAC做为机器码。 这份源码实现了以下两个功能 第一,可以识别
网卡
是不是
真实
的物理
网卡
; 第二,查到的是
网卡
的
真实
MAC,而不是注册表里的。
vs2010 获取
网卡
真实
MAC
vs2010下编译通过 获取
网卡
MAC,包括PCI
网卡
和无线
网卡
网卡
mac地址
修改器 真正支持win10 不需重启即时生效 支持win7 8 10
网卡
mac地址
修改器 真正支持win10 不需重启即时生效 支持win7 8 10
网卡
mac地址
修改器 真正支持win10 不需重启即时生效 支持win7 8 10
Intel和Realtek
网卡
DOS下刷新MAC简易方法介绍SOP.
关于H61主板和B85主板的
网卡
MAC地址
刷写,Intel和Realtek
网卡
DOS下刷新
获取
网卡
物理MAC而非注册表MAC
xp vs2005 vc++编译运行成功。 改变
网卡
属性或注册表里的
MAC地址
后,依然可以获得
网卡
的物理MAC,不受改变后的值影响。
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章