Hoe vind je het MAC-adres van de openbare DNS-server 8.8.8.8?
sobes.tech AI
Antwoord van AI
MAC-adres is het fysieke adres van de netwerkinterface in een lokaal netwerk. De publieke DNS-server 8.8.8.8 is een externe host op internet, en het is niet mogelijk om direct het MAC-adres ervan te achterhalen, omdat MAC-adressen niet via routers worden doorgegeven en alleen binnen het lokale netwerk zichtbaar zijn.
Als je probeert het MAC-adres van 8.8.8.8 te verkrijgen, bijvoorbeeld via ARP, zal dat niet werken, omdat ARP alleen binnen één netwerksegment werkt.
In Go kun je proberen een ARP-verzoek uit te voeren, maar dat zal alleen succesvol zijn voor apparaten in het lokale netwerk. Voor externe IP's is dit niet mogelijk.
Voorbeeld van een poging om het MAC-adres in een lokaal netwerk te verkrijgen (niet voor 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("Fout:", err)
return
}
fmt.Println("MAC-adres:", hwAddr)
}
Maar voor 8.8.8.8 werkt dit niet. Uiteindelijk is het vanwege de beperkingen van het netwerkprotocol niet mogelijk om het MAC-adres van de publieke DNS-server te achterhalen.