Musím najít Raspberry PI IP adresu v místní síti bez připojení Raspberry k monitoru. Jak to provedu v systémech Linux nebo Mac OS?

Komentáře

Odpovědět

Všechny adresy MAC malinových zařízení začínají B8: 27: EB (u RPi4 B začínají dc:a6:32, případně vyměňte).

Takže v systémech * nix toho lze dosáhnout provedením následujícího příkazu:

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

kde 192.168.1.* bude vaše lokální síťová maska. Získáte odpověď jako:

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

192.168.1.179 je IP adresa Raspberry Pi ve vaší síti.

Pokud jste v systému Mac můžete k instalaci použít Homebrew nmap :

brew install nmap 

V systému Windows , můžete použít Wireshark a použít následující filtr zobrazení:

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

Komentáře

  • Nebo s menším počtem kanálů: nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • Díky @ripat, to je mnohem víc stručně – aktualizováno! Jeden malý detail, který musíte spustit jako správce, jinak nmap nezobrazí MAC adresu.
  • Ocenili byste důležitost této odpovědi, dokud se nepokusíte bezhlavě lokalizovat své raspberrypi v kancelářském prostředí, kde IP ‚ s jsou distribuovány pomocí DHCP. Na zdraví @ripat
  • Tato odpověď pro mě ‚ nefungovala, protože nmap ‚ nevyplivl jména hostitelů pro mě. Inspirovalo mě to však hledat otevřené porty ssh pomocí nmap a to mi umožnilo najít pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 per this chlap ‚ s příspěvek .
  • isn ‚ t “ sudo nmap -sP 192.168.1.0/24″ dost (to mě trápilo)?

Odpovědět

Pokud používáte MacOS nebo Linux, zkuste tento:

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

V systému Windows můžete use:

arp -a | findstr b8-27-eb 

Na RPi 4B musíte pro srovnání použít jiný řetězec (dc:a6:32:be:95). zkontrolujte jej na svém RPi

ip -br link 

Pro každou síťovou kartu budou záznamy. eth0 je kabelový internet, wlan0 je WiFi.

Komentáře

  • Toto řešení je mnohem rychlejší než řešení nmap!
  • Toto řešení pro mě fungovalo, na rozdíl od th Řešení nmap, které poskytlo pouze část seznamu.
  • Zobrazí se pouze hostitelé, kteří se dostali do vašich arp tabulek, takže někdy chybí ty tiché. Možná by pomohlo provést nejprve skenování nmap.
  • Možná, ale pro mě to nikdy neselhalo. Navíc je to ‚ snadný první pokus.
  • Děkujeme za to. Mírně jsem to upravil a nyní používám arp -n | awk '/b8:27:eb/ {print $1}'.

Odpovědět

Používám mDNS / Bonjour, abych svému Pi dal místní název jako pi.local. Nepotřebuji znát jeho IP adresu a toto funguje pro zástupce a když potřebujete vložit odkaz …

Jak a proč přiřadit místní název vašeho Pi

Komentáře

  • Úžasné! Dříve jsem se pohrával s /etc/hosts lokálně pro získání této funkce na mém počítači, je to mnohem lepší řešení! Děkuji moc za ukazatel!

Odpovědět

