Das ist der Befehl, den ich übergeben habe
cmd = { "/bin/sh", "-c", "ping " + ip + " -c 2 && arp -a" };
Die erhaltene Mac-Adresse, aber die Mac-Adresse ist nicht die gewünschte Client-Adresse, sondern die Adresse auf meinem Cluster-Server. Gibt es eine gute Möglichkeit, die Client-Mac-Adresse über IP zu erhalten?
其实, 如果你想获得客户端的mac地址是没办法的, 因为数据报报在经过路由器时, 报文中的mac地址会被路由器所改写的, 因为要记录链路层中发送方的mac地址, 大致的过程如下图:
也可以参考这篇文章:
网络-数据包在路由转发过程中MAC地址和IP地址,变与不变