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

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 

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

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 :

  1. 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.
  2. 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] 

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük