Найти Raspberry PI адрес в локальной сети

76

Мне нужно найти Raspberry PI IP-адрес в локальной сети без подключения Raspberry к монитору. Как мне это сделать в системах Linux или Mac OS?

Дж. Коста
источник
возможный дубликат SSH в
Raspberry
Приложение Lan Scan на смартфоне покажет все устройства в вашей сети.

Ответы:

90

MAC-адреса всех малиновых устройств начинались с B8: 27: EB .

Таким образом, в системах * nix это можно сделать, выполнив следующую команду:

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

где 192.168.1.*будет маска вашей локальной сети. Вы получите ответ вроде:

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

192.168.1.179 - это IP-адрес Raspberry Pi в вашей сети.

Если вы работаете в системе Mac , вы можете использовать Homebrew для установки nmap :

brew install nmap

В Windows вы можете использовать Wireshark и использовать следующий фильтр отображения:

eth.addr[0:3] == B8:27:EB
Дж. Коста
источник
2
Или с меньшим количеством труб:nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
Рипат
2
Спасибо @ripat, это намного более кратко - обновлено! Одна маленькая деталь, вам нужно работать от имени администратора, иначе nmap не будет отображать MAC-адрес.
Дж. Коста
3
Вам не понравится важность этого ответа, пока вы не попытаетесь найти ваш raspberrypi без головы в офисе, где IP-адреса распределяются по DHCP. Приветствия для этого @ripat
Ransom Anighoro
1
Этот ответ не сработал для меня, так как nmap не выплевывал имена хостов для меня. Тем не менее, это вдохновило меня на поиск открытых ssh-портов с помощью nmap, и это позволило мне найти pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 per post этого парня .
Росс Роджерс
не достаточно ли "sudo nmap -sP 192.168.1.0/24" (мне это надоело)?
Мариан Паджоцих
48

Если вы используете MacOS или Linux, попробуйте это:

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

На окнах вы можете использовать:

arp -a | findstr b8-27-eb
mrded
источник
3
Это решение намного быстрее, чем решение Nmap!
ryanm
Это решение работало для меня, в отличие от решения nmap, которое давало только часть списка.
Уилберт
7
Это покажет только хосты, которые вошли в ваши таблицы arp, поэтому иногда пропускает тихие. Это может помочь сделать сканирование Nmap один раз.
Джозеф Шиди
Возможно, но для меня это никогда не подводило. Кроме того, это легко с первой попытки.
amenthes
Спасибо за это. Я немного изменил его и использую arp -n | awk '/b8:27:eb/ {print $1}'сейчас.
0x01
8

Я использую mDNS / Bonjour, чтобы дать моему Pi локальное имя, например pi.local. Мне не нужно знать, что это IP-адрес, и это работает для ярлыков и когда вам нужно вставить ссылку ...

Как и зачем назначать местное имя вашему пи

dfowler7437
источник
Потрясающие! Я имел обыкновение возиться с /etc/hostsлокально, чтобы получить эту функциональность на моем рабочем столе, это НАМНОГО лучшее решение! Большое спасибо за указатель!
0x01
7

