Tìm địa chỉ Raspberry PI trên mạng cục bộ


76

Tôi cần tìm địa chỉ IP Raspberry PI trên mạng cục bộ mà không cần kết nối Raspberry với màn hình. Làm cách nào để thực hiện trên hệ thống Linux hoặc Mac OS?



Ứng dụng quét Lan trên điện thoại thông minh sẽ hiển thị tất cả các thiết bị trên mạng của bạn.

Câu trả lời:


90

Tất cả các thiết bị mâm xôi Địa chỉ MAC bắt đầu bằng B8: 27: EB .

Vì vậy, trên các hệ thống * nix , điều này có thể được thực hiện bằng cách thực hiện lệnh sau:

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

nơi 192.168.1.*sẽ là mặt nạ mạng địa phương của bạn. Bạn sẽ nhận được một câu trả lời như:

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

192.168.1.179 là địa chỉ IP Raspberry Pi trên mạng của bạn.

Nếu bạn đang sử dụng hệ thống Mac, bạn có thể sử dụng Homebrew để cài đặt nmap :

brew install nmap

Trên Windows , bạn có thể sử dụng Wireshark và sử dụng bộ lọc hiển thị sau:

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

2
Hoặc với ít đường ống hơn:nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
ripat

2
Cảm ơn @ripat, đó là ngắn gọn hơn rất nhiều - đã cập nhật! Một chi tiết nhỏ, bạn cần chạy với tư cách quản trị viên hoặc nmap sẽ không hiển thị địa chỉ MAC.
J. Costa

3
Bạn sẽ không đánh giá cao tầm quan trọng của câu trả lời này cho đến khi bạn đã cố gắng xác định vị trí raspberrypi của mình trong một thiết lập văn phòng nơi IP được sử dụng DHCP. Chúc mừng cho điều này @ripat
Voke Ransom Anighoro

1
Câu trả lời này không có tác dụng với tôi vì nmap không tiết lộ tên máy chủ cho tôi. Tuy nhiên, nó đã truyền cảm hứng cho tôi để tìm kiếm các cổng ssh mở bằng nmap và điều đó cho phép tôi tìm pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 theo bài đăng của anh chàng này .
Ross Rogers

"sudo nmap -sP 192.168.1.0/24" không đủ (nó phù hợp với tôi)?
Mary Paździoch

48

Nếu bạn đang chạy MacOS hoặc Linux, hãy thử cái này:

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

Trên cửa sổ, bạn có thể sử dụng:

arp -a | findstr b8-27-eb

3
Giải pháp này nhanh hơn nhiều so với giải pháp nmap!
ryanm

Giải pháp này hiệu quả với tôi, không giống như giải pháp nmap chỉ là một phần của danh sách.
Wilbert

7
Điều này sẽ chỉ hiển thị các máy chủ đã đưa nó vào bảng arp của bạn, vì vậy đôi khi bỏ lỡ các máy chủ yên tĩnh. Nó có thể giúp thực hiện quét nmap một lần đầu tiên.
Joseph Sheedy

Nó có thể, nhưng đối với tôi điều này không bao giờ thất bại. Thêm vào đó là lần thử đầu tiên dễ dàng.
amenthes

Cảm ơn vì điều đó. Tôi sửa đổi nó một chút và sử dụng arp -n | awk '/b8:27:eb/ {print $1}'ngay bây giờ.
0x01

8

Tôi sử dụng mDNS / Bonjour để đặt cho Pi của tôi một tên địa phương như pi.local. Tôi không cần biết địa chỉ IP của nó và điều này hoạt động cho các phím tắt và khi bạn cần nhúng một liên kết ...

Làm thế nào và tại sao để gán tên địa phương cho Pi của bạn


Tuyệt vời! Tôi đã từng nghịch ngợm với /etc/hostsđịa phương để có được chức năng này trên máy tính để bàn của mình, đây là một giải pháp tốt hơn! Cảm ơn rất nhiều cho con trỏ!
0x01

7

