Kan du ta reda på IP-adressen till en Pi i ett nätverk där du inte ” t har adminåtkomst (t.ex. offentlig Wi-Fi)? Kan du göra detta via själva Pi?
Svar
På Pi själv kan du hitta IP-adressen med ip addr
eller hostname -I
kommandon eller från Network Manager GUI (troligtvis).
officiell dokumentation har några tips på hur du hittar IP-adressen någon annanstans i nätverket men något som ping raspberrypi.local
kan vara det enklare att försöka först, beroende på vilket operativsystem du använder använder på den andra enheten och om du ”har ändrat dina Pi-inställningar.
Kommentarer
- Tack för dessa förslag. Jag kommer att testa dem.
- Och förresten, kolla in min andra fråga på Google Drive (du kan göra det via min profil)
Svar
Om det lokala nätverket är litet (t.ex lokalt IPv4-segment) eller om du vet den exakta poolen av IP-adresser av intresse, kan du hitta en öppen SSH-port på några sekunder med nmap
:
nmap -sS -p 22 192.168.10.0/24
Kommentarer
Svar
Öppna terminalen och typ
ifconfig
Utgång: Den listar IP-adressen till LAN , Wifi etc.
Kommentarer
-
ifconfig
utfas. Du bör bättre råd att användaip addr
.
Svar
Om du har tillgång till din Pi kan du använda det här svaret . Om inte, använd kommandoraden på din bärbara dator / linux pc / mac. Några av detta kommer inte att fungera i Windows om du inte har installerat cygwin eller bash-skal för windows
Testa detta först:
$ arp -a | grep --ignore-case b8:27:eb
Om du får ett svar som ser ut så här finns din IP-adress!
? (192.168.1.131) vid b8: 27: eb: cd: 2f: ff på en0 ifscope [ethernet]
Om inte, då är dina pi ”s arp-cache har inte IP-adressen ( detaljer om du är intresserad ). Vi kan dock fortfarande hitta den med en ”brute force” -sökning. finns flera sätt att söka (t.ex. nmap
), men jag visar en metod med bash
”eftersom det ger mig en möjlighet för att öva 🙂
Kopiera följande till din redigerare, spara det som pingpong.sh
och gör det körbart:
#!/bin/sh : ${1?"Usage: $0 ip subnet to scan. eg "192.168.0.""} subnet=$1 for addr in `seq 0 1 255 `; do ( ping -c 3 -t 5 $subnet$addr > /dev/null ) & done arp -a | grep b8:27:eb
Kör skriptet med din nätverksadress som det enda argumentet (min macs IP är 192.168.1.75, och jag vet att min RPi finns i samma nätverk):
$ ./pingpong.sh 192.168.1
Observera att manuset använder samma arp
kommando som vi försökte tidigare. Om det inte fungerade då berodde det på att din Pi inte fanns i din dator s arp cache
. Eftersom vi nu har pingat det, är det i arp cache
.
nmap -n -sP 192.168.10.0/24
(ping-svep, ingen namnupplösning) eftersom SSH-tjänsten kanske inte är aktiv på Raspberry PI. Faktum är att SSH är inaktiverat vid en standardinstallation. Å andra sidan kommer Raspberry PI normalt alltid att svara på en ping. Om du har många maskiner i nätverket kan du också filtrera bort genom att titta på första hälften av MAC-adresserna (DC: A6: 32 eller B8: 27: EB). Denna nmap-skanning måste göras från en annan dator i samma nätverk.