要解决这个问题,首先我们应该知道,在底层的网络通信中,两个节点想要相互通信,必须先要知道源与目标的MAC地址。为了让系统能快速地找到一个远程节点的MAC地址,每一个本地的内核都保存有一个即时的查询表 (称为ARP缓存)。ARP中有影射远程主机的IP地址到其对应的MAC地址的一个列表。地址解析协议(ARP)缓存是一个常驻内存的数据结构,其中的内容是由本地系统的内核来管理和维护的。默认的情况下,ARP缓存中保留有最近十分钟本地系统与之通信的节点的IP地址(和对应的MAC地址)。
好了,利用上述原理,我们只要执行如下两个命令就可以获取局域网内对方的MAC地址。
ping 192.168.0.8 //ping对方的IP,使本机与之产生通信,从而缓存对方的MAC
arp -a //查看arp缓存的IP/MAC表
不用编写程序,不用写代码,只要两个命令,是不是很简单啊 :)
本文介绍如何通过简单的命令获取局域网内另一台设备的MAC地址。首先使用ping命令与目标设备建立连接,然后通过arp -a命令读取ARP缓存表中的MAC地址。
3596

被折叠的 条评论
为什么被折叠?



