none
Obtener la MAC de un equipo de forma remota RRS feed

  • Pregunta

  • Estimados.

    Junto con saludar, necesito de su ayuda en poder obtener la MAC de un equipo en forma remota que se encuentra en nuestra RED, funciona de forma correcta el código que tengo pero si cambiamos de piso para realizar el scan, obtiene la MAC del switch. La idea es no movernos de la oficina y que este scan se realice de forma constante y poder capturar la información que necesitamos.

    Saludos y atento a comentarios.

    El código que tenemos ahora y funciona bien con el piso.

      Private Sub Button2_Click_1(sender As Object, e As EventArgs) Handles Button2.Click
            Try
                Dim sip As String
                Dim inet As Integer
                Dim b(6) As Byte
                Dim pMACAddr As Integer
                Dim i As Short
                Dim sResult As String = ""
    
                sip = TextBox1.Text
                inet = inet_addr(sip)
                If SendARP(inet, 0, pMACAddr, 6) = 0 Then
                    CopyMemory(b(0), pMACAddr, 6)
                    For i = 0 To 5
                        sResult = sResult & Microsoft.VisualBasic.Right("0" & Hex(b(i)), 2)
                        If i < 5 Then sResult &= "-"
                    Next
                End If
                WriteListBox(sResult)
    
            Catch ex As Exception
    
            End Try

    jueves, 27 de agosto de 2020 16:48

Todas las respuestas

  • Me temo que no es posible. El mecanismo empleado por tu programa se basa en el protocolo ARP (Address Resolution Protocol) que se usa para mapear una dirección IP a una dirección MAC dentro de un segmento de red local. Pero el ARP no atraviesa los routers; de hecho, las direcciones MAC no atraviesan los routers (ojo: routers, no switches, que no es lo mismo; cuando dices que "te devuelve la dirección del switch" quiere decir que no es un switch sino un router, porque los switches no tienen dirección).

    La única manera de obtener la dirección MAC de una máquina que se encuentra dentro de un segmento de red remoto es instalar algo en ese segmento que capture la MAC y la retransmita a la dirección remota.

    Por ejemplo, si tienes instalado System Center Configuration Manager y se ha instalado su agente en los equipos locales, el propio agente captura la MAC, la transmite al SCCM, y éste la almacena en base de datos, con lo que luego la puedes consultar en esa base de datos aunque estés fuera del segmento de red en el que se capturó.

    Pero no puedes hacer esto solo con ejecutar un programa fuera del segmento local. Hace falta algo de software dentro del segmento para poder capturar las MAC.

    Como alternativa, si tienes los suficientes permisos (por ejemplo, una cuenta de administrador del dominio), puedes enviar remotamente una consulta WMI a cada equipo y preguntarle por sus direcciones MAC (puede tener más de una). Nótese que esto no infringe el principio anterior, es decir, esto usa un programa dentro del segmento de red donde se captura la MAC, concretamente el programa consiste en las porciones del sistema operativo Windows que atienden y responden al la query remota via WMI.

    jueves, 27 de agosto de 2020 20:05
  • Hola Ricardo_1984,

    ¿Alguna novedad sobre tu pregunta? ¿Han sido útiles las respuestas proporcionadas? Por favor no olvides marcar una respuesta si resolviste tu consulta.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 


    viernes, 28 de agosto de 2020 1:08
    Moderador