문제

현재 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 주소와도 협력해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top