arp就是干这个的。
比方说,我的ip地址是192.168.1.100/24,网关192.168.1.1。命令行提示符中输入 arp -a ,可以看到网关的mac地址。我想知道192.168.1.101的mac地址,先ping 192.168.1.101,然后再 arp -a ,就可以看到已经多出了192.168.1.101的条目以及对应的mac地址。
这只是局域网里举个例子,都是以太网,封装需要mac地址,会通过arp请求mac地址。所以不会说你随便ping一个地址就能得到他的mac地址。而且还有代理arp,即使都是以太网,得到的也可能都是你网关的mac地址。