se puede obtener en VB.net la IP asociada a una MAC dentro del equipo??
Gracias por adelantado :)
Puedes hacerlo con WMI
- Win32_NetworkAdapterConfiguration class - MSDN (https://msdn.microsoft.com/en-us/library/windows/desktop/aa394217%28v=vs.85%29.aspx)
Public Shared ReadOnly Iterator Property MacAddresses() As IEnumerable(Of KeyValuePair(Of String, String))
Get
For Each mo As ManagementObject In New ManagementClass("Win32_NetworkAdapterConfiguration").GetInstances
If CBool(mo("IPEnabled")) Then
Dim mac As String = DirectCast(mo("MACAddress"), String)
Dim ipv4 As String = DirectCast(mo("IPAddress"), String())(0)
Yield New KeyValuePair(Of String, String)(mac, ipv4)
End If
Next mo
End Get
End Property
obj.Key = dirección MAC
obj.Value = dirección IPv4
También puedes hacerlo con la class
System.Net.NetworkInformation.NetworkInterface, encontrarás muchos ejemplos en Google, pero a mi modo de ver requiere bastante más esfuerzo para realizar al detalle las condicionales con las que filtrar las interfaces indeseadas/falsos positivos que puedas tener instalados en el equipo.
La desventaja de utilizar WMI es que las peticiones tardan un tiempo desproporcionado (relativamente hablando en milisegundos).
Nota:
Los títulos de los mensajes deben ser descriptivos, "duda con Vb.Net" no describe el problema.Saludos!
muchísimas gracias Electro; y tienes razón lo probé con "System.Net.NetworkInformation.NetworkInterface" y el código se alargaba demasiado, ademas es para un programa que funcionara en servidores así que creo que ir capturando cada tarjeta de red una por una puede ser un coñazo XD, lo probare con WMI, muchas gracias.
Saludos :)