网卡是否如硬盘一样如一个唯一的系列号,用来加密使用。
help me 问题点数:0、回复次数:7Top
1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2003-11-03 20:49:30 得分 0
有啊, 有個MAC號, 是全球唯一的, 一般首選是用網卡號, 有時機器沒裝網卡, 才考慮其它!!Top
2 楼lnq(lnq)回复于 2003-11-03 20:57:32 得分 0
怎么取?需要load相应的驱动程序吗?Top
3 楼Shince()回复于 2003-11-04 09:17:33 得分 0
MAC 不是可以改吗?这样恐怕有漏洞.Top
4 楼shacy(sha)回复于 2003-11-04 09:47:17 得分 0
upTop
5 楼lnq(lnq)回复于 2003-11-04 19:08:32 得分 0
help meTop
6 楼lanshing(远天)回复于 2003-11-05 09:15:57 得分 0
贴段VC代码给你
CString m_cstrMacAddr[10]; //保存MAC地址
int m_iMacTotal = 0;
// 获取网卡的MAC地址
void GetMacAddr()
{
NCB Ncb;
UCHAR uRetCode;
LANA_ENUM lenum;
int i ;
ASTSAT Adapter;
memset (&Ncb, 0, sizeof (Ncb)); //初始化Ncb
Ncb.ncb_command = NCBENUM; //枚举命令
Ncb.ncb_buffer = (UCHAR*) &lenum;
Ncb.ncb_length = sizeof (lenum);
uRetCode = Netbios (&Ncb); //执行Netbios命令
/// 判断网卡个数
if( lenum.length < 1 )
{// 获取网卡失败
/// 记录错误日志
CString cstrMsg;
cstrMsg = "[AnyView.exe]获取网卡信息失败!";
DllRecordErrLog( cstrMsg.operator LPCTSTR() );
return ;
}
for (i =0; i < lenum.length ; i ++) //对每一网卡执行Netbios命令
{
memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb
Ncb.ncb_command = NCBRESET; // NCBRESET命令
Ncb.ncb_lana_num = lenum.lana[i];
uRetCode = Netbios (&Ncb); //执行Netbios命令
memset ( &Ncb, 0, sizeof (Ncb) ); //初始化Ncb
Ncb.ncb_command = NCBASTAT; // 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 );
printf ("The NCBASTAT on LANA %d return cade is: 0x%x \n", lenum.lana[i], uRetCode);
if(uRetCode == 0)
{
m_cstrMacAddr[m_iMacTotal++].Format( "%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] );
}
}
}
Top
7 楼lxhong1980(娶个善善良良的妻子,养个聪聪明明的孩子)回复于 2003-11-08 10:27:21 得分 0
upTop




