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?

Comentarios

Responder

Todas las direcciones MAC de los dispositivos Raspberry comenzaron con B8: 27: EB (para RPi4 B comienzan con dc:a6:32, reemplácelo cuando corresponda).

Por lo tanto, en sistemas * nix , esto se puede lograr ejecutando el siguiente comando:

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

donde 192.168.1.* será su máscara de red local. Obtendrá 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 puedes usar Homebrew para instalar nmap :

brew install nmap 

En Windows , puede usar Wireshark y usar el siguiente filtro de visualización:

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

Comentarios

  • O con menos tuberías: nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • Gracias @ripat, eso es mucho más conciso – actualizado! Un pequeño detalle, necesita ejecutarlo como administrador o el nmap no mostrará la dirección MAC.
  • No apreciaría la importancia de esta respuesta hasta que haya intentado ubicar su raspberrypi sin pensar en un entorno de oficina donde Las IP ‘ se distribuyen mediante DHCP. Saludos por esto @ripat
  • Esta respuesta no ‘ no funcionó para mí ya que nmap no ‘ escupía 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 esto guy ‘ s publicación .
  • no es ‘ t » sudo nmap -sP 192.168.1.0/24″ ¿suficiente (me dolió)?

Responder

Si está ejecutando MacOS o Linux, pruebe este:

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

En Windows, puede use:

arp -a | findstr b8-27-eb 

En RPi 4B, debe usar una cadena diferente para la comparación (dc:a6:32:be:95). Puede compruébelo en su RPi

ip -br link 

Habrá entradas para cada tarjeta de red. eth0 es Internet por cable, wlan0 es el WiFi.

Comentarios

  • ¡Esta solución es mucho más rápida que una solución nmap!
  • Esta solución funcionó para mí, a diferencia de th e nmap solución que proporcionó solo una parte de la lista.
  • Esto solo mostrará los hosts que han ingresado en sus tablas arp, por lo que a veces se pierden los silenciosos. Podría ayudar hacer un escaneo de nmap una vez primero.
  • Podría, pero para mí esto nunca falló. Además, ‘ es un primer intento fácil.
  • Gracias por esto. Lo modifiqué ligeramente y uso arp -n | awk '/b8:27:eb/ {print $1}' ahora.

Responder

Utilizo mDNS / Bonjour para darle a mi Pi un nombre local como pi.local. No necesito saber su dirección IP y esto funciona para atajos y cuando necesitas incrustar un enlace …

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

Comentarios

  • ¡Genial! Solía jugar con /etc/hosts localmente para obtener esta funcionalidad en mi escritorio, ¡esta es una solución MUCHO mejor! ¡Muchas gracias por el puntero!

Responder

