Sobes.tech
Senior

Kā uzzināt publiskā DNS servera 8.8.8.8 MAC adresi?

sobes.tech AI

Atbilde no AI

MAC adrese ir fiziskā tīkla saskarnes adrese vietējā tīklā. Publiskais DNS serveris 8.8.8.8 ir attāls hosts internetā, un tieši uzzināt tā MAC adresi nav iespējams, jo MAC adreses netiek pārsūtītas caur maršrutētājiem un ir redzamas tikai vietējā tīklā.

Ja mēģināt iegūt 8.8.8.8 MAC adresi, piemēram, ar ARP, tas nesanāks, jo ARP darbojas tikai vienā tīkla segmentā.

Go valodā jūs varat mēģināt veikt ARP pieprasījumu, bet tas būs veiksmīgs tikai vietējā tīklā esošajām ierīcēm. Attālinātām IP adresēm tas nav iespējams.

Piemērs, kā mēģināt iegūt MAC adresi vietējā tīklā (ne 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("Kļūda:", err)
        return
    }
    fmt.Println("MAC adrese:", hwAddr)
}

Bet tas nedarbosies ar 8.8.8.8. Galu galā, tīkla protokola ierobežojumu dēļ, nav iespējams uzzināt publiskā DNS servera MAC adresi.