Meg kell találnom a Raspberry PI IP-címét a helyi hálózaton anélkül, hogy a málnát monitorhoz csatlakoztatnám. Hogyan tudom csinálni Linux vagy Mac OS rendszereken?
Megjegyzések
- a lehetséges másolata SSH a málna pi-be az IP-cím ismerete nélkül
- Az okos telefonon található LAN scan alkalmazás a hálózat összes eszközét megjeleníti.
Válasz
Az összes málnaeszköz MAC-címe a következővel kezdődött: B8: 27: EB (az RPi4 B esetében a dc:a6:32
, adott esetben cserélje le).
Tehát a * nix rendszereken ez megvalósítható a következő parancs végrehajtásával:
nmap -sP 192.168.1.0/24 | awk "/^Nmap/{ip=$NF}/B8:27:EB/{print ip}"
ahol 192.168.1.*
lesz a helyi hálózati maszk. Ilyen választ kap:
Nmap scan report for raspberrypi.localnetwork.lan (192.168.1.179)
A 192.168.1.179 a Raspberry Pi IP-címe a hálózaton.
Ha Ön Mac rendszeren a Homebrew segítségével telepítheti nmap :
brew install nmap
Be Windows , használhatja a Wireshark alkalmazást, és a következő megjelenítési szűrőt használhatja:
eth.addr[0:3] == B8:27:EB
Megjegyzések
- Vagy kevesebb csővel:
nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
- Köszönöm @ripat, ez sokkal több tömör – frissítve! Egy apró részlet: rendszergazdaként kell futtatnia, különben az nmap nem jeleníti meg a MAC-címet.
- Nem értékelné ennek a válasznak a fontosságát, amíg meg nem próbálta fej nélkül megkeresni a málnáspint irodai környezetben, ahol Az IP ‘ seket DHCP használatával osztják el. Egészséged erre @ripat
- Ez a válasz nem működött ‘ nálam, mivel az nmap nem volt ‘ köpve hostnevek nekem. Ez azonban inspirált arra, hogy nmap-mal keressek nyitott ssh-portokat, és ez lehetővé tette, hogy megtaláljam ezen a pi:
sudo nmap -p 22 --open -sV 192.168.0.0/24
srác ‘ s bejegyzés . - nem ‘ t ” sudo nmap -sP 192.168.1.0/24″ elég (számomra aggódott)?
Válasz
Ha MacOS vagy Linux rendszert futtat, próbálja ki ezt:
$ arp -na | grep -i b8:27:eb
Windows rendszeren use:
arp -a | findstr b8-27-eb
Az RPi 4B-n más karakterláncot kell használnia az összehasonlításhoz (dc:a6:32:be:95
). ellenőrizze az RPI-n:
ip -br link
Minden hálózati kártyához bejegyzések lesznek. eth0
kábel internet, A wlan0
a WiFi.
Megjegyzések
- Ez a megoldás sokkal gyorsabb, mint egy nmap megoldás!
- Ez a megoldás nekem működött, ellentétben a th-vel Az a nmap megoldás, amely a lista csak egy részét adta meg.
- Ez csak azokat a gazdagépeket jeleníti meg, amelyek bekerültek az arp tábláiba, ezért néha hiányzik a csendes. Előfordulhat, hogy először egyszer elvégezünk egy nmap-vizsgálatot.
- Lehet, de számomra ez soha nem sikerült. Ráadásul ‘ egy egyszerű első próbálkozás.
- Köszönöm ezt. Kicsit módosítottam, és most a
arp -n | awk '/b8:27:eb/ {print $1}'
-t használom.
Válasz
Az mDNS / Bonjour segítségével olyan helyi nevet adok a Pi-nek, mint pi.local. Nem kell tudnom az IP-címét, és ez működik a parancsikonoknál, és amikor be kell ágyaznia egy linket …
Hogyan és miért kell hozzárendelni helyi név a Pi-hez
Megjegyzések
- Félelmetes! Régebben a
/etc/hosts
helyileg, hogy ezt a funkcionalitást az asztalomra tölthessem, ez SOKKAL jobb megoldás! Nagyon köszönöm a mutatót!
Válasz
Ha GUI alkalmazást szeretne használni hozzá, használhatja a Yakala
eszközt ( https://github.com/mozcelikors/yakala ) a Debian / Ubuntu számára. Ez az eszköz nemcsak az elérhető B és C típusú hálózatok keresésében segít, hanem az SSH közvetlen hálózatba történő átirányításában is:
sudo add-apt-repository ppa:mozcelikors/yakala sudo apt-get update sudo apt-get install yakala
vagy
git clone https://github.com/mozcelikors/yakala cd yakala && sudo ./install.sh
Jogi nyilatkozat: Én vagyok a Jakala megalkotója. Az esetleges javaslatokat / hibákat nagyon komolyan veszik.
Megjegyzések
- A klasszikus hálózatépítést 1993-ban felhagyták, ami nagyon régen volt.
- Mi az osztályhálózat?
Válasz
Alapértelmezés szerint a málna neve raspberrypi.Csak “ping raspberrypi” -t írhat, és az ICMP visszhangválasz megadja az IP-címet. Nekem bevált. Győződjön meg róla, hogy a DHCP szerver elérhető, mivel a málna hálózati kártyája alapértelmezés szerint DHCP kliens módban van. Ellenkező esetben a málna APIPA címet kap.
Válasz
A linuxban és a MAC-ben beírhatja a terminálba az “arp – a” szót, és megkaphatja a csatlakoztatott eszközök listáját, megkeresheti azt, amelyikben B8 van, például: 192.168.4.5 @ A B8 … a málna pi IP lesz.
Válasz
Az ingyenes Fing alkalmazás az androidos okostelefonomon. Megvizsgálja a hálózatot, és típusonként mutatja a csatlakoztatott eszközöket, beleértve a Raspberry Pi-t is, valamint az elérhető portok beolvasását. Hasznos, ha meg szeretné nézni, hogy az SSH, a web vagy a VNC engedélyezve van-e és fut.
Válasz
Vagy elérheti az útválasztót böngészőn keresztül, és megtalálhatja androidos eszközét -szinte minden útválasztó GUI rendelkezik szolgáltatás, ahol ellenőrizheti az összes olyan eszközt, amely jelenleg a hálózathoz csatlakozik.
Válasz
Ha a MacOS rendszert futtatja, használja a PiFinder alkalmazást, ez egy olyan alkalmazás, amely megmondja a hálózatában található Raspberry Pi IP-címét.
Válasz
Másolja a következőket a Termináljába / Konzoljába / Shelljébe:
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
Kérjük, igazítsa a 192.168.1. alkalmazást az Ön hálózatához.
a kimenet így fog kinézni:
(192.168.1.109) B8: 27: EE: DD: CC: A
192.168.1.109 lenne a Raspberry Pi IP-címe … 🙂
Válasz
Tegye ezt a webkiszolgálón a pi.php fájlba:
<?php $fp = fopen("pi", "w"); fwrite($fp, $_REQUEST["ip"],1000); fclose($fp); ?>
Előfordulhat, hogy a pi fájlt a webkiszolgálón kell létrehoznia a web írási engedélyével szerver.
Tedd
curl http://yourwebserver/pi.php -d ip=`hostname -I`
az /etc/rc.local fájlba a pi-n.
Szerezd meg az IP-t http://yourwebserver/pi
Válasz
A NOOBS vagy a Raspbian friss telepítésekor az alapértelmezett hosztnév a “raspberrypi”, és egyes hálózatokban ork konfigurációk (azaz ha az mDNS van használatban és konfigurálva), használhatja a “raspberrypi.local” fájlt. Egy másik lehetőség a arp -a
futtatása és a raspberrypi megkeresése
MEGJEGYZÉS: Ez nem fog minden példánynál működni.
Megjegyzések
- Úgy tűnik, hogy ez a válasz több dolgot összekever: különböző IP-verziókat, DNS-t és talán mDNS-t. Az, hogy használható-e
.local
, általában nem ‘ t az IPv6-tól függ, és attól sem, hogy van-e útválasztó. Ha elérhető az mDNS támogatás, akkor a pi-name.local megoldódik, IPv6 vagy sem. Néhány otthoni útválasztó a .local címet is használja a helyi DNS-tartományuk, ez ismét független az IPv6-tól és az útválasztó modelljétől függ. Néhány otthoni útválasztó különböző tartományokat használ, például a pi-name.fritz.box.
Válasz
Az útválasztóm az újonnan felfedezett rendszereknek rendre IP-címet rendel a 192.168.1.2-től kezdődően. Egy nap átmentem az otthonom minden rendszerén, és fenntartottam nekik címeket.
Így, amikor új rendszert hozok létre, valószínű, hogy az IP-címe 192 lesz .169.1.18.
A soros konzol használatának másik módja. Használhatja a soros terminál programot, hogy bejelentkezhessen a málna pi-be. Azt javaslom, hogy használja a 8N1 (8-bit, nincs paritásbit, 1 stopbit) beállítást 115 200 sebességgel (átviteli sebesség). Szüksége lesz USB-soros (3V3) csatlakozóra.
Válasz
“Fing” vagy “Net Analyzer” Androidon . Az egész hálózatot megmutatja.
Válasz
Ha Windows operációs rendszert használ, javasoljuk, hogy próbálja ki ezt a szkriptet. Leginkább az “arp -a” parancs alapján, de megspórol némi extra ásást és segít, ha a Raspberry még nincs az Arp táblában.
Hozzon létre egy szöveges fájlt a következő tartalommal és nevezze át 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
Felelősség kizárása :
- Nem én vagyok az eredeti szkript szerzője, csak egy kicsit átalakítottam egy Raspberry Pi-vel való együttműködésre. Sajnos nem találom az eredeti közreműködőt.
- Nem golyóálló, nem fog működni, ha az alhálózat, amelyet keresni kezd, nem a megfelelő.
Ennek ellenére sokszor használtam és egyszerű megoldás
Válasz
2020-ban az elfogadott válasz már nem működik, mert a Raspberry Pi más MAC-címek tartományával szállít. Csak hozzáadhatnám az “új” MAC-ot megjegyzésként, de a karakterlánc újra és újra megváltozhat az egyes modelleken. Itt van valami, ami jövőbiztosabb.
$ 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)
A fenti fő különbség: nem feltételezünk MAC mintát, csak az (összegzés) után kutatunk, mivel ezt a címkét a nmap
. Mivel az nmap
folyamatosan frissül, a Raspberry Pi MAC-címeinek belső táblázatait tartalmazza (vagy más kritériumok segítségével észleli), és feltételezhetjük ez továbbra is működik.
CAVEAT: Ha a szkennelés nem azonosítja az összes olyan Pis-t, amelyről tudod, hogy be van kapcsolva a hálózatot, majd ismételje meg a beolvasást – akár tízszer is. A Pi Power Management:on
hálózattal rendelkező Pi nem biztos, hogy mindig reagál a vizsgálatra.
Az energiagazdálkodás probléma az Ön számára, ha több Pis-t keres egy LAN-on, mivel az ismételt vizsgálatok egy Pi-t észlelhetnek, a másikat viszont nem. Ebben az esetben ismételje meg a vizsgálatokat a különbségek keresése érdekében . (Annak ellenőrzéséhez, hogy a Pi engedélyezte-e az Energiagazdálkodást, ssh a Pi-hez, és futtassa: /sbin/iwconfig wlan0|grep Management
)
Válasz er
Feltételezem, hogy nem tudsz csatlakozni hozzád PI-hez, különben nem tudod annak IP-jét.
Ha az útválasztó oldaladra lépsz (általában valami mint a böngészőben a 192.168.1.1), ott rendelkeznie kell egy szakaszsal a már csatlakoztatott eszközökkel. Megpróbálhatja csatlakoztatni és kihúzni a PI-t (és egy eszköznek meg kell jelennie / eltűnik a listáról)
Válasz
Próbálja ki első:
arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32"
A parancs két hexa karakterlánca (b8:27:eb|dc:a6:32
) tükrözi a két OUI értékek, amelyeket a ” Az Alapítvány ” használ az összes RPi eszköz gyártásához – RPi-n keresztül 4B ver. Ha az RPi nincs “t a arp gyorsítótárban ez a parancs nem hoz semmi hasznosat. Ha ez a helyzet, akkor hozza létre a következő fájlt a kedvenc szerkesztőjében, és mentse / írja be pingpong.sh
néven:
#!/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"
futtathatóvá tegye, és futtassa (itt használja hálózati címét, nem feltétlenül 192.168.1. ):
$ chmod 755 pingpong.sh $ ./pingpong.sh 192.168.1.
Az eredmények a következőképpen jelenhetnek meg :
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]
Ebben az esetben a hosztnév az mDNS jóvoltából jelenik meg. Ha nem használja / nem használja az mDNS / avahi / etc állomást, akkor a hosztnév helyébe a következő karakter kerül: ?
.
Válasz
A Raspbian egy mDNS
nevű dolog, amely lehetővé teszi a málna pi elérését a gazdagépnévvel raspberrypi.local
.
Tehát, ne tedd “Nem kell többé IP-címet keresni, egyszerűen csatlakozzon így:
ssh [email protected]