我已经用电缆将运行 Ubuntu 的 Raspberry Pi 连接到我的家庭网络。它已启动并连接到网络。 Pi 没有键盘、鼠标或显示器。如果我知道分配给机器人的 IP 地址,他们就可以通过 ssh 访问它。
事实证明,RasPi 的 MAC 地址有一个已知的 OUI {组织唯一标识符}。它们的所有 MAC 地址都以 开头b8:27:eb
。因此,如果我能获得网络上所有 MAC 地址的列表,那就太好了。
但...
arp -a | grep "b8:27:eb"
应该做就应该做。只不过 apr -a 不会生成详尽且最新的列表。关于如何获取网络上计算机上的最新 MAC 地址列表,或获取新连接的 Raspberry Pi 的 IP 地址,有什么想法吗?
谢谢!
答案1
假设网络范围不太大,您可以在查看之前强制填充 ARP 表。这些示例适用于 192.168.1.0-255 上的典型家庭网络
nmap -sn 192.168.1.0/24 # Ping scan
arp -na | grep 'at b8:27:eb:' # Match the RPi devices
否则,您可以寻找具有开放 SSH 端口的设备,
nmap -oG - -p 22 192.168.1.0/24 | grep /open/
或者查看路由器的 DHCP 分配表,看看它最近分配了哪些地址。
答案2
这是一个间接但足够的答案。我意识到如果我知道 Raspberry Pi 的主机名,那么我可以使用 ssh[电子邮件受保护]。那行得通。
答案3
免责声明:我是该工具的作者。
尝试一下这个专门为此目的而编写的工具。目前它在 Windows 上运行。它监听网络上的流量并列出出现的主机,例如您的树莓派。它在 IEEE OUI 中执行查找来检测制造商。
答案4
根据官方文档这里
您可以尝试 pingraspberrypi.local
或仅从raspberrypi
同一网络中连接的计算机进行 ping,并从 ping 响应中获取 IP 地址。
ping raspberrypi.local
或者如果你想要 ipv4 地址
ping -4 raspberrypi.local