Temukan alamat PI Raspberry di jaringan lokal

76

Saya perlu menemukan alamat IP Raspberry PI di jaringan lokal tanpa menghubungkan Raspberry ke monitor. Bagaimana saya melakukannya di sistem Linux atau Mac OS?

J. Costa
sumber
kemungkinan duplikat SSH ke raspberry pi tanpa mengetahui alamat ip
RPiAwesomeness
Aplikasi pemindaian Lan di ponsel pintar akan menampilkan semua perangkat di jaringan Anda.

Jawaban:

90

Semua perangkat raspberry Alamat MAC dimulai dengan B8: 27: EB .

Jadi, pada sistem * nix , ini dapat dilakukan dengan menjalankan perintah berikut:

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

di mana 192.168.1.*akan menjadi topeng jaringan lokal Anda. Anda akan mendapatkan jawaban seperti:

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

192.168.1.179 adalah alamat IP Raspberry Pi di jaringan Anda.

Jika Anda menggunakan sistem Mac, Anda dapat menggunakan Homebrew untuk menginstal nmap :

brew install nmap

Di Windows , Anda dapat menggunakan Wireshark dan menggunakan filter tampilan berikut:

eth.addr[0:3] == B8:27:EB
J. Costa
sumber
2
Atau dengan pipa lebih sedikit:nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
ripat
2
Terima kasih @ripat, itu jauh lebih ringkas - diperbarui! Satu detail kecil, Anda perlu menjalankan sebagai administrator atau nmap tidak akan menampilkan alamat MAC.
J. Costa
3
Anda tidak akan menghargai pentingnya jawaban ini sampai Anda telah mencoba untuk menemukan raspberrypi tanpa kepala di pengaturan kantor tempat IP dihabiskan menggunakan DHCP. Ceria untuk @ripat ini
Voke Ransom Anighoro
1
Jawaban ini tidak berfungsi untuk saya karena nmap tidak memuntahkan nama host untuk saya. Namun, itu mengilhami saya untuk mencari port ssh terbuka dengan nmap dan itu memungkinkan saya untuk menemukan pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 per postingan orang ini .
Ross Rogers
apakah "sudo nmap -sP 192.168.1.0/24" tidak cukup (itu buruk bagi saya)?
Marian Paździoch
48

Jika Anda menjalankan MacOS atau Linux, coba yang ini:

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

Di windows, Anda dapat menggunakan:

arp -a | findstr b8-27-eb
mrded
sumber
3
Solusi ini jauh lebih cepat daripada solusi nmap!
ryanm
Solusi ini bekerja untuk saya, tidak seperti solusi nmap yang hanya memberikan sebagian dari daftar.
Wilbert
7
Ini hanya akan menampilkan host yang berhasil masuk ke tabel arp Anda, jadi kadang-kadang melewatkan yang tenang. Mungkin membantu melakukan pemindaian nmap satu kali lebih dulu.
Joseph Sheedy
Mungkin, tetapi bagi saya ini tidak pernah gagal. Plus, ini merupakan percobaan pertama yang mudah.
amenthes
Terima kasih untuk ini. Saya memodifikasinya sedikit dan gunakan arp -n | awk '/b8:27:eb/ {print $1}'sekarang.
0x01
8

Saya menggunakan mDNS / Bonjour untuk memberi Pi saya nama lokal seperti pi.local. Saya tidak perlu tahu itu alamat IP dan ini berfungsi untuk pintasan dan ketika Anda perlu menyematkan tautan ...

Bagaimana dan Mengapa menetapkan nama lokal untuk Pi Anda

dfowler7437
sumber
Luar biasa! Saya terbiasa bermain-main dengan /etc/hostslokal untuk mendapatkan fungsi ini di desktop saya, ini adalah solusi yang JAUH lebih baik! Terima kasih banyak untuk penunjuknya!
0x01
7

