查找新启动的 Raspberry Pi 的 IP 地址

pit*_*las 18 mac-address arp ip-address

我已使用电缆将运行 Ubuntu 的 Raspberry Pi 连接到我的家庭网络。它已启动并连接到网络。Pi 没有键盘、鼠标或显示器。如果我知道分配给机器人的 IP 地址,他们就可以通过 ssh 进入它。

事实证明,RasPis 的 MAC 地址有一个已知的 OUI {Organizationally Unique Identifier}。他们所有的 MAC 地址都以b8:27:eb. 所以如果我能得到我网络上所有 MAC 地址的列表,我会很高兴的。

但...

arp -a | grep "b8:27:eb"
Run Code Online (Sandbox Code Playgroud)

应该做的。除了 apr -a 不会生成详尽且最新的列表。关于如何获取网络上计算机的最新 MAC 地址列表,或获取新连接的 Raspberry Pi 的 IP 地址的任何想法?

谢谢!

roa*_*ima 23

假设网络范围不太大,您可以在查看之前强制填充 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
Run Code Online (Sandbox Code Playgroud)

否则,您可以寻找具有开放 SSH 端口的设备,

nmap -oG - -p 22 192.168.1.0/24  | grep /open/
Run Code Online (Sandbox Code Playgroud)

或者查看路由器的 DHCP 分配表,了解它最近分配了哪些地址。

  • 在我的家庭网络中,第二个命令有效,只用了大约 30 秒。它产生了两个 IP 地址,其中一个是正确的。我得赶紧去找出哪个是另一个:) (7认同)
  • 这个答案明白 ARP 表只会填满你试图与之通信的东西。`nmap` 尝试联系每个 IP 地址,它填充 ARP 表 - 一个很好的解决方案。也就是说,就我个人而言,我查看路由器的 DHCP 表以找到我的 Pi (5认同)

pit*_*las 8

这是一个间接但足够的答案。我意识到如果我知道 Raspberry Pi 的主机名,那么我可以使用 ssh pi@myrobot.local。那奏效了。

  • @NasirRiley 可能没有 DNS 记录,主机本身响应 mDNS 查询,如“.local”名称所证明。 (6认同)
  • @NasirRiley `local` 是 Zeroconf 使用的域名,它是一个没有中央解析器的域名系统。大多数现代 Linux 发行版都预装了它,就像 Raspberry Pi OS 一样。 (2认同)

Joh*_*our 5

免责声明:我是这个工具的作者。

试试这个工具,专为此目的而编写。它目前在 Windows 上运行。它侦听网络上的流量并列出出现的主机,例如您的树莓派。它在 IEEE OUI 中执行查找以检测制造商。

https://github.com/jwalthour/passiveAggressor

在此处输入图片说明

  • 对不起,我刚刚意识到您是在问如何从 Ubuntu 机器上执行此操作。这个答案不会有帮助。 (2认同)