Kuidas teada saada avaliku DNS-serveri 8.8.8.8 MAC-aadressi?
sobes.tech AI
Vastus AI-lt
MAC-aadress on füüsiline aadress võrguliidesele kohaliku võrgus. Avalik DNS-server 8.8.8.8 on kaugserver internetis ning selle MAC-aadressi otsene teadmine ei ole võimalik, kuna MAC-aadresse ei edastata läbi ruuterite ning need on nähtavad ainult kohaliku võrgus.
Kui proovite saada 8.8.8.8 MAC-aadressi näiteks ARP abil, siis see ei tööta, sest ARP töötab ainult ühe võrgusegmendi piires.
Go keeles saate proovida teha ARP-päringut, kuid see on edukas ainult kohaliku võrgu seadmetele. Kaug-IP-aadresse see teha ei saa.
Näide katsetusest saada MAC-aadress kohaliku võrgu seadmetelt (mitte 8.8.8.8 jaoks):
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("Viga:", err)
return
}
fmt.Println("MAC-aadress:", hwAddr)
}
Aga 8.8.8.8 puhul see ei tööta. Lõpuks, võrgu protokolli piirangute tõttu, ei ole võimalik teada saada avaliku DNS-serveri MAC-aadressi.