bob*_*205 5 c++ mac-address winpcap
我听说目前的winpcap库是不可能的.
这是真的吗?我在网上看到了很多例子,然后评论说"这不起作用".
获取本地计算机的MAC地址的最佳方法是什么?
一种常见的方法是使用UUID中的位,但这并不完全可靠.例如,即使在没有网络适配器的计算机上,它也会返回一个值.
幸运的是,有一种方法可以在任何合理的最新版本的Windows上运行.MSDN说它只能回到Windows 2000,但如果内存服务,它也适用于NT 4,从SP 5开始,万一有人还在使用NT 4.
#include <windows.h>
#include <iphlpapi.h>
#include <stdio.h>
int main() {
IP_ADAPTER_INFO *info = NULL, *pos;
DWORD size = 0;
GetAdaptersInfo(info, &size);
info = (IP_ADAPTER_INFO *)malloc(size);
GetAdaptersInfo(info, &size);
for (pos=info; pos!=NULL; pos=pos->Next) {
printf("\n%s\n\t", pos->Description);
printf("%2.2x", pos->Address[0]);
for (int i=1; i<pos->AddressLength; i++)
printf(":%2.2x", pos->Address[i]);
}
free(info);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
请原谅古老的C代码......
归档时间: |
|
查看次数: |
13452 次 |
最近记录: |