Czy możesz znaleźć adres IP Pi w sieci, w której go nie masz ” nie masz dostępu administratora (np. publicznego Wi-Fi)? Czy możesz to zrobić za pomocą samego Pi?
Odpowiedź
Na Samo Pi możesz znaleźć adres IP za pomocą ip addr
lub hostname -I
lub z graficznego interfejsu użytkownika Menedżera sieci (prawdopodobnie).
Oficjalna dokumentacja zawiera kilka wskazówek, jak znaleźć adres IP z innego miejsca w sieci, ale coś takiego jak ping raspberrypi.local
może być łatwiejsze do wypróbowania w pierwszej kolejności, w zależności od systemu operacyjnego, używając na innym urządzeniu i jeśli zmieniłeś ustawienia Pi.
Komentarze
- Dziękuję za te sugestie. Wypróbuję je.
- A tak przy okazji, sprawdź mój drugi pytanie na Dysku Google (możesz to zrobić przez mój profil)
Odpowiedz
Jeśli sieć lokalna jest mała (na przykład lokalny segment IPv4) lub znasz dokładną pulę adresów IP, które Cię interesują, możesz znaleźć otwarty port SSH w kilka sekund, używając nmap
:
nmap -sS -p 22 192.168.10.0/24
Komentarze
- Co się stanie, jeśli sieć jest ogromna? W inny sposób?
- @ Nadal możesz użyć tego samego polecenia, ale w zależności od tego, jak duża jest sieć, zajmie to więcej czasu. To ' jest jednak nadal szybsze niż czytanie stron administratora routera.
- Używałbym – najlepiej jako root:
nmap -n -sP 192.168.10.0/24
(przeszukiwanie pingów, brak rozpoznawania nazw), ponieważ usługa SSH może nie być aktywna na Raspberry PI. W rzeczywistości SSH jest wyłączone w domyślnej instalacji. Z drugiej strony Raspberry PI zwykle zawsze odpowiada na ping. Jeśli masz wiele maszyn w sieci, możesz również odfiltrować, patrząc na pierwszą połowę adresów MAC (DC: A6: 32 lub B8: 27: EB). To skanowanie nmap musi być wykonane z innego komputera w tej samej sieci.
Odpowiedź
Otwórz terminal i typ
ifconfig
Dane wyjściowe: Wyświetla adres IP sieci LAN , Wi-Fi itp.
Komentarze
-
ifconfig
jest przestarzałe. Lepszą radą jest użycieip addr
.
Odpowiedź
Jeśli masz dostęp do swojego Pi, możesz użyć tej odpowiedzi . Jeśli nie, użyj wiersza poleceń swojego laptopa / linux pc / mac. Niektóre z to nie będzie działać w systemie Windows, chyba że zainstalowałeś cygwin lub powłokę bash dla systemu Windows
Spróbuj najpierw:
$ arp -a | grep --ignore-case b8:27:eb
Jeśli otrzymasz taką odpowiedź, to jest Twój adres IP!
? (192.168.1.131) at b8: 27: eb: cd: 2f: ff on en0 ifscope [ethernet]
Jeśli nie, to twoje pi „s Pamięć podręczna arp nie ma adresu IP (szczegóły , jeśli jesteś zainteresowany ). Jednak nadal możemy go znaleźć za pomocą wyszukiwania „brute force”. Tam jest kilka sposobów wyszukiwania (np. nmap
), ale pokażę metodę za pomocą bash
„, ponieważ daje mi to możliwość poćwiczyć 🙂
Skopiuj poniższy kod do swojego edytora, zapisz go jako pingpong.sh
i nadaj mu wykonywalny:
#!/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
Uruchom skrypt, podając swój adres sieciowy jako jedyny argument (IP mojego Maca to 192.168.1.75 i wiem, że moje RPi jest w tej samej sieci):
$ ./pingpong.sh 192.168.1
Zwróć uwagę, że skrypt używa tego samego polecenia arp
, które próbowaliśmy wcześniej. Jeśli to nie zadziałało, to dlatego, że twojego Pi nie było w arp cache
twojego komputera. Jednakże, ponieważ teraz wysłaliśmy ping, znajduje się w arp cache
.