Jeg trenger å finne Raspberry PI IP-adressen på lokalt nettverk uten å koble Raspberry til en skjerm. Hvordan gjør jeg det på Linux- eller Mac OS-systemer?

Kommentarer

Svar

Alle bringebærenheters MAC-adresser startet med B8: 27: EB (for RPi4 B begynner de med dc:a6:32, erstatt der det er hensiktsmessig).

Så på * nix -systemer kan dette oppnås ved å utføre følgende kommando:

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

der 192.168.1.* vil være din lokale nettverksmaske. Du vil få et svar som:

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

192.168.1.179 er Raspberry Pi IP-adressen på nettverket ditt.

Hvis du er på et Mac -system kan du bruke Homebrew for å installere nmap :

brew install nmap 

Windows , du kan bruke Wireshark og bruke følgende skjermfilter:

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

Kommentarer

  • Eller med mindre rør: nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • Takk @ripat, det er mye mer kortfattet – oppdatert! En liten detalj, du må kjøre som administrator, ellers vil ikke nmap vise MAC-adressen.
  • Du vil ikke sette pris på viktigheten av dette svaret før du har prøvd å finne raspberrypi hodeløst i et kontor hvor IP ‘ s deles ut med DHCP. Skål for dette @ripat
  • Dette svaret fungerte ikke ‘ for meg siden nmap ikke ‘ t spyttet ut vertsnavn for meg. Imidlertid inspirerte det meg til å søke etter åpne ssh-porter med nmap, og det gjorde det mulig for meg å finne pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 per dette fyr ‘ innlegg .
  • isn ‘ t » sudo nmap -sP 192.168.1.0/24″ nok (det bekymret for meg)?

Svar

Hvis du kjører MacOS eller Linux, kan du prøve denne:

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

På Windows kan du bruk:

arp -a | findstr b8-27-eb 

På RPi 4B må du bruke en annen streng for sammenligning (dc:a6:32:be:95). sjekk det på RPi av

ip -br link 

Det vil være oppføringer for hvert nettverkskort. eth0 er kabel-internett, wlan0 er WiFi.

Kommentarer

  • Denne løsningen er mye raskere enn en nmap-løsning!
  • Denne løsningen fungerte for meg, i motsetning til th e nmap-løsning som bare ga en del av listen.
  • Dette viser bare verter som har gjort det til arp-tabellene dine, så noen ganger savner de stille. Det kan hjelpe å gjøre en nmap-skanning en gang først.
  • Det kan, men for meg mislyktes dette aldri. Pluss at det ‘ er et enkelt første forsøk.
  • Takk for dette. Jeg endret det litt og bruk arp -n | awk '/b8:27:eb/ {print $1}' nå.

Svar

Jeg bruker mDNS / Bonjour for å gi min Pi et lokalt navn som pi.local. Jeg trenger ikke å vite IP-adressen, og dette fungerer for snarveier, og når du trenger å legge inn en lenke …

Hvordan og hvorfor tilordne et lokalt navn til din Pi

Kommentarer

  • Kjempebra! Jeg pleide å fikle med /etc/hosts lokalt for å få denne funksjonaliteten på skrivebordet mitt, dette er MYE bedre løsning! Tusen takk for pekeren!

Svar

