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
- posible duplicado de SSH en raspberry pi sin saber la dirección IP
- La aplicación de escaneo Lan en el teléfono inteligente mostrará todos los dispositivos en su red.
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
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 :
- 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.
- 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]