Nếu bạn muốn sử dụng ứng dụng GUI cho nó, bạn có thể sử dụng Yakalacông cụ ( https://github.com/mozcelikors/yakala ) cho Debian / Ubuntu. Công cụ này giúp bạn không chỉ tìm kiếm các mạng Loại B và Loại C có sẵn mà còn giúp bạn trực tiếp SSH vào mạng:

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

hoặc là

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

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

Tuyên bố miễn trừ trách nhiệm: Tôi là người tạo ra Yakala. Bất kỳ đề xuất / lỗi được thực hiện rất nghiêm túc.


1
Mạng lớp đã bị bỏ rơi vào năm 1993, đó là một thời gian dài trước đây.
Các cuộc đua nhẹ nhàng trong quỹ đạo

Mạng đẳng cấp là gì?
Denis

6

Theo mặc định, tên của quả mâm xôi là raspberrypi. Bạn chỉ có thể 'ping raspberrypi' và phản hồi tiếng vang ICMP cung cấp cho bạn địa chỉ IP. Nó làm việc cho tôi. Hãy chắc chắn rằng máy chủ DHCP có thể truy cập được vì mặc định NIC của mâm xôi ở chế độ máy khách DHCP. Nếu không, quả mâm xôi có được địa chỉ APIPA.


4

Trong linux và MAC, bạn cũng có thể nhập "arp - a" trong thiết bị đầu cuối và bạn có thể nhận được danh sách các thiết bị được kết nối, tìm kiếm thiết bị có B8 trong đó, ví dụ: 192.168.4.5 @ B8 ... sẽ là mâm xôi pi IP.


3

Hoặc bạn có thể truy cập vào Bộ định tuyến của mình thông qua trình duyệt và tìm thiết bị Android của mình - tối đa mọi GUI bộ định tuyến đều có dịch vụ nơi bạn có thể kiểm tra tất cả các thiết bị hiện đang kết nối với mạng của mình.


3

Nếu bạn chạy MacOS, hãy sử dụng Pi Downloader , đây là một ứng dụng sẽ cho bạn biết IP của Raspberry Pi trên mạng của bạn.


3

Tôi sử dụng ứng dụng Finger miễn phí trong điện thoại thông minh Android của mình. Nó quét mạng và hiển thị các thiết bị được kết nối theo loại, bao gồm Raspberry Pi, cũng như quét các cổng có sẵn. Tiện dụng để xem SSH, web hoặc VNC có được bật và chạy không.


2

Sao chép phần sau vào Terminal / Console / Shell của bạn:

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

Vui lòng thích ứng 192.168.1. vào mạng cá nhân của bạn.

Đầu ra sẽ trông giống như thế này:

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

192.168.1.109 sẽ là IP Raspberry Pi của bạn :)


2

Đặt cái này trong pi.php trên máy chủ web của bạn:

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

Bạn có thể phải tạo tệp pi trên máy chủ web của mình với quyền ghi cho máy chủ web của bạn.

Đặt

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

trong /etc/rc.local trên pi của bạn.

Nhận IP của pi của bạn bằng cách duyệt http: // yourwebserver / pi


2

Khi sử dụng bản cài đặt mới của NOOBS hoặc Raspbian, tên máy chủ mặc định là "raspberrypi" và trong một số cấu hình mạng (ví dụ: nếu mDNS đang được sử dụng và định cấu hình), bạn có thể sử dụng "raspberrypi.local". Một lựa chọn khác là chạy arp -avà tìm kiếm raspberrypi

LƯU Ý: Điều này sẽ không hoạt động cho mọi trường hợp.


Câu trả lời đó dường như trộn lẫn một số thứ: các phiên bản IP khác nhau, DNS và có thể là mDNS. Việc .localcó thể được sử dụng thường không phụ thuộc vào IPv6 và cũng không phụ thuộc vào bộ định tuyến. Khi hỗ trợ mDNS có sẵn thì pi-name.local sẽ giải quyết, IPv6 hay không. Một số bộ định tuyến gia đình cũng sử dụng .local làm miền DNS cục bộ của chúng, một lần nữa, điều này độc lập với IPv6 và phụ thuộc vào mô hình bộ định tuyến. Một số bộ định tuyến gia đình sử dụng các tên miền khác nhau, chẳng hạn như pi-name.fritz.box.
TheDiveO

2

Bộ định tuyến của tôi gán cho các hệ thống mới được phát hiện một địa chỉ IP bắt đầu từ 192.168.1.2, theo tuần tự. Tôi đã đi qua tất cả các hệ thống trong nhà của tôi một ngày và dành địa chỉ cho họ.

Theo cách đó khi tôi tạo một hệ thống mới, rất có thể địa chỉ IP của nó sẽ là 192.169.1.18.

Một cách khác để sử dụng bàn điều khiển nối tiếp. Bạn có thể sử dụng một chương trình thiết bị đầu cuối nối tiếp để đăng nhập vào pi mâm xôi của bạn. Tôi sẽ đề nghị sử dụng cài đặt 8N1 (8 bit, không có bit chẵn lẻ, 1 bit stop) với tốc độ (tốc độ truyền) là 115.200. Bạn sẽ cần một đầu nối USB để nối tiếp (3V3).


1

Tôi giả sử bạn không thể kết nối với PI của mình, nếu không bạn sẽ biết IP của nó.

Nếu bạn đi đến trang bộ định tuyến của mình (thường là một cái gì đó như 192.168.1.1 trong trình duyệt của bạn) thì bạn sẽ có một phần với các thiết bị đã được kết nối. Bạn có thể thử cắm và rút phích cắm PI (và một thiết bị sẽ xuất hiện / biến mất khỏi danh sách)


1

'Ngón tay' hoặc 'Phân tích mạng' trên Android. Hiển thị toàn bộ mạng của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.