Sobes.tech
Senior

Como descobrir o endereço MAC do servidor DNS público 8.8.8.8?

sobes.tech IA

Resposta da IA

O endereço MAC é o endereço físico da interface de rede numa rede local. O servidor DNS público 8.8.8.8 é um host remoto na internet, e não é possível descobrir diretamente o seu endereço MAC, pois os endereços MAC não são transmitidos através dos roteadores e só são visíveis dentro da rede local.

Se tentar obter o endereço MAC de 8.8.8.8, por exemplo, através do ARP, isso não funcionará, porque o ARP só funciona dentro de um segmento de rede.

Em Go, pode tentar fazer uma requisição ARP, mas ela só será bem-sucedida para dispositivos na rede local. Para IPs remotos, isso não é possível.

Exemplo de tentativa de obter o endereço MAC numa rede local (não para 8.8.8.8):

package main

import (
    "fmt"
    "github.com/mdlayher/arp"
    "net"
)

func main() {
    iface, _ := net.InterfaceByName("eth0")
    client, _ := arp.Dial(iface)
    ip := net.ParseIP("192.168.1.1")
    hwAddr, err := client.Resolve(ip)
    if err != nil {
        fmt.Println("Erro:", err)
        return
    }
    fmt.Println("Endereço MAC:", hwAddr)
}

Mas para 8.8.8.8, isso não funcionará. No final, não é possível descobrir o endereço MAC do servidor DNS público devido às limitações do protocolo de rede.