Answers:
所有树莓派设备的MAC地址均以B8:27:EB开头。
因此,在* nix系统上,这可以通过执行以下命令来完成:
sudo nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
192.168.1.*
您的本地网络掩码在哪里。您将得到类似的答案:
Nmap scan report for raspberrypi.localnetwork.lan (192.168.1.179)
192.168.1.179是您网络上的Raspberry Pi IP地址。
如果您使用的是Mac系统,则可以使用Homebrew安装nmap:
brew install nmap
在Windows上,您可以使用Wireshark并使用以下显示过滤器:
eth.addr[0:3] == B8:27:EB
nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
如果您运行的是MacOS或Linux,请尝试以下一种方法:
$ arp -na | grep -i b8:27:eb
在Windows上,您可以使用:
arp -a | findstr b8-27-eb
arp -n | awk '/b8:27:eb/ {print $1}'
。
我使用mDNS / Bonjour为我的Pi赋予一个本地名称,例如pi.local。我不需要知道它的IP地址,这对于快捷方式以及何时需要嵌入链接都适用...
/etc/hosts
本地玩弄以在桌面上获得此功能,这是一个更好的解决方案!非常感谢您的指导!
如果要为其使用GUI应用程序,则可以使用Debian / Ubuntu的Yakala
工具(https://github.com/mozcelikors/yakala)。该工具不仅可以帮助您搜索可用的B型和C型网络,还可以帮助您直接SSH进入网络:
sudo add-apt-repository ppa:mozcelikors/yakala
sudo apt-get update
sudo apt-get install yakala
要么
git clone https://github.com/mozcelikors/yakala
cd yakala && sudo ./install.sh
免责声明:我是Yakala的创建者。任何建议/错误都非常重视。
我在Android智能手机中使用免费的Fing应用。它扫描网络并按类型显示连接的设备,包括Raspberry Pi,以及扫描可用端口。方便查看SSH,Web或VNC是否已启用并正在运行。
将其放在Web服务器上的pi.php中:
<?php
$fp = fopen('pi', 'w');
fwrite($fp, $_REQUEST['ip'],1000);
fclose($fp);
?>
您可能必须在具有对Web服务器的写许可权的Web服务器上创建文件pi。
放
curl http://yourwebserver/pi.php -d ip=`hostname -I`
在您的pi上的/etc/rc.local中。
通过浏览http:// yourwebserver / pi获取您的pi的IP
当使用全新安装的NOOBS或Raspbian时,默认主机名是“ raspberrypi”,在某些网络配置(即,如果正在使用和配置mDNS)中,可以使用“ raspberrypi.local”。另一个选择是运行arp -a
并寻找raspberrypi
注意:这不适用于每个实例。
.local
可以使用通常不取决于IPv6,也不取决于是否存在路由器。如果提供了mDNS支持,则pi-name.local可以解析为IPv6,否。一些家用路由器还使用.local作为其本地DNS域,这又与IPv6无关,并取决于路由器型号。某些家用路由器使用不同的域,例如pi-name.fritz.box。