Jika Anda ingin menggunakan aplikasi GUI untuk itu, Anda dapat menggunakan Yakalaalat ( https://github.com/mozcelikors/yakala ) untuk Debian / Ubuntu. Alat ini membantu Anda tidak hanya mencari jaringan Tipe B dan Tipe C yang tersedia, tetapi juga membantu Anda mengarahkan SSH ke jaringan:

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

atau

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

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

Penafian: Saya adalah pencipta Yakala. Setiap saran / bug dianggap sangat serius.

mozcelikors
sumber
1
Jejaring Classful ditinggalkan pada tahun 1993, yang sudah sangat lama.
Lightness Races dalam Orbit
Apa itu jaringan classfull?
Denis
6

Secara default nama raspberry adalah raspberrypi. Anda bisa 'ping raspberrypi' dan balasan gema ICMP memberi Anda alamat IP. Itu berhasil untuk saya. Pastikan meskipun server DHCP dapat dijangkau karena NIC raspberry secara default dalam mode klien DHCP. Kalau tidak, raspberry mendapatkan alamat APIPA.

jan
sumber
4

Di linux dan MAC, Anda juga dapat mengetikkan "arp - a" di terminal dan Anda bisa mendapatkan daftar perangkat yang terhubung, cari yang dengan B8 di dalamnya, contoh: 192.168.4.5 @ B8 ... akan menjadi raspberry pi IP.

FreshTendrils
sumber
3

Atau Anda dapat mengakses Router Anda melalui peramban dan menemukan perangkat android Anda - hampir setiap router GUI memiliki layanan di mana Anda dapat memeriksa semua perangkat yang saat ini terhubung ke jaringan Anda.

FLBKernel
sumber
3

Jika Anda menjalankan MacOS, gunakan PiFinder , ini adalah aplikasi yang akan memberi tahu Anda IP Raspberry Pi di jaringan Anda.

FreshTendrils
sumber
3

Saya menggunakan aplikasi Fing gratis di smartphone Android saya. Ini memindai jaringan dan menunjukkan perangkat yang terhubung berdasarkan jenis, termasuk Raspberry Pi, serta memindai port yang tersedia. Berguna untuk melihat apakah SSH, web, atau VNC diaktifkan dan berjalan.

Tuxpilgrim
sumber
2

Salin yang berikut ini ke Terminal / Konsol / Shell Anda:

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

Silakan adaptasi 192.168.1. ke jaringan pribadi Anda.

Outputnya akan terlihat seperti ini:

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

192.168.1.109 akan menjadi IP Raspberry Pi Anda… :)

Serigala
sumber
2

Letakkan ini di pi.php di server web Anda:

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

Anda mungkin harus membuat file pi di server web Anda dengan izin tulis untuk server web Anda.

Taruh

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

di /etc/rc.local di pi Anda.

Dapatkan IP pi Anda dengan menjelajahi http: // server web / pi Anda

darsie
sumber
2

Saat menggunakan instalasi baru NOOBS atau Raspbian, nama host default adalah "raspberrypi" dan dalam beberapa konfigurasi jaringan (yaitu jika mDNS sedang digunakan dan dikonfigurasi) Anda bisa menggunakan "raspberrypi.local". Pilihan lain adalah menjalankan arp -adan mencari raspberrypi

CATATAN: Ini tidak akan berfungsi untuk setiap contoh.

linuxgnuru
sumber
Jawaban itu tampaknya mencampur beberapa hal: versi IP yang berbeda, DNS, dan mungkin mDNS. Apakah .localdapat digunakan biasanya tidak tergantung pada IPv6, dan juga tidak memiliki router. Ketika dukungan mDNS tersedia maka pi-name.local menyelesaikan, IPv6 atau tidak. Beberapa router rumah juga menggunakan .local sebagai domain DNS lokal mereka, sekali lagi ini tidak tergantung pada IPv6 dan tergantung pada model router. Beberapa router rumah menggunakan domain yang berbeda, seperti pi-name.fritz.box.
TheDiveO
2

Router saya memberikan sistem ip-address yang baru ditemukan mulai 192.168.1.2 secara berurutan. Saya melewati setiap sistem di rumah saya suatu hari dan memesan alamat untuk mereka.

Dengan begitu ketika saya membuat sistem baru, kemungkinan alamat ipnya adalah 192.169.1.18.

Cara lain untuk menggunakan konsol serial. Anda dapat menggunakan program terminal serial untuk masuk ke raspberry pi Anda. Saya akan menyarankan menggunakan pengaturan 8N1 (8-bit, tanpa bit paritas, 1 stop bit) dengan kecepatan (baud rate) 115.200. Anda akan membutuhkan konektor USB ke serial (3V3).

Pembuat Nomad
sumber
1

Saya berasumsi Anda tidak dapat terhubung ke PI Anda, jika tidak, Anda akan tahu IP-nya.

Jika Anda masuk ke halaman router Anda (biasanya sekitar 192.168.1.1 di browser Anda) di sana Anda harus memiliki bagian dengan perangkat yang sudah terhubung. Anda dapat mencoba menyambungkan dan mencabut PI (dan satu perangkat akan muncul / menghilang dari daftar)

Julius
sumber
1

'Fing' atau 'Net Analyzer' di Android. Menunjukkan seluruh jaringan Anda.

Andy Anderson
sumber