Hvis du vil bruke et GUI-program for det, kan du bruke Yakala verktøy ( https://github.com/mozcelikors/yakala ) for Debian / Ubuntu. Dette verktøyet hjelper deg ikke bare å søke etter tilgjengelige Type B- og Type C-nettverk, men hjelper deg også med å SSH direkte i nettverket:

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

eller

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

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

Ansvarsfraskrivelse: Jeg er skaperen av Yakala. Eventuelle forslag / feil tas veldig alvorlig.

Kommentarer

  • Klassisk nettverk ble forlatt i 1993, som er veldig lenge siden.
  • Hva er klassefullt nettverk?

Svar

Som standard er bringebærens navn raspberrypi.Du kan bare «pinge raspberrypi» og ICMP-ekkosvaret gir deg IP-adressen. Det fungerte for meg. Forsikre deg om at DHCP-serveren er tilgjengelig da bringebærens NIC er som standard i DHCP-klientmodus. Ellers får bringebæret en APIPA-adresse.

Svar

I Linux og MAC kan du også skrive inn «arp – a» i terminalen, og du kan få en liste over tilkoblede enheter, se etter den med B8 i, eksempel: 192.168.4.5 @ B8 … vil være bringebær-pi IP.

Svar

Jeg bruker gratis Fing -appen i min Android-smarttelefon. Den skanner nettverket og viser tilkoblede enheter etter type, inkludert Raspberry Pi, samt skanner tilgjengelige porter. Praktisk å se om SSH, web eller VNC er aktivert og kjører.

Svar

Eller du kan få tilgang til ruteren din via nettleser og finne Android-enheten din – nesten alle GUI-rutere har en tjeneste der du kan sjekke alle enhetene som for øyeblikket er koblet til nettverket ditt.

Svar

Hvis du kjører MacOS, bruker du PiFinder , det er et program som forteller deg IP-en til en Raspberry Pi på nettverket ditt.

Svar

Kopier følgende til terminalen / konsollen / skallet:

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 

Vennligst tilpass 192.168.1. til ditt individuelle nettverk.

utdata vil se ut slik:

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

192.168.1.109 ville være din Raspberry Pi sin IP … 🙂

Svar

Sett dette i pi.php på webserveren din:

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

Du må kanskje opprette filen pi på webserveren din med skrivetillatelser for nettet ditt server.

Sett

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

i /etc/rc.local på din pi.

Få IP av pi-en din ved å bla gjennom http://yourwebserver/pi

Svar

Når du bruker en ny installasjon av NOOBS eller Raspbian, er standard vertsnavn «raspberrypi» og i noen nettverk ork konfigurasjoner (dvs. hvis mDNS er i bruk og konfigurert) kan du bruke «raspberrypi.local». Et annet alternativ er å kjøre arp -a og se etter raspberrypi

MERK: Dette fungerer ikke for enhver forekomst.

Kommentarer

  • Svaret ser ut til å blande flere ting: forskjellige IP-versjoner, DNS og kanskje mDNS. Hvorvidt .local kan brukes, gjør vanligvis ikke ‘ t avhenger av IPv6, og heller ikke av å ha en ruter tilstede. Når mDNS-støtte er tilgjengelig, løser pi-name.local, IPv6 eller ikke. Noen hjemrutere bruker også .local deres lokale DNS-domene, igjen er dette uavhengig av IPv6 og avhenger av rutermodellen. Noen hjemme-rutere bruker forskjellige domener, for eksempel pi-name.fritz.box.

Svar

Ruteren min tildeler nyoppdagede systemer en ip-adresse fra og med 192.168.1.2. Jeg gikk en gang gjennom hvert system hjemme hos meg og reserverte adresser til dem.

På den måten når jeg oppretter et nytt system, er sjansen stor for at ip-adressen blir 192 .169.1.18.

En annen måte å bruke seriekonsollen på. Du kan bruke et serielt terminalprogram for å logge på bringebær-pi. Jeg foreslår at du bruker innstillingen 8N1 (8-bits, ingen paritetsbit, 1 stoppbit) med en hastighet (baudrate) på 115.200. Du trenger en USB til seriell (3V3) -kontakt.

Svar

«Fing» eller «Net Analyzer» på Android Viser hele nettverket ditt.

Svar

Hvis du bruker Windows, foreslår jeg at du prøver dette skriptet. Det er for det meste basert på «arp -a» -kommandoen, men det sparer deg litt ekstra graving og hjelper deg når bringebæret ditt ikke allerede er i Arp-tabellen.

Lag en tekstfil med følgende innhold og gi den nytt navn som 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 

Ansvarsfraskrivelser :

  1. Jeg er ikke forfatteren av det originale skriptet, jeg tilpasset det bare litt for å jobbe med en Raspberry Pi. Dessverre finner jeg ikke den opprinnelige bidragsyteren.
  2. Det er ikke skuddsikkert, det vil ikke fungere hvis undernettet det begynner å skanne ikke er riktig.

Likevel brukte jeg det mange ganger og det er en enkel løsning

Svar

I 2020 fungerer ikke det aksepterte svaret lenger fordi Raspberry Pi leveres med et annet utvalg av MAC-adresser. Jeg kunne bare lagt til den «nye» MAC-en som en kommentar, men strengen kunne endres igjen og igjen for hver modell. Her er noe som er mer fremtidssikkert.

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

Hovedforskjellen ovenfor: vi antar ikke et MAC-mønster, vi bare grep for (sammendraget), da denne etiketten er levert av nmap seg selv. Fordi nmap oppdateres kontinuerlig, inneholder den interne tabeller med Raspberry Pi MAC-adresser (eller bruker andre kriterier for å oppdage), og vi kan anta som vil fortsette å fungere.

CAVEAT: Hvis skanningen ikke identifiserer alle Pis du vet er på nettverket, og gjenta skanningen – opptil ti ganger. En Pi som har nettverk Power Management:on svarer kanskje ikke alltid på en skanning.

Strømstyring kan være et problem for deg hvis du skanner etter flere Pis på et LAN, da gjentatte skanninger kan oppdage en Pi, men ikke en annen . I så fall, gjenta skanningene og se etter forskjeller (For å bekrefte om en Pi har aktivert strømstyring, ssh til Pi og kjør: /sbin/iwconfig wlan0|grep Management)

Answ er

Jeg antar at du ikke kan koble deg til PI, ellers vet du IP-adressen.

Hvis du går til rutersiden din (vanligvis noe som 192.168.1.1 i nettleseren din) der bør du ha en seksjon med allerede tilkoblede enheter. Du kan prøve å plugge og koble fra PI (og en enhet skal vises / forsvinne fra listen)

Svar

Prøv dette først:

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

De to sekskantstrengene (b8:27:eb|dc:a6:32) i denne kommandoen gjenspeiler de to OUI verdier brukt av » Foundation » for produksjon av alle RPi-enheter – gjennom RPi ver 4B når dette skrives. Hvis RPi-en din ikke er «t i arp-cache denne kommandoen gir ikke noe nyttig. Hvis det er tilfelle, kan du opprette følgende fil i favorittredigereren og lagre / skrive den som 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" 

gjør det kjørbart, og kjør det (bruk nettverksadressen din her, ikke nødvendigvis 192.168.1. ):

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

Resultatene dine kan vises som følger :

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] 

I dette tilfellet vises vertsnavnet med tillatelse fra mDNS. Hvis du ikke har / ikke bruker mDNS / avahi / etc, vil vertsnavnet erstattes av tegnet: ?.

Svar

Raspbian bruker en ting som heter mDNS, som lar deg få tilgang til bringebær-pien din med et vertsnavn raspberrypi.local.

Så du gjør ikke «trenger ikke å søke etter en IP-adresse lenger, bare koble til slik:

ssh [email protected] 

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *