Preciso encontrar o endereço IP do Raspberry PI na rede local sem conectar o Raspberry a um monitor. Como faço isso em sistemas Linux ou Mac OS?

Comentários

Resposta

Todos os endereços MAC de dispositivos raspberry começaram com B8: 27: EB (para RPi4 B eles começam com dc:a6:32, substitua quando apropriado).

Então, em sistemas * nix , isso pode ser feito executando o seguinte comando:

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

onde 192.168.1.* será sua máscara de rede local. Você receberá uma resposta como:

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

O 192.168.1.179 é o endereço IP do Raspberry Pi em sua rede.

Se você for em um sistema Mac , você pode usar o Homebrew para instalar nmap :

brew install nmap 

No Windows , você pode usar o Wireshark e o seguinte filtro de exibição:

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

Comentários

  • Ou com menos tubos: nmap -sP 192.168.1.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
  • Obrigado @ripat, isso é muito mais conciso – atualizado! Um pequeno detalhe, você precisa executar como administrador ou o nmap não exibirá o endereço MAC.
  • Você não apreciaria a importância desta resposta até que tenha tentado localizar seu raspberrypi em um ambiente de escritório onde IP ‘ s são distribuídos usando DHCP. Parabéns por este @ripat
  • Esta resposta não ‘ funcionou para mim, pois o nmap não ‘ cuspiu o nomes de host para mim. No entanto, isso me inspirou a pesquisar portas ssh abertas com nmap e isso me permitiu encontrar o pi: sudo nmap -p 22 --open -sV 192.168.0.0/24 por este cara ‘ postagem .
  • isn ‘ t ” sudo nmap -sP 192.168.1.0/24″ o suficiente (era para mim)?

Resposta

Se você estiver executando MacOS ou Linux, tente este:

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

No Windows, você pode use:

arp -a | findstr b8-27-eb 

No RPi 4B, você precisa usar string diferente para comparação (dc:a6:32:be:95). Você pode verifique em seu RPi por

ip -br link 

Haverá entradas para cada placa de rede. eth0 é internet a cabo, wlan0 é o WiFi.

Comentários

  • Esta solução é muito mais rápida do que uma solução nmap!
  • Esta solução funcionou para mim, ao contrário do Solução e nmap que forneceu apenas parte da lista.
  • Isso mostrará apenas hosts que entraram em suas tabelas ARP, portanto, às vezes, perde os mais silenciosos. Pode ajudar fazer uma varredura de nmap primeiro.
  • Pode ajudar, mas para mim isso nunca falhou. Além disso, ‘ é uma primeira tentativa fácil.
  • Obrigado por isso. Modifiquei um pouco e uso arp -n | awk '/b8:27:eb/ {print $1}' agora.

Resposta

Eu uso o mDNS / Bonjour para dar ao meu Pi um nome local como pi.local. Não preciso saber seu endereço IP e isso funciona para atalhos e quando você precisa incorporar um link …

Como e por que atribuir um nome local para o seu Pi

Comentários

  • Incrível! Eu costumava brincar com /etc/hosts localmente para obter esta funcionalidade no meu desktop, esta é uma solução MUITO melhor! Muito obrigado pelo ponteiro!

Resposta