Si desea utilizar una aplicación GUI para ello, puede utilizar la herramienta Yakala ( https://github.com/mozcelikors/yakala ) para Debian / Ubuntu. Esta herramienta no solo le ayuda a buscar redes de tipo B y C disponibles, sino que también le ayuda a conectarse directamente con SSH a 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

Exención de responsabilidad: Soy el creador de Yakala. Cualquier sugerencia / error se toma muy en serio.

Comentarios

  • La creación de redes con clase se abandonó en 1993, que es hace mucho tiempo.
  • ¿Qué son las redes con clase?

Respuesta

Por defecto, el nombre de la frambuesa es raspberrypi.Puede simplemente «hacer ping a raspberrypi» y la respuesta de eco ICMP le da la dirección IP. Funcionó para mí. 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.

Respuesta

En Linux y MAC, también puede escribir «arp – a» en la terminal y puede obtener una lista de dispositivos conectados, busque el que tiene B8, ejemplo: 192.168.4.5 @ B8 … será la IP de la frambuesa pi.

Respuesta

Yo uso la Fing en mi teléfono inteligente Android. Escanea la red y muestra los dispositivos conectados por tipo, incluida Raspberry Pi, además de escanear los puertos disponibles. Útil para ver si SSH, web o VNC están habilitados y ejecutando.

Respuesta

O puede acceder a su enrutador a través del navegador y encontrar su dispositivo Android; casi todos los enrutadores GUI tienen un servicio donde puede verificar todos los dispositivos que están actualmente conectados a su red.

Respuesta

Si ejecutas MacOS, usa PiFinder , es una aplicación que te dirá la IP de una Raspberry Pi en tu red.

Respuesta

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.

El la salida se verá así:

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

192.168.1.109 sería la IP de su Raspberry Pi… 🙂

Respuesta

Pon esto en pi.php en tu servidor web:

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

Es posible que tengas que crear el archivo pi en tu servidor web con permisos de escritura para tu web servidor.

Pon

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

en /etc/rc.local en tu pi.

Obtén la IP de su pi navegando http://yourwebserver/pi

Respuesta

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

NOTA: Esto no funcionará para todas las instancias.

Comentarios

  • Esa respuesta parece mezclar varias cosas: diferentes versiones de IP, DNS y tal vez mDNS. El hecho de que .local se pueda usar generalmente no ‘ t depende de IPv6, y tampoco de tener un enrutador presente. Cuando el soporte mDNS está disponible, pi-name.local se resuelve, IPv6 o no. Algunos enrutadores domésticos también usan .local como su dominio DNS local, nuevamente esto es independiente de IPv6 y depende del modelo de enrutador. Algunos enrutadores domésticos usan dominios diferentes, como pi-name.fritz.box.

Respuesta

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

De esa forma, cuando creo un nuevo sistema, es probable que su dirección IP sea 192 .169.1.18.

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

Respuesta

«Fing» o «Net Analyzer» en Android . Muestra toda su red.

Respuesta

Si está en Windows, le sugiero que pruebe este script. basado en el comando «arp -a», pero te ahorra un poco de excavación adicional y te ayuda cuando tu Raspberry aún no está en la tabla Arp.

Crea un archivo de texto con el siguiente contenido y cámbiale el nombre a find_raspberry_pi.bat

@echo off :: This script, run from a Windows (10) machine, finds a Raspberry Pi on local network set raspIp= set myip= set subnet= :: Get IP for local PC for /f "tokens=1-2 delims=:" %%a in ("ipconfig^|find "IPv4"") do set myip=%%b set myip=%myip:~1% echo IP for local PC: %myip% :: Get subnet set subnet=%myip% setlocal enabledelayedexpansion for /l %%a in (1,1,31) do if NOT "!subnet:~-1!"=="." set subnet=!subnet:~0,-1! set subnet=%subnet:~0,-1% setlocal disabledelayedexpansion echo Subnet: %subnet% echo. :top :: Loop through arp table entries and look for Raspberry Pi"s MAC address for /f "tokens=1" %%f in ("arp -a ^| findstr b8-27-eb") do (set raspIp=%%f) if "%raspIp%"=="" ( echo Discovering network... :: Ping all IPs in subnet from 1 to 254 for /L %%N in (1,1,254) do start /b ping -n 1 -w 200 %subnet%.%%N >nul timeout 1 >nul goto :top ) else ( echo Found Raspberry PI with IP: %raspIp% ) echo. pause 

Renuncias de responsabilidad :

  1. No soy el autor del script original, solo lo adapté un poco para que funcione con una Raspberry Pi. Lamentablemente, no puedo encontrar el colaborador original.
  2. No es a prueba de balas, no funcionará si la subred que comienza a escanear no es la correcta.

Aún así, lo usé muchas veces y es una solución simple

Respuesta

En 2020, la respuesta aceptada ya no funciona porque la Raspberry Pi se envía con un rango diferente de direcciones MAC. Podría simplemente agregar el «nuevo» MAC como comentario, pero la cadena podría cambiar una y otra vez en cada modelo. Aquí hay algo que está más preparado para el futuro.

$ sudo nmap -sP 192.168.150.0/24 |grep "Raspberry Pi Trading" -B2 Nmap scan report for pi4-01.lan (192.168.150.186) Host is up (0.037s latency). MAC Address: DC:A6:32:1B:35:6A (Raspberry Pi Trading) 

La principal diferencia anterior: no asumimos un patrón MAC, solo hacemos grep para el (resumen), ya que esta etiqueta es proporcionada por nmap en sí mismo. Debido a que nmap se actualiza continuamente, contiene tablas internas de direcciones MAC de Raspberry Pi (o utiliza otros criterios para detectar) y podemos asumir que seguirá funcionando.

CAVEAT: Si su escaneo no identifica todos los Pis que sabe que están red, luego repita el escaneo – hasta 10 veces. Un Pi que tiene red Power Management:on puede no responder siempre a un escaneo.

La administración de energía puede un problema para usted si está escaneando múltiples Pis en una LAN, ya que los escaneos repetidos pueden detectar uno Pi pero no otro . En ese caso, repita los escaneos para buscar diferencias . (Para confirmar si una Pi tiene la administración de energía habilitada, ssh a la Pi y ejecute: /sbin/iwconfig wlan0|grep Management)

Answ er

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 como 192.168.1.1 en su navegador) allí 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)

Respuesta

Intente esto primero:

arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

Las dos cadenas hexadecimales (b8:27:eb|dc:a6:32) en este comando reflejan las dos Valores de OUI utilizados por » The Foundation » para la producción de todos los dispositivos RPi, a través de RPi ver 4B al momento de escribir este artículo. Si su RPi no está en su caché arp este comando no producirá nada útil. Si ese es el caso, cree el siguiente archivo en su editor favorito y guárdelo / escríbalo como pingpong.sh:

#!/bin/sh : ${1?"Usage: $0 ip subnet to scan. eg "192.168.1.""} subnet=$1 for addr in `seq 0 1 255 `; do ( ping -c 3 -t 5 $subnet$addr > /dev/null ) & done arp -a | grep -E --ignore-case "b8:27:eb|dc:a6:32" 

hágalo ejecutable y ejecútelo (use su dirección de red aquí, no necesariamente 192.168.1. ):

$ chmod 755 pingpong.sh $ ./pingpong.sh 192.168.1. 

Sus resultados pueden aparecer de la siguiente manera :

raspberrypi3b.local (192.168.1.131) at b8:27:eb:1:2:3 on en0 ifscope [ethernet] raspberrypi4b.local (192.168.1.184) at dc:a6:32:2:3:4 on en0 ifscope [ethernet] 

En este caso, el nombre de host aparece como cortesía de mDNS. Si no tiene / no usa mDNS / avahi / etc, el nombre de host ser reemplazado por el carácter: ?.

Respuesta

Raspbian está usando un algo llamado mDNS, que te permite acceder a tu raspberry pi con un nombre de host raspberrypi.local.

Entonces, no «Ya no es necesario buscar una dirección IP, solo conéctese así:

ssh [email protected] 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *