Ich muss die Raspberry PI-IP-Adresse im lokalen Netzwerk suchen, ohne die Raspberry an einen Monitor anzuschließen. Wie mache ich das auf Linux- oder Mac OS-Systemen?

Kommentare

Antwort

Alle MAC-Adressen von Himbeergeräten begannen mit B8: 27: EB (für RPi4 B beginnen sie mit dc:a6:32, ggf. ersetzen).

Auf * nix Systemen kann dies erreicht werden Führen Sie den folgenden Befehl aus:

nmap -sP 192.168.1.0/24 | awk "/^Nmap/{ip=$NF}/B8:27:EB/{print ip}" 

wobei 192.168.1.* Ihre lokale Netzwerkmaske ist. Sie erhalten eine Antwort wie:

Nmap scan report for raspberrypi.localnetwork.lan (192.168.1.179) 

Die 192.168.1.179 ist die Raspberry Pi-IP-Adresse in Ihrem Netzwerk.

Wenn ja Auf einem Mac -System können Sie Homebrew zur Installation verwenden nmap :

brew install nmap 

Unter Windows , Sie können Wireshark verwenden und den folgenden Anzeigefilter verwenden:

eth.addr[0:3] == B8:27:EB 

Kommentare

  • Oder mit weniger Pipes: nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • Danke @ripat, das ist viel mehr prägnant – aktualisiert! Ein kleines Detail, das Sie als Administrator ausführen müssen, sonst zeigt die nmap die MAC-Adresse nicht an.
  • Sie würden die Wichtigkeit dieser Antwort erst schätzen, wenn Sie versucht haben, Ihre Himbeerpi in einer Büroumgebung, in der Sie sich befinden, kopflos zu lokalisieren IP ‚ werden über DHCP ausgegeben. Prost auf dieses @ripat
  • Diese Antwort ‚ hat bei mir nicht funktioniert, da nmap ‚ das nicht ausspuckte Hostnamen für mich. Es hat mich jedoch dazu inspiriert, mit nmap nach offenen SSH-Ports zu suchen, und dadurch konnte ich das pi finden: sudo nmap -p 22 --open -sV 192.168.0.0/24 Der Beitrag von guy ‚ .
  • ist nicht ‚ t “ sudo nmap -sP 192.168.1.0/24″ genug (es hat mir Sorgen gemacht)?

Antwort

Wenn Sie MacOS oder Linux ausführen, versuchen Sie Folgendes:

$ arp -na | grep -i b8:27:eb 

Unter Windows können Sie dies Verwenden Sie:

arp -a | findstr b8-27-eb 

In RPi 4B müssen Sie zum Vergleich eine andere Zeichenfolge verwenden (dc:a6:32:be:95) Überprüfen Sie dies auf Ihrem RPi mit

ip -br link 

Für jede Netzwerkkarte werden Einträge angezeigt. eth0 ist Kabel-Internet. wlan0 ist das WLAN.

Kommentare

  • Diese Lösung ist viel schneller als eine nmap-Lösung!
  • Diese Lösung hat bei mir funktioniert, im Gegensatz zu th Die nmap-Lösung, die nur einen Teil der Liste enthielt.
  • Hier werden nur Hosts angezeigt, die es in Ihre Arp-Tabellen geschafft haben, sodass manchmal die ruhigen fehlen. Es könnte hilfreich sein, zuerst einen nmap-Scan durchzuführen.
  • Möglicherweise, aber für mich ist dies nie fehlgeschlagen. Außerdem ist ‚ ein einfacher erster Versuch.
  • Vielen Dank dafür. Ich habe es leicht geändert und verwende jetzt arp -n | awk '/b8:27:eb/ {print $1}'.

Antwort

Ich benutze mDNS / Bonjour, um meinem Pi einen lokalen Namen wie pi.local zu geben. Ich muss nicht wissen, dass es sich um die IP-Adresse handelt, und dies funktioniert für Verknüpfungen und wenn Sie einen Link einbetten müssen …

Wie und warum zuweisen Ein lokaler Name für Ihren Pi

Kommentare

  • Genial! Ich habe immer mit /etc/hosts lokal, um diese Funktionalität auf meinem Desktop zu erhalten, ist dies eine VIEL bessere Lösung! Vielen Dank für den Zeiger!

Antwort

Wenn Sie eine GUI-Anwendung dafür verwenden möchten, können Sie das Tool Yakala ( https://github.com/mozcelikors/yakala ) für Debian / Ubuntu. Mit diesem Tool können Sie nicht nur nach verfügbaren Netzwerken vom Typ B und Typ C suchen, sondern auch SSH direkt in das Netzwerk einbinden:

sudo add-apt-repository ppa:mozcelikors/yakala sudo apt-get update sudo apt-get install yakala 

oder

git clone https://github.com/mozcelikors/yakala cd yakala && sudo ./install.sh 

https://raw.githubusercontent.com/mozcelikors/yakala/master/docs/img/peekx2.gif

Haftungsausschluss: Ich bin der Schöpfer von Yakala. Alle Vorschläge / Fehler werden sehr ernst genommen.

Kommentare

  • Classful Networking wurde 1993 aufgegeben, was sehr lange her ist.
  • Was ist ein klassisches Netzwerk?

Antwort

Standardmäßig heißt die Himbeere Himbeerpi.Sie können einfach „pasp raspberrypi“ und die ICMP-Echoantwort gibt Ihnen die IP-Adresse. Es hat bei mir funktioniert. Stellen Sie sicher, dass der DHCP-Server erreichbar ist, da sich die Netzwerkkarte der Himbeere standardmäßig im DHCP-Client-Modus befindet. Andernfalls erhält die Himbeere eine APIPA-Adresse.

Antwort

Unter Linux und MAC können Sie auch „arp – a“ in das Terminal eingeben und eine Liste der angeschlossenen Geräte abrufen. Suchen Sie nach dem Gerät mit B8, Beispiel: 192.168.4.5 @ B8 … wird die Himbeer-Pi-IP sein.

Antwort

Ich verwende die kostenlose Fing App in meinem Android-Smartphone. Sie scannt das Netzwerk und zeigt die angeschlossenen Geräte nach Typ, einschließlich Raspberry Pi, sowie die verfügbaren Ports an. Praktisch, um festzustellen, ob SSH, Web oder VNC aktiviert sind und wird ausgeführt.

Antwort

Oder Sie können über einen Browser auf Ihren Router zugreifen und Ihr Android-Gerät finden – fast jede Router-GUI verfügt über eine Dienst, bei dem Sie alle Geräte überprüfen können, die derzeit mit Ihrem Netzwerk verbunden sind.

Antwort

Wenn Sie MacOS ausführen, verwenden Sie PiFinder . Diese Anwendung gibt Ihnen die IP eines Raspberry Pi in Ihrem Netzwerk an.

Antwort

Kopieren Sie Folgendes in Ihr Terminal / Ihre Konsole / Shell:

for i in $(jot - 1 254); do ping -t 1 192.168.1.$i && arp -a | cut -f 2,4 -d " " | tr [:lower:] [:upper:] | grep B8:27:EB; done 

Bitte passen Sie 192.168.1. an Ihr individuelles Netzwerk an.

Die Die Ausgabe sieht ungefähr so aus:

(192.168.1.109) B8: 27: EE: DD: CC: A

192.168.1.109 wäre die IP Ihres Raspberry Pi … 🙂

Antwort

Fügen Sie dies in pi.php auf Ihrem Webserver ein:

<?php $fp = fopen("pi", "w"); fwrite($fp, $_REQUEST["ip"],1000); fclose($fp); ?> 

Möglicherweise müssen Sie die Datei pi auf Ihrem Webserver mit Schreibberechtigungen für Ihr Web erstellen Server.

Geben Sie

curl http://yourwebserver/pi.php -d ip=`hostname -I` 

in /etc/rc.local auf Ihrem Pi ein.

Rufen Sie die IP ab von Ihrem pi durch Durchsuchen von http://yourwebserver/pi

Antwort

Bei Verwendung einer Neuinstallation von NOOBS oder Raspbian lautet der Standardhostname „raspberrypi“ und in einigen Netzwerken Ork-Konfigurationen (d.h. Wenn mDNS verwendet und konfiguriert wird, können Sie „raspberrypi.local“ verwenden. Eine andere Möglichkeit besteht darin, arp -a auszuführen und nach Himbeerpi zu suchen.

HINWEIS: Dies funktioniert nicht für jede Instanz.

Kommentare

  • Diese Antwort scheint verschiedene Dinge zu verwechseln: verschiedene IP-Versionen, DNS und möglicherweise mDNS. Ob .local verwendet werden kann, ist normalerweise nicht ‚ hängt nicht von IPv6 ab und auch nicht davon, ob ein Router vorhanden ist. Wenn mDNS-Unterstützung verfügbar ist, wird pi-name.local aufgelöst, IPv6 oder nicht. Einige Heimrouter verwenden auch .local as Dies ist wiederum unabhängig von IPv6 und hängt vom Routermodell ab. Einige Heimrouter verwenden unterschiedliche Domänen, z. B. pi-name.fritz.box.

Antwort

Mein Router weist neu entdeckten Systemen nacheinander eine IP-Adresse ab 192.168.1.2 zu. Ich habe eines Tages jedes System in meinem Haus durchgesehen und Adressen für sie reserviert.

Auf diese Weise besteht beim Erstellen eines neuen Systems die Wahrscheinlichkeit, dass die IP-Adresse 192 lautet .169.1.18.

Eine andere Möglichkeit, die serielle Konsole zu verwenden. Sie können ein serielles Terminalprogramm verwenden, um sich bei Ihrem Himbeer-Pi anzumelden. Ich würde vorschlagen, die Einstellung 8N1 (8 Bit, kein Paritätsbit, 1 Stoppbit) mit einer Geschwindigkeit (Baudrate) von 115.200 zu verwenden. Sie benötigen einen USB-zu-Seriell-Anschluss (3V3).

Antwort

„Fing“ oder „Net Analyzer“ unter Android Zeigt Ihr gesamtes Netzwerk an.

Antwort

Wenn Sie unter Windows arbeiten, empfehle ich Ihnen, dieses Skript auszuprobieren basierend auf dem Befehl „arp -a“, erspart Ihnen jedoch zusätzliches Graben und hilft Ihnen, wenn sich Ihre Himbeere noch nicht in der Arp-Tabelle befindet.

Erstellen Sie eine Textdatei mit dem folgenden Inhalt und benennen Sie sie um find_raspberry_pi.bat

@echo off :: This script, run from a Windows (10) machine, finds a Raspberry Pi on local network set raspIp= set myip= set subnet= :: Get IP for local PC for /f "tokens=1-2 delims=:" %%a in ("ipconfig^|find "IPv4"") do set myip=%%b set myip=%myip:~1% echo IP for local PC: %myip% :: Get subnet set subnet=%myip% setlocal enabledelayedexpansion for /l %%a in (1,1,31) do if NOT "!subnet:~-1!"=="." set subnet=!subnet:~0,-1! set subnet=%subnet:~0,-1% setlocal disabledelayedexpansion echo Subnet: %subnet% echo. :top :: Loop through arp table entries and look for Raspberry Pi"s MAC address for /f "tokens=1" %%f in ("arp -a ^| findstr b8-27-eb") do (set raspIp=%%f) if "%raspIp%"=="" ( echo Discovering network... :: Ping all IPs in subnet from 1 to 254 for /L %%N in (1,1,254) do start /b ping -n 1 -w 200 %subnet%.%%N >nul timeout 1 >nul goto :top ) else ( echo Found Raspberry PI with IP: %raspIp% ) echo. pause 

Haftungsausschluss :

  1. Ich bin nicht der Autor des ursprünglichen Skripts, ich habe es nur ein wenig angepasst, um mit einem Raspberry Pi zu arbeiten. Leider kann ich den ursprünglichen Mitwirkenden nicht finden.
  2. Es ist nicht kugelsicher, es funktioniert nicht, wenn das zu scannende Subnetz nicht das richtige ist.

Trotzdem habe ich es oft verwendet und es ist eine einfache Lösung

Antwort

Im Jahr 2020 funktioniert die akzeptierte Antwort nicht mehr, da der Raspberry Pi mit einem anderen Bereich von MAC-Adressen geliefert wird. Ich könnte einfach den „neuen“ MAC als Kommentar hinzufügen, aber die Zeichenfolge könnte sich bei jedem Modell immer wieder ändern. Hier ist etwas, das zukunftssicherer ist.

$ sudo nmap -sP 192.168.150.0/24 |grep "Raspberry Pi Trading" -B2 Nmap scan report for pi4-01.lan (192.168.150.186) Host is up (0.037s latency). MAC Address: DC:A6:32:1B:35:6A (Raspberry Pi Trading) 

Der Hauptunterschied oben: Wir nehmen kein MAC-Muster an, sondern greifen nur nach (Zusammenfassung), da diese Bezeichnung von nmap selbst. Da nmap ständig aktualisiert wird, enthält es interne Tabellen mit Raspberry Pi MAC-Adressen (oder verwendet andere Kriterien zur Erkennung) und wir können davon ausgehen das wird weiter funktionieren.

CAVEAT: Wenn Ihr Scan nicht alle Pis identifiziert, von denen Sie wissen, dass sie aktiviert sind Wiederholen Sie den Scan und wiederholen Sie den Scan – bis zu 10 Mal. Ein Pi mit Netzwerk Power Management:on reagiert möglicherweise nicht immer auf einen Scan.

Power Management ist möglicherweise Ein Problem für Sie, wenn Sie in einem LAN nach mehreren Pis suchen, da wiederholte Scans möglicherweise einen Pi, aber nicht einen anderen erkennen. In diesem Fall wiederholen Sie die Scans, um nach Unterschieden zu suchen (Um zu bestätigen, ob für einen Pi die Energieverwaltung aktiviert ist, ssh zum Pi und führen Sie Folgendes aus: /sbin/iwconfig wlan0|grep Management)

Answ er

Ich gehe davon aus, dass Sie keine Verbindung zu Ihrem PI herstellen können, andernfalls würden Sie dessen IP kennen.

Wenn Sie zu Ihrer Routerseite gehen (normalerweise etwas wie 192.168.1.1 in Ihrem Browser) dort sollten Sie einen Abschnitt mit den bereits angeschlossenen Geräten haben. Sie können versuchen, den PI ein- und auszustecken (und ein Gerät sollte in der Liste erscheinen / verschwinden).

Antwort

Versuchen Sie dies Erstens:

arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

Die beiden Hex-Zeichenfolgen (b8:27:eb|dc:a6:32) in diesem Befehl spiegeln die beiden OUI -Werte, die von “ The Foundation “ für die Produktion aller RPi-Geräte verwendet werden – über RPi Version 4B zum Zeitpunkt dieses Schreibens. Wenn Ihr RPi nicht in Ihrem Arp-Cache Dieser Befehl liefert nichts Nützliches. Wenn dies der Fall ist, erstellen Sie die folgende Datei in Ihrem bevorzugten Editor und speichern / schreiben Sie sie als pingpong.sh:

#!/bin/sh : ${1?"Usage: $0 ip subnet to scan. eg "192.168.1.""} subnet=$1 for addr in `seq 0 1 255 `; do ( ping -c 3 -t 5 $subnet$addr > /dev/null ) & done arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

macht es ausführbar und führt es aus (verwenden Sie Ihre Netzwerkadresse hier, nicht unbedingt 192.168.1. ):

$ chmod 755 pingpong.sh $ ./pingpong.sh 192.168.1. 

Ihre Ergebnisse können wie folgt aussehen :

raspberrypi3b.local (192.168.1.131) at b8:27:eb:1:2:3 on en0 ifscope [ethernet] raspberrypi4b.local (192.168.1.184) at dc:a6:32:2:3:4 on en0 ifscope [ethernet] 

In diesem Fall wird der Hostname mit freundlicher Genehmigung von mDNS angezeigt. Wenn Sie mDNS / avahi / etc nicht verwenden, wird der Hostname verwendet durch das Zeichen ersetzt werden: ?.

Antwort

Raspbian verwendet a Ding namens mDNS, mit dem Sie über einen Hostnamen raspberrypi.local auf Ihr Himbeer-Pi zugreifen können.

Also, Sie tun es nicht „Sie müssen nicht mehr nach einer IP-Adresse suchen, sondern stellen eine Verbindung wie folgt her:

ssh [email protected] 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.