Muszę znaleźć adres IP Raspberry PI w sieci lokalnej bez podłączania Raspberry do monitora. Jak to zrobić w systemach Linux lub Mac OS?
Muszę znaleźć adres IP Raspberry PI w sieci lokalnej bez podłączania Raspberry do monitora. Jak to zrobić w systemach Linux lub Mac OS?
Odpowiedzi:
Wszystkie adresy MAC urządzeń malinowych zaczęły się od B8: 27: EB .
Tak więc w systemach * nix można to zrobić, wykonując następującą komendę:
sudo nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
gdzie 192.168.1.*
będzie twoja maska sieci lokalnej. Otrzymasz odpowiedź w rodzaju:
Nmap scan report for raspberrypi.localnetwork.lan (192.168.1.179)
192.168.1.179 to adres IP Raspberry Pi w twojej sieci.
Jeśli korzystasz z systemu Mac , możesz użyć Homebrew do zainstalowania nmap :
brew install nmap
W systemie Windows możesz użyć Wireshark i użyć następującego filtru wyświetlania:
eth.addr[0:3] == B8:27:EB
nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
sudo nmap -p 22 --open -sV 192.168.0.0/24
na postie tego faceta .
Jeśli korzystasz z systemu MacOS lub Linux, spróbuj tego:
$ arp -na | grep -i b8:27:eb
W systemie Windows możesz użyć:
arp -a | findstr b8-27-eb
arp -n | awk '/b8:27:eb/ {print $1}'
teraz.
Używam mDNS / Bonjour, aby nadać mojemu Pi lokalną nazwę, taką jak pi.local. Nie muszę wiedzieć, że to adres IP i działa to na skróty, a kiedy trzeba osadzić link ...
/etc/hosts
lokalnie, aby uzyskać tę funkcjonalność na pulpicie, jest to O wiele lepsze rozwiązanie! Dzięki bardzo za wskaźnik!
Jeśli chcesz do tego użyć aplikacji GUI, możesz użyć Yakala
narzędzia ( https://github.com/mozcelikors/yakala ) dla Debiana / Ubuntu. To narzędzie pomaga nie tylko wyszukiwać dostępne sieci typu B i typu C, ale także pomaga bezpośrednio połączyć SSH z siecią:
sudo add-apt-repository ppa:mozcelikors/yakala
sudo apt-get update
sudo apt-get install yakala
lub
git clone https://github.com/mozcelikors/yakala
cd yakala && sudo ./install.sh
Oświadczenie: Jestem twórcą Yakala. Wszelkie sugestie / błędy są traktowane bardzo poważnie.
Domyślnie nazwa maliny to raspberrypi. Możesz po prostu „pingować raspberrypi”, a odpowiedź echa ICMP podaje adres IP. To zadziałało dla mnie. Upewnij się, że serwer DHCP jest osiągalny, ponieważ karta sieciowa maliny domyślnie znajduje się w trybie klienta DHCP. W przeciwnym razie malina otrzyma adres APIPA.
W systemie Linux i MAC możesz także wpisać „arp-a” w terminalu i uzyskać listę podłączonych urządzeń, poszukaj urządzenia z B8, na przykład: 192.168.4.5 @ B8 ... raspberry pi IP.
Jeśli korzystasz z MacOS, użyj PiFinder , jest to aplikacja, która poda ci adres IP Raspberry Pi w twojej sieci.
Korzystam z bezpłatnej aplikacji Fing w moim smartfonie z Androidem. Skanuje sieć i pokazuje podłączone urządzenia według typu, w tym Raspberry Pi, a także skanuje dostępne porty. Przydatne, aby sprawdzić, czy SSH, sieć lub VNC są włączone i działają.
Skopiuj następujące elementy do terminala / konsoli / powłoki:
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
Proszę dostosować 192.168.1. do Twojej indywidualnej sieci.
Dane wyjściowe będą wyglądać mniej więcej tak:
(192.168.1.109) B8: 27: EE: DD: CC: A
192.168.1.109 to adres IP twojego Raspberry Pi… :)
Umieść to w pi.php na swoim serwerze internetowym:
<?php
$fp = fopen('pi', 'w');
fwrite($fp, $_REQUEST['ip'],1000);
fclose($fp);
?>
Konieczne może być utworzenie pliku pi na serwerze WWW z uprawnieniami do zapisu dla serwera WWW.
Położyć
curl http://yourwebserver/pi.php -d ip=`hostname -I`
w /etc/rc.local na twoim pi.
Uzyskaj adres IP swojej pi, przeglądając http: // yourwebserver / pi
W przypadku nowej instalacji NOOBS lub Raspbian domyślna nazwa hosta to „raspberrypi”, aw niektórych konfiguracjach sieciowych (tj. Jeśli mDNS jest używany i skonfigurowany), można użyć „raspberrypi.local”. Inną opcją jest uruchomienie arp -a
i poszukiwanie raspberrypi
UWAGA: To nie zadziała dla każdej instancji.
.local
można go użyć, zwykle nie zależy od IPv6, a także od obecności routera. Gdy dostępna jest obsługa mDNS, oznacza to, że pi-name.local rozwiązuje IPv6 lub nie. Niektóre domowe routery używają również .local jako lokalnej domeny DNS, ponownie jest to niezależne od IPv6 i zależy od modelu routera. Niektóre routery domowe używają różnych domen, na przykład pi-name.fritz.box.
Mój router przypisuje nowo odkrytym systemom adres IP zaczynający się od 192.168.1.2. Pewnego dnia przejrzałem wszystkie systemy w moim domu i zarezerwowałem dla nich adresy.
W ten sposób, kiedy tworzę nowy system, istnieje szansa, że jego adres IP to 192.169.1.18.
Kolejny sposób korzystania z konsoli szeregowej. Możesz użyć szeregowego programu terminalowego, aby zalogować się do swojego Raspberry Pi. Sugerowałbym użycie ustawienia 8N1 (8 bitów, brak bitu parzystości, 1 bit stopu) przy prędkości (szybkości transmisji) wynoszącej 115 200. Będziesz potrzebował złącza USB to serial (3V3).
Zakładam, że nie możesz połączyć się z tobą PI, w przeciwnym razie poznałbyś jego adres IP.
Jeśli przejdziesz na stronę routera (zwykle coś takiego jak 192.168.1.1 w przeglądarce), powinieneś mieć sekcję z już podłączonymi urządzeniami. Możesz spróbować podłączyć i odłączyć PI (a jedno urządzenie powinno pojawić się / zniknąć z listy)
„Fing” lub „Net Analyzer” na Androidzie. Pokazuje całą sieć.