Puedes hacerlo con WMI
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!