기계의 MAC 주소 얻기 — 좋은 해결책인가요?
-
20-09-2019 - |
문제
현재 winpcap 라이브러리에서는 불가능하다고 들었습니다.
이게 정말 사실인가요?나는 인터넷에서 많은 예를 보았지만 "이것은 작동하지 않습니다"라는 댓글이 달렸습니다.
로컬 컴퓨터의 MAC 주소를 얻는 가장 좋은 방법은 무엇입니까?
해결책
일반적인 방법 중 하나는 UUID의 비트를 사용하는 것이지만 전적으로 신뢰할 수있는 것은 아닙니다. 예를 들어, 네트워크 어댑터가없는 컴퓨터에서도 값을 반환합니다.
다행히도 합리적으로 최근의 Windows 버전에서 신뢰할 수있는 방법이 있습니다. MSDN은 Windows 2000으로 만 거슬러 올라가지 만 메모리가 제공되는 경우 NT 4에서도 NT 4에서 작동하는 경우 NT 4에서도 NT 4를 사용하는 경우에도 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;
}
고대 C 코드를 용서 해주세요 ...
다른 팁
컴퓨터에 NIC가 1개 이상인 경우 ""MAC 주소와 같은 것은 없습니다.WMI를 사용하여 이 정보를 쿼리할 수 있습니다. http://techsupt.winbatch.com/TS/T000001002F19.html 상세 사항은
iphelper의 getAdapterSaddresses ()
http://msdn.microsoft.com/en-us/library/aa365915%28vs.85%29.aspx
나는 Wince에서 성공적으로 사용하여 Operstatus를 얻고 Mac 주소와도 협력해야합니다.
제휴하지 않습니다 StackOverflow