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.