是否可以通过本地网络从其MAC地址确定设备的IP地址?如果可能的话,我希望能够从命令行执行此操作。
我需要将我的覆盆子pi连接到我的学校无线网络并将ssh / vnc连接到它,但我不想带外围设备(鼠标,键盘,显示器)只是为了检查它被动态分配的IP地址。
答案 0 :(得分:1)
您需要使用ARP协议。
首先获取局域网的布局地址(您可以使用以下方式找到它:
ifconfig
然后ping该地址以刷新系统的ARP表。 (所有邻居都会回答)
ping -b -c1 BROADCAST_IP_ADDRESS
现在您可以使用arp -a并查找IP地址:
arp -a
您可以使用
自动执行此操作arp -a | grep MAC_ADRESS | cut -f2 | tr -d '()'
答案 1 :(得分:0)
您可以使用airodump-ng或wireshark等实用程序扫描mac地址并以此方式获取IP。
或者查看ARP -a
答案 2 :(得分:0)
我首先想到的是你使用RARP协议。这似乎已被弃用,可能无法在Raspberry的TCP / IP堆栈中启用。使用Raspi配置稍微调整一下,看看是否可以启用它。然后,从另一个Linux框中,您可以发出命令rarp -a
答案 3 :(得分:0)
这是一个老帖子,但我最近需要这个。
我试图ping本地网络上的所有设备,这表示65k +不同的IP地址。我以某种方式设法用启动命令批量启动parralel中的ping,但是有了这么多命令,它很快就会出现打开和关闭的命令提示,并且对我的笔记本电脑来说似乎已经够糟了。
然后,我尝试使用java及其isReachable()方法,该方法尝试ping。将它封装在一个固定的线程池上,在这里我又去了...... ping完了,arp -a给了我IP ...我再试一次,arp -a什么也没给... wtf
非常重要的事情,如果你想扫描你的网络,就是在每次ping之后检查你的arp表中你想要的IP。在Java中,我设法以30秒的速度扫描所有60k + ip地址,并且批处理无法做得更好......因为是的,我必须在windows中执行此操作
希望它能帮助某人......
答案 4 :(得分:0)
使用ifconfig命令
ifconfig | grep "inet " | grep -v 127.0.0.1
只需使用ifconfig
即可提供完整的details列表,以便过滤到正确的ip地址。使用grep inet缩小搜索范围。
此处-v表示“反转匹配感”。避免在搜索条件中包含关键字127.0.0.1
的行。