Se desejar usar um aplicativo GUI para isso, você pode usar a ferramenta Yakala ( https://github.com/mozcelikors/yakala ) para Debian / Ubuntu. Esta ferramenta ajuda você não apenas a pesquisar as redes Tipo B e Tipo C disponíveis, mas também ajuda a conectar o SSH diretamente na rede:

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

ou

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

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

Exoneração de responsabilidade: Eu sou o criador de Yakala. Quaisquer sugestões / bugs são levados muito a sério.

Comentários

  • A rede classful foi abandonada em 1993, há muito tempo.
  • O que é rede classfull?

Resposta

Por padrão, o nome do raspberry é raspberrypi.Você pode apenas “pingar raspberrypi” e a resposta de eco ICMP fornecerá o endereço IP. Funcionou para mim Certifique-se de que o servidor DHCP está acessível, pois o NIC do raspberry está, por padrão, no modo cliente DHCP. Caso contrário, o raspberry obtém um endereço APIPA.

Resposta

No linux e MAC, você também pode digitar “arp – a” no terminal e pode obter uma lista de dispositivos conectados, procure aquele com B8, exemplo: 192.168.4.5 @ B8 … será o IP do raspberry pi.

Resposta

Eu uso o Fing app em meu smartphone Android. Ele verifica a rede e mostra os dispositivos conectados por tipo, incluindo Raspberry Pi, bem como verifica as portas disponíveis. Útil para ver se SSH, web ou VNC estão ativados e em execução.

Resposta

Ou você pode acessar seu roteador via navegador e encontrar seu dispositivo Android – quase todo roteador GUI tem um serviço onde você pode verificar todos os dispositivos que estão atualmente conectados à sua rede.

Resposta

Se você executa o MacOS, use o PiFinder , é um aplicativo que informa o IP de um Raspberry Pi na sua rede.

Resposta

Copie o seguinte em seu Terminal / Console / 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. à sua rede individual.

O a saída terá a seguinte aparência:

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

192.168.1.109 seria o IP do seu Raspberry Pi “s … 🙂

Resposta

Coloque isso em pi.php em seu servidor web:

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

Você pode ter que criar o arquivo pi em seu servidor web com permissões de escrita para sua web servidor.

Coloque

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

em /etc/rc.local no seu pi.

Obtenha o IP do seu pi navegando na http://yourwebserver/pi

Resposta

Ao usar uma nova instalação do NOOBS ou Raspbian, o nome de host padrão é “raspberrypi” e em algumas redes configurações ork (ou seja, se o mDNS estiver em uso e configurado), você pode usar “raspberrypi.local”. Outra opção é executar arp -a e procurar raspberrypi

NOTA: Isso não funcionará para todas as instâncias.

Comentários

  • Essa resposta parece misturar várias coisas: diferentes versões de IP, DNS e talvez mDNS. Se .local pode ser usado, geralmente não ‘ t dependem de IPv6, e também de não ter um roteador presente. Quando o suporte mDNS está disponível, pi-name.local resolve, IPv6 ou não. Alguns roteadores domésticos também usam .local como seu domínio DNS local, novamente, isso é independente do IPv6 e depende do modelo do roteador. Alguns roteadores domésticos usam domínios diferentes, como pi-name.fritz.box.

Resposta

Meu roteador atribui aos sistemas recém-descobertos um endereço ip começando em 192.168.1.2, sequencialmente. Passei por todos os sistemas da minha casa um dia e reservei endereços para eles.

Dessa forma, quando eu criar um novo sistema, as chances são de que seu endereço IP será 192 .169.1.18.

Outra maneira de usar o console serial. Você pode usar um programa de terminal serial para fazer o login no seu raspberry pi. Eu sugeriria usar a configuração 8N1 (8 bits, sem bit de paridade, 1 bit de parada) com uma velocidade (taxa de transmissão) de 115.200. Você precisará de um conector USB para serial (3V3).

Resposta

“Fing” ou “Net Analyzer” no Android . Mostra toda a sua rede.

Resposta

Se você estiver no Windows, sugiro que experimente este script. É principalmente baseado no comando “arp -a”, mas economiza um pouco de escavação extra e ajuda você quando seu Raspberry ainda não está na tabela Arp.

Crie um arquivo de texto com o seguinte conteúdo e renomeie-o como 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 

Exoneração de responsabilidade :

  1. Não sou o autor do script original, apenas o adaptei um pouco para trabalhar com um Raspberry Pi. Infelizmente, não consigo encontrar o colaborador original.
  2. Não é à prova de balas, não funcionará se a sub-rede que começa a escanear não for a correta.

Mesmo assim, usei muitas vezes e é uma solução simples

Resposta

Em 2020, a resposta aceita não funciona mais porque o Raspberry Pi vem com um intervalo diferente de endereços MAC. Eu poderia apenas adicionar o “novo” MAC como um comentário, mas a string poderia mudar repetidamente a cada modelo. Aqui está algo mais à prova de 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) 

A principal diferença acima: não assumimos um padrão MAC, apenas grep pelo (resumo), já que este rótulo é fornecido por nmap em si. Como nmap é continuamente atualizado, ele contém tabelas internas de endereços MAC do Raspberry Pi (ou usa outros critérios para detectar) e podemos assumir que continuará funcionando.

CAVEAT: Se sua varredura não identificar todos os Pis que você sabe que estão ativados a rede e, em seguida, repita a varredura – até 10 vezes. Um Pi com rede Power Management:on pode nem sempre responder a uma varredura.

O gerenciamento de energia pode ser um problema para você se estiver escaneando por múltiplos Pis em uma LAN, já que varreduras repetidas podem detectar um Pi, mas não outro . Nesse caso, repita as varreduras para procurar diferenças . (Para confirmar se um Pi está com o Gerenciamento de energia habilitado, faça ssh para o Pi e execute: /sbin/iwconfig wlan0|grep Management)

Resposta er

Presumo que você não consiga se conectar ao seu PI, caso contrário, você saberia o seu IP.

Se você for à página do seu roteador (geralmente algo como 192.168.1.1 em seu navegador), você deve ter uma seção com os dispositivos já conectados. Você pode tentar conectar e desconectar o PI (e um dispositivo deve aparecer / desaparecer da lista)

Resposta

Tente isto primeiro:

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

As duas strings hexadecimais (b8:27:eb|dc:a6:32) neste comando refletem as duas Valores OUI usados por ” The Foundation ” para a produção de todos os dispositivos RPi – por meio de RPi ver 4B no momento desta escrita. Se o seu RPi não estiver em seu cache arp este comando não produzirá nada útil. Se for esse o caso, crie o seguinte arquivo em seu editor favorito e salve / grave-o 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" 

torne-o executável e execute-o (use seu endereço de rede aqui, não necessariamente 192.168.1. ):

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

Seus resultados podem aparecer da seguinte maneira :

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] 

Neste caso, o nome do host é cortesia de mDNS. Se você não tiver / não usar mDNS / avahi / etc, o nome do host irá ser substituído pelo caractere: ?.

Resposta

Raspbian está usando um algo chamado mDNS, que permite que você acesse seu pi framboesa por um nome de host raspberrypi.local.

Então, você não “não preciso mais pesquisar um endereço IP, basta conectar assim:

ssh [email protected] 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *