Sobes.tech
Senior

Hogyan lehet megtudni a MAC címet a nyilvános DNS szerver 8.8.8.8 esetén?

sobes.tech MI

Válasz az MI-től

A MAC-cím a helyi hálózatban a hálózati interfész fizikai címe. A nyilvános DNS-szerver 8.8.8.8 egy távoli hoszt az interneten, és nem lehet közvetlenül megtudni a MAC-címét, mivel a MAC-címek nem kerülnek továbbításra a routereken keresztül, és csak a helyi hálózaton belül láthatók.

Ha megpróbálod megszerezni a 8.8.8.8 MAC-címét például ARP segítségével, az nem fog működni, mert az ARP csak egy hálózati szegmensben működik.

Go nyelven megpróbálhatsz ARP-kérést küldeni, de ez csak a helyi hálózaton lévő eszközöknél lesz sikeres. Távoli IP-címek esetén ez nem lehetséges.

Példa arra, hogyan próbálhatod meg a MAC-cím megszerzését helyi hálózatban (nem 8.8.8.8 esetén):

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("Hiba:", err)
        return
    }
    fmt.Println("MAC cím:", hwAddr)
}

De 8.8.8.8 esetén ez nem fog működni. Végső soron, a hálózati protokoll korlátozásai miatt, nem lehet megtudni a nyilvános DNS szerver MAC-címét.