Как узнать MAC-адрес у публичного DNS-сервера 8.8.8.8?
Answer from AI
sobes.tech AI
MAC-адрес — это физический адрес сетевого интерфейса в локальной сети. Публичный DNS-сервер 8.8.8.8 — это удалённый хост в интернете, и напрямую узнать его MAC-адрес невозможно, так как MAC-адреса не передаются через маршрутизаторы и видны только в пределах локальной сети.
Если попытаться получить MAC-адрес 8.8.8.8, например, через ARP, это не сработает, потому что ARP работает только в пределах одного сегмента сети.
В Go можно попытаться выполнить ARP-запрос, но он будет успешен только для устройств в локальной сети. Для удалённых IP это невозможно.
Пример попытки получить MAC-адрес в локальной сети (не для 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("Error:", err)
return
}
fmt.Println("MAC address:", hwAddr)
}
Но для 8.8.8.8 это не сработает. В итоге, узнать MAC-адрес публичного DNS-сервера невозможно из-за ограничений сетевого протокола.