Chcete-li k tomu použít aplikaci GUI, můžete použít nástroj Yakala ( https://github.com/mozcelikors/yakala ) pro Debian / Ubuntu. Tento nástroj vám pomůže nejen vyhledávat dostupné sítě typu B a typu C, ale také vám pomůže přímo SSH do sítě:

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

nebo

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

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

Zřeknutí se odpovědnosti: Jsem tvůrcem Yakaly. Jakékoli návrhy / chyby jsou brány velmi vážně.

Komentáře

  • Klasická síť byla opuštěna v roce 1993, což je velmi dávno.
  • Co je to prvotřídní síťování?

Odpověď

Ve výchozím nastavení je název maliny raspberrypi.Stačí „ping raspberrypi“ a odpověď ICMP na echo vám dá IP adresu. Fungovalo to pro mě. Ujistěte se, že je server DHCP dosažitelný, protože síťová karta maliny je ve výchozím nastavení v režimu klienta DHCP. Jinak malina získá adresu APIPA.

Odpovědět

V linuxu a MAC můžete také do terminálu zadat „arp – a“ a můžete získat seznam připojených zařízení, vyhledat zařízení s B8, například: 192.168.4.5 @ B8 … bude IP malina pi.

Odpověď

Používám bezplatnou Fing v mém smartphonu se systémem Android. Skenuje síť a zobrazuje připojená zařízení podle typu, včetně Raspberry Pi, a také skenuje dostupné porty. Je užitečné zjistit, zda jsou povoleny SSH, web nebo VNC a běží.

Odpověď

Nebo můžete přistupovat k routeru pomocí prohlížeče a najít zařízení Android – téměř každý GUI routeru má služba, kde můžete zkontrolovat všechna zařízení, která jsou aktuálně připojena k vaší síti.

Odpovědět

Pokud používáte MacOS, použijte PiFinder , je to aplikace, která vám sdělí IP adresu Raspberry Pi ve vaší síti.

Odpověď

Zkopírujte do svého Terminálu / Konzole / Shell následující:

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 

Přizpůsobte 192.168.1. vaší individuální síti.

výstup bude vypadat asi takto:

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

192.168.1.109 bude IP vaší Raspberry Pi … 🙂

Odpověď

Vložte to do souboru pi.php na váš webový server:

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

Možná budete muset vytvořit soubor pi na svém webovém serveru s oprávněními pro zápis pro svůj web server.

Vložte

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

do /etc/rc.local na své pi.

Získejte IP vašeho pi procházením http://yourwebserver/pi

odpověď

Při použití nové instalace NOOBS nebo Raspbian je výchozí název hostitele „raspberrypi“ a v některých sítích konfigurace ork (tj. pokud je mDNS používán a nakonfigurován) můžete použít „raspberrypi.local“. Další možností je spustit arp -a a vyhledat raspberrypi

POZNÁMKA: Toto nebude fungovat pro každou instanci.

Komentáře

  • Zdá se, že tato odpověď mísí několik věcí: různé verze IP, DNS a možná mDNS. Zda lze .local použít, obvykle ‚ t nezávisí na protokolu IPv6 a také na tom, zda je k dispozici router. Když je k dispozici podpora mDNS, pak pi-name.local vyřeší, IPv6 nebo ne. Některé domácí routery také používají .local jejich místní doména DNS, opět je nezávislá na protokolu IPv6 a závisí na modelu směrovače. Některé domácí směrovače používají různé domény, například pi-name.fritz.box.

Odpověď

Můj router přiděluje nově objeveným systémům postupně IP adresu od 192.168.1.2. Jednoho dne jsem prošel všemi systémy v domácnosti a rezervoval jim adresy.

Tímto způsobem, když vytvořím nový systém, je pravděpodobné, že jeho IP adresa bude 192 .169.1.18.

Další způsob použití sériové konzoly. K přihlášení do své malinové pí můžete použít program sériového terminálu. Navrhoval bych použít nastavení 8N1 (8 bitů, žádný paritní bit, 1 stop bit) s rychlostí (baud rate) 115 200. Budete potřebovat konektor USB na sériový (3V3).

Odpovědět

„Fing“ nebo „Net Analyzer“ v systému Android . Zobrazuje celou vaši síť.

Odpověď

Pokud používáte Windows, doporučuji tento skript vyzkoušet. Většinou na základě příkazu „arp -a“, ale ušetří vám další kopání a pomůže vám, když vaše Raspberry ještě není v tabulce Arp.

Vytvořte textový soubor s následujícím obsahem a přejmenujte jej jako 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 

Odmítnutí odpovědnosti :

  1. Nejsem autorem původního scénáře, jen jsem ho trochu upravil pro práci s Raspberry Pi. Bohužel nemohu najít původního přispěvatele.
  2. Není to neprůstřelné, nebude fungovat, pokud podsíť, která začne skenovat, není správná.

Přesto jsem ji použil mnohokrát a je to jednoduché řešení

Odpověď

V roce 2020 již přijatá odpověď nefunguje, protože Raspberry Pi je dodáván s jiným rozsahem MAC adres. Mohl bych jen přidat „nový“ MAC jako komentář, ale řetězec se mohl každý model znovu a znovu změnit. Tady je něco, co má větší budoucnost.

$ 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) 

Hlavní rozdíl výše: nepředpokládáme vzor MAC, pouze grep pro (shrnutí), protože tento štítek poskytuje nmap sám. Protože nmap je neustále aktualizován, obsahuje interní tabulky MAC adres Raspberry Pi (nebo k detekci používá jiná kritéria) a můžeme předpokládat který bude pokračovat v práci.

CAVEAT: Pokud váš sken neidentifikuje všechny PIS, o kterých víte, že jsou síť, pak opakujte skenování – až 10krát. Pi, který má síť Power Management:on, nemusí na skenování vždy reagovat.

Může být správa napájení problém pro vás, pokud skenujete více Pis v síti LAN, protože opakované skenování může detekovat jeden Pi, ale ne jiný . V takovém případě opakujte skenování a hledejte rozdíly . (Chcete-li ověřit, zda má Pi povolenou správu napájení, ssh na Pi a spusťte: /sbin/iwconfig wlan0|grep Management)

Answ er

Předpokládám, že se k vám nemůžete připojit PI, jinak znáte jeho IP.

Pokud přejdete na stránku routeru (obvykle něco jako 192.168.1.1 ve vašem prohlížeči) tam byste měli mít sekci s již připojenými zařízeními. Můžete zkusit připojit a odpojit PI (a jedno zařízení by se mělo objevit / zmizet ze seznamu)

Odpověď

Vyzkoušejte toto first:

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

Dva hexadecimální řetězce (b8:27:eb|dc:a6:32) v tomto příkazu odrážejí dva OUI hodnoty používané “ Nadací “ pro výrobu všech zařízení RPi – prostřednictvím RPi ver 4B od tohoto psaní. Pokud váš RPi není ve vaší arp mezipaměti tento příkaz nepřinese nic užitečného. Pokud tomu tak je, vytvořte ve svém oblíbeném editoru následující soubor a uložte / zapište jej jako 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" 

udělejte jej spustitelným a spusťte jej (zde použijte svoji síťovou adresu, ne nutně 192.168.1. ):

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

Vaše výsledky se mohou zobrazit následovně :

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] 

V tomto případě se název hostitele zobrazí s laskavým svolením mDNS. Pokud nemáte / nemáte „mDNS / avahi / atd. být nahrazen znakem: ?.

Odpověď

Raspbian používá a věc zvaná mDNS, která vám umožní přístup k vaší malině pi pomocí názvu hostitele raspberrypi.local.

Takže nemusíte „Už nemusíte hledat IP adresu, jednoduše se připojte takto:

ssh [email protected] 

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *