Encuentra la dirección de Raspberry PI en la red local

76

Necesito encontrar la dirección IP de Raspberry PI en la red local sin conectar la Raspberry a un monitor. ¿Cómo lo hago en sistemas Linux o Mac OS?

J. Costa
fuente
posible duplicado de SSH en frambuesa pi sin conocer la dirección IP
RPiAwesomeness
La aplicación de escaneo de LAN en teléfonos inteligentes mostrará todos los dispositivos en su red.

Respuestas:

90

Todas las direcciones MAC de los dispositivos de frambuesa comenzaron con B8: 27: EB .

Entonces, en los sistemas * nix , esto se puede lograr ejecutando el siguiente comando:

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

donde 192.168.1.*estará tu máscara de red local. Recibirá una respuesta como:

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

192.168.1.179 es la dirección IP de Raspberry Pi en su red.

Si está en un sistema Mac , puede usar Homebrew para instalar nmap :

brew install nmap

En Windows , puede usar Wireshark y el siguiente filtro de pantalla:

eth.addr[0:3] == B8:27:EB
J. Costa
fuente
2
O con menos tubos:nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
2014
2
Gracias @ripat, eso es mucho más conciso: ¡actualizado! Un pequeño detalle, debe ejecutarse como administrador o el nmap no mostrará la dirección MAC.
J. Costa
3
No agradecería la importancia de esta respuesta hasta que haya intentado localizar su raspberrypi sin cabeza en un entorno de oficina donde se distribuyen las IP mediante DHCP. Saludos para este @ripat
Voke Ransom Anighoro
1
Esta respuesta no funcionó para mí ya que nmap no estaba escupiendo los nombres de host para mí. Sin embargo, me inspiró a buscar puertos ssh abiertos con nmap y eso me permitió encontrar el pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 según la publicación de este chico .
Ross Rogers
¿no es suficiente "sudo nmap -sP 192.168.1.0/24" (me dolió)?
Marian Paździoch
48

Si está ejecutando MacOS o Linux, pruebe este:

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

En Windows, puede usar:

arp -a | findstr b8-27-eb
mrded
fuente
3
¡Esta solución es mucho más rápida que una solución nmap!
ryanm
Esta solución funcionó para mí, a diferencia de la solución nmap que dio solo una parte de la lista.
Wilbert
77
Esto solo mostrará los hosts que han llegado a sus tablas arp, por lo que a veces se pierden los silenciosos. Puede ser útil hacer un escaneo nmap una vez primero.
Joseph Sheedy
Podría, pero para mí esto nunca falló. Además, es un primer intento fácil.
amenthes
Gracias por esto. Lo modifiqué un poco y lo uso arp -n | awk '/b8:27:eb/ {print $1}'ahora.
0x01
8

Uso mDNS / Bonjour para darle a mi Pi un nombre local como pi.local. No necesito saber su dirección IP y esto funciona para accesos directos y cuando necesita incrustar un enlace ...

Cómo y por qué asignar un nombre local a su Pi

dfowler7437
fuente
¡Increíble! Solía ​​jugar /etc/hostslocalmente para obtener esta funcionalidad en mi escritorio, ¡esta es una solución MUCHO mejor! Muchas gracias por el puntero!
0x01
7

Si desea utilizar una aplicación GUI para ello, puede utilizar la Yakalaherramienta ( https://github.com/mozcelikors/yakala ) para Debian / Ubuntu. Esta herramienta lo ayuda no solo a buscar las redes de Tipo B y Tipo C disponibles, sino que también lo ayuda a SSH directamente en la red:

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

o

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

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

Descargo de responsabilidad: soy el creador de Yakala. Cualquier sugerencia / error se toma muy en serio.

mozcelikors
fuente
1
Las redes con clase se abandonaron en 1993, hace mucho tiempo.
Carreras de ligereza en órbita
¿Qué es la red con clase?
Denis
6

Por defecto, el nombre de la frambuesa es raspberrypi. Puede simplemente hacer 'ping raspberrypi' y la respuesta de eco ICMP le da la dirección IP. Funcionó para mi. Asegúrese de que el servidor DHCP sea accesible ya que la NIC de la frambuesa está por defecto en modo cliente DHCP. De lo contrario, la frambuesa obtiene una dirección APIPA.

ene
fuente
4

En Linux y MAC, también puede escribir "arp - a" en el terminal y puede obtener una lista de dispositivos conectados, busque el que tiene B8, por ejemplo: 192.168.4.5 @ B8 ... será el raspberry pi IP.

FreshTendrils
fuente
3

O bien, puede acceder a su enrutador a través del navegador y encontrar su dispositivo Android: casi todas las interfaces gráficas de enrutador tienen un servicio en el que puede verificar todos los dispositivos que están actualmente conectados a su red.

FLBKernel
fuente
3

Si ejecuta MacOS, use PiFinder , es una aplicación que le indicará la IP de un Raspberry Pi en su red.

FreshTendrils
fuente
3

Uso la aplicación gratuita Fing en mi teléfono inteligente Android. Escanea la red y muestra los dispositivos conectados por tipo, incluido Raspberry Pi, así como escanea los puertos disponibles. Práctico para ver si SSH, web o VNC están habilitados y en ejecución.

Tuxpilgrim
fuente
2

Copie lo siguiente en su Terminal / Consola / Shell:

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

Adapte 192.168.1. a su red individual.

La salida se verá así:

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

192.168.1.109 sería la IP de tu Raspberry Pi ... :)

Lobo
fuente
2

Ponga esto en pi.php en su servidor web:

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

Puede que tenga que crear el archivo pi en su servidor web con permisos de escritura para su servidor web.

Poner

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

en /etc/rc.local en tu pi.

Obtenga la IP de su pi navegando http: // yourwebserver / pi

darsie
fuente
2

Cuando se utiliza una nueva instalación de NOOBS o Raspbian, el nombre de host predeterminado es "raspberrypi" y en algunas configuraciones de red (es decir, si mDNS está en uso y configurado) puede usar "raspberrypi.local". Otra opción es correr arp -ay buscar raspberrypi

NOTA: Esto no funcionará para todas las instancias.

linuxgnuru
fuente
Esa respuesta parece mezclar varias cosas: diferentes versiones de IP, DNS y quizás mDNS. Si .localse puede usar generalmente no depende de IPv6, y tampoco de tener un enrutador presente. Cuando el soporte mDNS está disponible, se resuelve pi-name.local, IPv6 o no. Algunos enrutadores domésticos también usan .local como su dominio DNS local, de nuevo, esto es independiente de IPv6 y depende del modelo de enrutador. Algunos enrutadores domésticos utilizan diferentes dominios, como pi-name.fritz.box.
TheDiveO
2

Mi enrutador asigna a los sistemas recién descubiertos una dirección IP que comienza en 192.168.1.2, secuencialmente. Un día revisé todos los sistemas de mi casa y les reservé direcciones.

De esa manera, cuando creo un nuevo sistema, es probable que su dirección IP sea 192.169.1.18.

Otra forma de usar la consola en serie. Puede usar un programa de terminal en serie para iniciar sesión en su raspberry pi. Sugeriría usar el ajuste 8N1 (8 bits, bit sin paridad, 1 bit de parada) con una velocidad (velocidad de transmisión) de 115.200. Necesitará un conector USB a serie (3V3).

NomadMaker
fuente
1

Supongo que no puede conectarse a su PI, de lo contrario sabría su IP.

Si va a la página de su enrutador (generalmente algo así como 192.168.1.1 en su navegador), debería tener una sección con los dispositivos ya conectados. Puede intentar conectar y desconectar el PI (y un dispositivo debería aparecer / desaparecer de la lista)

javirs
fuente
1

'Fing' o 'Net Analyzer' en Android. Muestra toda tu red.

Andy Anderson
fuente