Sobes.tech
Senior

Ako zistiť MAC adresu verejného DNS servera 8.8.8.8?

sobes.tech AI

Odpoveď od AI

MAC adresa je fyzická adresa sieťového rozhrania v lokálnej sieti. Verejný DNS server 8.8.8.8 je vzdialený host na internete a nie je možné priamo zistiť jeho MAC adresu, pretože MAC adresy sa nepreposielajú cez smerovače a sú viditeľné iba v rámci lokálnej siete.

Ak sa pokúsite získať MAC adresu 8.8.8.8, napríklad pomocou ARP, nebude to fungovať, pretože ARP funguje iba v rámci jedného sieťového segmentu.

V jazyku Go môžete skúsiť vykonať ARP požiadavku, ale bude úspešná iba pre zariadenia v lokálnej sieti. Pre vzdialené IP adresy to nie je možné.

Príklad pokusu o získanie MAC adresy v lokálnej sieti (nie pre 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("Chyba:", err)
        return
    }
    fmt.Println("MAC adresa:", hwAddr)
}

Ale pre 8.8.8.8 to nebude fungovať. Nakoniec, kvôli obmedzeniam sieťového protokolu, nie je možné zistiť MAC adresu verejného DNS servera.