linux系统下如何通过java获取客户端ip和mac地址?

这是我通过命令cmd = { "/bin/sh", "-c", "ping " + ip + " -c 2 && arp -a" };获取的ip和mac地址

这是我通过命令

cmd = { "/bin/sh", "-c", "ping " + ip + " -c 2 && arp -a" };

获取的mac地址,但是mac地址不是我想要的客户端地址,而是我这边集群服务器上的地址,请问有什么好办法通过ip去获取客户端mac地址吗?

回答:

其实, 如果你想获得客户端的mac地址是没办法的, 因为数据报报在经过路由器时, 报文中的mac地址会被路由器所改写的, 因为要记录链路层中发送方的mac地址, 大致的过程如下图:
clipboard.png

也可以参考这篇文章:
网络-数据包在路由转发过程中MAC地址和IP地址,变与不变

以上是 linux系统下如何通过java获取客户端ip和mac地址? 的全部内容, 来源链接: utcz.com/p/179472.html

回到顶部