Если вы хотите использовать приложение с графическим интерфейсом для него, вы можете использовать Yakalaинструмент ( https://github.com/mozcelikors/yakala ) для Debian / Ubuntu. Этот инструмент помогает вам не только искать доступные сети типа B и типа C, но и напрямую подключаться к SSH:

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

или же

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

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

Отказ от ответственности: я создатель Yakala. Любые предложения / ошибки принимаются очень серьезно.

mozcelikors
источник
1
Классное общение было прекращено в 1993 году, что произошло очень давно.
Легкость гонок с Моникой
Что такое классная сеть?
Денис
6

По умолчанию имя малины - raspberrypi. Вы можете просто «ping raspberrypi», и эхо-ответ ICMP даст вам IP-адрес. Это сработало для меня. Убедитесь, что DHCP-сервер доступен, поскольку сетевая карта Raspberry по умолчанию работает в режиме DHCP-клиента. В противном случае малина получает адрес APIPA.

январь
источник
4

В linux и MAC вы также можете ввести «arp - a» в терминале и получить список подключенных устройств, найти устройство с B8, например: 192.168.4.5 @ B8 ... будет Raspberry Pi IP.

FreshTendrils
источник
3

Или вы можете получить доступ к вашему маршрутизатору через браузер и найти свое устройство Android - почти каждый графический интерфейс маршрутизатора имеет службу, где вы можете проверить все устройства, которые в данный момент подключены к вашей сети.

FLBKernel
источник
3

Если вы используете MacOS, используйте PiFinder , это приложение, которое сообщит вам IP Raspberry Pi в вашей сети.

FreshTendrils
источник
3

Я использую бесплатное приложение Fing в своем андроид смартфоне. Он сканирует сеть и показывает подключенные устройства по типу, включая Raspberry Pi, а также сканирует доступные порты. Удобно, чтобы увидеть, включены ли SSH, Интернет или VNC и работает ли он.

Tuxpilgrim
источник
2

Скопируйте следующее в свой терминал / консоль / оболочку:

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

Пожалуйста, адаптируйте 192.168.1. в вашу индивидуальную сеть.

Вывод будет выглядеть примерно так:

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

192.168.1.109 будет IP вашего Raspberry Pi ... :)

волк
источник
2

Поместите это в pi.php на вашем веб-сервере:

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

Возможно, вам придется создать файл pi на вашем веб-сервере с разрешениями на запись для вашего веб-сервера.

Ставить

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

в /etc/rc.local на вашем пи.

Получить IP вашего пи, просмотрев http: // yourwebserver / pi

darsie
источник
2

При использовании новой установки NOOBS или Raspbian именем хоста по умолчанию является «raspberrypi», и в некоторых конфигурациях сети (т. Е. Если mDNS используется и настроен) вы можете использовать «raspberrypi.local». Другой вариант - запустить arp -aи искать raspberrypi

ПРИМЕЧАНИЕ: это не будет работать для каждого экземпляра.

linuxgnuru
источник
Этот ответ, кажется, смешивает несколько вещей: разные версии IP, DNS и, возможно, mDNS. Возможность .localиспользования обычно не зависит от IPv6, а также от наличия маршрутизатора. Когда поддержка mDNS доступна, разрешается pi-name.local, IPv6 или нет. Некоторые домашние маршрутизаторы также используют .local в качестве локального домена DNS, опять же, это не зависит от IPv6 и зависит от модели маршрутизатора. Некоторые домашние маршрутизаторы используют разные домены, такие как pi-name.fritz.box.
TheDiveO
2

Мой маршрутизатор назначает вновь обнаруженным системам IP-адрес, начиная с 192.168.1.2, последовательно. Однажды я просмотрел все системы в моем доме и зарезервировал для них адреса.

Таким образом, когда я создаю новую систему, есть вероятность, что ее IP-адрес будет 192.169.1.18.

Еще один способ использования последовательной консоли. Вы можете использовать программу последовательного терминала, чтобы войти в свой raspberry pi. Я бы предложил использовать настройку 8N1 (8 бит, без контроля четности, 1 стоповый бит) со скоростью (скорость передачи данных) 115 200. Вам понадобится разъем USB к последовательному порту (3V3).

NomadMaker
источник
1

Я предполагаю, что вы не можете подключиться к вашему PI, иначе вы бы знали его IP.

Если вы перейдете на страницу вашего маршрутизатора (обычно что-то вроде 192.168.1.1 в вашем браузере), у вас должен быть раздел с уже подключенными устройствами. Вы можете попробовать подключить и отключить PI (и одно устройство должно появиться / исчезнуть из списка)

javirs
источник
1

«Fing» или «Net Analyzer» на Android. Показывает всю вашу сеть.

Энди Андерсон
источник