Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
MAC Address Changes
Message
De
10/08/2016 08:18:10
 
 
À
10/08/2016 02:43:51
Information générale
Forum:
Hardware
Catégorie:
Cartes d'ordinateur
Divers
Thread ID:
01639275
Message ID:
01639312
Vues:
196
>>>>>>Hi,
>>>>>>
>>>>>>I use some code to generate a number based on a PC's hard disk serial number and the MAC address. Recently, I have one client out of a couple hundred that this number changes on sporadically. I wrote a program to display what the serial number and MAC address are and the MAC address has changed from a couple weeks ago. The client says the NIC has not been changed.
>>>>>>
>>>>>>I thought the MAC address was tied to the NIC. What could cause this to change?
>>>>>
>>>>>How are you fetching the MAC address?
>>>>
>>>>VFP code:
>>>>
>>>>DECLARE INTEGER GetAdaptersInfo IN iphlpapi ; 
>>>>STRING @pAdapterInfo, LONG @pOutBufLen 
>>>>
>>>>LOCAL lcBuffer, lnBufsize 
>>>>lnBufsize = 0 
>>>>lcBuffer = "" 
>>>>= GetAdaptersInfo(@lcBuffer, @lnBufsize) 
>>>>lcBuffer = Repli(Chr(0), lnBufsize) 
>>>>
>>>>IF GetAdaptersInfo(@lcBuffer, @lnBufsize) <> 0 && ERROR_SUCCESS 
>>>>* =MESSAGEBOX('MSI Card Not Found',64)
>>>>ENDIF 
>>>>
>>>>LOCAL lnAddrlen, lcAddress, ii
>>>>lnAddrlen = Asc(SUBSTR(lcBuffer, 401, 1)) 
>>>>lcAddress = SUBSTR(lcBuffer, 405, lnAddrlen) 
>>>>lcThisID = ''
>>>>lcThisHex = ''
>>>>
>>>>FOR ii = 1 TO lnAddrLen
>>>>	lcThisID = lcThisID + ;
>>>>			IIF(ii>1, ',' ,'') + ;
>>>>			ALLTRIM(STR(ASC(SUBSTR(lcAddress,ii,1))))
>>>>	
>>>>	lcThisHex = lcThisHex + ;
>>>>			IIF(ii>1,':','') + ;
>>>>			RIGHT(TRANSFORM(ASC(SUBSTR(lcAddress,ii,1)),'@0'),2)
>>>>ENDFOR
>>>> 
>>>>RETURN lcThisHex
>>>
>>>According to the GetAdaptersInfo documentation:
>>>
>>>In versions prior to Windows 10, the order in which adapters appear in the list returned by this function can be controlled from the Network Connections folder: select the Advanced Settings menu item from the Advanced menu. Starting with Windows 10, the order is unspecified.
>>>
>>>Is the system returning the address for a different NIC?
>>
>>I don't know. I'll check if the PC is running windows 10 and if there are multiple NIC s tomorrow
>
>I'm pretty sure Antonio is on the right track. Even a basic PC has multiple virtual adapters defined, plus "real" ones for wired and wireless network connections.
>
>ISTR for best results you basically have to enumerate all MAC addresses, then check that the one you want is present. There is some code that uses WMI in Message#1358939.
>
>Years ago I asked a similar question and someone posted me some code/PoC that also enumerated all MAC addresses. But, I can't find the messages, I can't recall if it was Win32, Registry or something else.

Thanks Al,

I believe it is the fact that Windows 10 now returns a different adapter randomly with the GetAdaptersInfo() call. I'll be double checking it today and seeing if I can find a solution, possibly using GetAdaptersAddresses if that helps.
Frank.

Frank Cazabon
Samaan Systems Ltd.
www.samaansystems.com
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform