A maneira mais fácil de mostrar meu endereço IP?


62

Após a inicialização, qual é a maneira mais fácil de obter e exibir o endereço IP que o dispositivo está usando no momento?
Estou usando o Raspbian e ifconfignão parece estar instalado.

Existem widgets que exibem essas informações no LXDE?


4
Provavelmente está instalado; você precisa sudo ifconfig no Debian.
— Alex Chamberlain

Estou percebendo isso agora. Acho que fui estragado pelas dicas de linha de comando do Ubuntu. Vou dar uma olhada quando ligar novamente.
— Zoot

Isso é uma coisa bash, ao invés de uma coisa do Ubuntu. Eu acho que o ifconfig está instalado apenas com permissões diferentes.
— Alex Chamberlain

11
Sim, eu esqueci de sudo. O ifconfig é instalado por padrão, mas ele aparece com um erro de comando não encontrado, se você não o executa. Obrigado!
— Zoot

Meu Raspbian mostra o endereço IP imediatamente antes do prompt de login.
— Thorbjørn Ravn Andersen

Respostas:


65

A família if de ferramentas, incluindo ifconfig, está sendo descontinuada e substituída pelos comandos ip mais recentes, para que você possa usar qualquer um dos itens a seguir na linha de comando para determinar seu endereço IP:

sudo ip addr show

ou

sudo hostname --ip-address

ou se você ainda deseja usar o ifconfig e ainda não estiver instalado

sudo apt-get install wireless-tools
sudo ifconfig -a

11
@jackweirdy, que são as ferramentas mais recentes que estão substituindo as ferramentas if antigas. Tente man ip para mais detalhes.
— 9788 Steve Steve Robillard

11
vivas para que, aprendeu algo novo hoje :)
— jackweirdy

existe um comando "arp" que mostrará algo na linha do endereço IP?
— Piotr Kula

4
ip aé suficiente se você deseja obter o endereço IP :)
— Der Hochstapler

3
Nenhum dos comandos de exibição realmente precisa de permissões sudo. Provavelmente é mostrado devido ao efeito colateral de definir seu caminho para incluir / sbin. Você pode executar /sbin/ifconfigou /sbin/ipcomo qualquer usuário normalmente.
— XTL

12

Você também pode usar esse pequeno script python.

import socket

def get_local_ip_address(target):
  ipaddr = ''
  try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect((target, 8000))
    ipaddr = s.getsockname()[0]
    s.close()
  except:
    pass

  return ipaddr
print "Raspberry Pi - Local IP Address"
print(get_local_ip_address('10.0.1.1'))
print(get_local_ip_address('google.com'))

9
Um pouco exagerado, você não acha? Não faz muito sentido substituir os comandos Linux existentes que alcançam o mesmo.
— Jivings

2
@Jivings Bit dura - é uma resposta, que funciona! (Digo sem testar ...) Por exemplo, poderia ser a base de um widget em uma área de trabalho.
— Alex Chamberlain

11
Bem-vindo ao Stack Exchange e Raspberry Pi!
— Alex Chamberlain

11
@AlexChamberlain Desculpe Bryan. Não tinha tido meu café ainda este :) manhã
— Jivings

11
Isso pode até ser adicionado ao serviço de mensagens executado após o login para exibir automaticamente o endereço IP ao lado da mensagem startx. Então seria automático sem necessidade de digitação.
— 9788 Steve Steve Robillard

8

Como alternativa para encontrar o endereço IP atribuído ao DHCP, adicionei um endereço IP reservado no meu roteador / servidor DHCP. Ele corresponde ao endereço MAC do Raspi e sempre atribui o mesmo endereço IP - mesmo após uma nova instalação do sistema operacional.

Com o Wheezy agora com o SSH ativado por padrão, significa que posso fazer login em um Raspberry Pi recém-instalado sem precisar conectar um teclado ou monitor.

Desculpas por não ter respondido diretamente à pergunta, mas ela parecia intimamente relacionada o suficiente para sugerir.


Se ajudar as pessoas a encontrar maneiras fáceis de determinar o IP, eu sou a favor.
— Zoot

7

Você pode verificar o status / logs do DHCP no seu servidor DHCP. Especialmente se estiver na sua rede doméstica. Em todos os roteadores que possuo, isso foi bastante fácil de encontrar.

Isso é útil se você estiver sem cabeça e quiser apenas saber o endereço para o qual o ssh está.


@gnibbler +1 por resolver o problema para quem está sem cabeça. É importante observar que a identificação de qual dispositivo é o Pi pode ser complicada, pois nem sempre se identifica pela rede e, portanto, pode aparecer sem um nome na lista de dispositivos conectados. Esta discussão raspberrypi.org/phpBB3/viewtopic.php?f=36&t=6998 tem mais sobre o problema ea solução
— Steve Robillard

@SteveRobillard, a mina não se identificar, mas também pode ajudar alguém a se ver um endereço MAC começando como b8:27:eb:xx:xx:xx, provavelmente é um RPI :)
— John La Rooy

5

O que funcionou para mim:

sudo ifconfig

desde que ifconfigestava emsbin/ifconfig


Embora eu aprecie sua resposta, o comentário de Alex Chamberlain e a resposta de Steve Robillard já contêm essa informação.
— Zoot


5
$ host raspberrypi
raspberrypi has address 192.168.1.20

$ host raspberrypi | grep ‘address’ | cut -d’ ‘ -f4
192.168.1.20

$ nslookup 192.168.1.20
Server:  192.168.1.1
Address:    192.168.1.1#53
20.1.168.192.in-addr.arpa   name = raspberrypi.

$ nslookup 192.168.1.20 | grep ‘=’ | cut -d’ ‘ -f3
raspberrypi

2

Shea Silverman e Jacob Bates criaram recentemente uma ferramenta chamada PIP que permite obter o IP do seu raspberry pi sem sequer anexá-lo a uma tela, pois instala um script que envia seu endereço IP para um servidor que você pode visitar com o seu PC principal. Pode não ser a melhor opção em todas as situações, mas é um truque muito inteligente.


2

Baby script para retornar o endereço IP, funciona a partir de um prompt:

lista de endereços IP | grep inet | grep -v 127.0.0 | cut -d "" -f 6 | corte -d "/" -f 1


1

Sugiro que você use o Bonjour em vez de precisar encontrar o endereço IP. Deixe-o ser atribuído via DHCP e, enquanto o seu PC estiver na mesma rede, você poderá acessá-lo pelo nome.

Por exemplo .. raspberrypi.local

Uma vez configurado, você pode executar completamente sem cabeça, conectar-se ao Pi com SSH ou VNC, etc.

Aqui está um artigo explicando como configurar o Bonjour. http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207

Observe que, para uma máquina Windows, você precisará instalar o driver dos serviços de impressora Apply Bonjour, uma pequena coisa ...

Para Mac e Ubuntu, Bonjour já está lá.


0

Apenas para adicionar algum complemento aqui, o motivo pelo qual você talvez não tenha o ifconfig é porque seu sistema provavelmente está usando o conjunto iproute2. O iproute2 inclui equivalentes atualizados dos antigos pacotes ifconfig e route.

Estou falando disso porque se você começar a tentar comandos com os quais está acostumado com ifconfig ou route, seu primeiro instinto pode ser instalar esses pacotes antigos em vez de usar apenas o equivalente mais recente. Por exemplo, se você precisar usar o netstat e perceber que está faltando, basta pesquisar "iproute2 netstat equivalente" e você deve encontrar o comando "ss". Para leitura e documentação adicionais, consulte o artigo da Linux Foundation: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2


11
Agradeço sua resposta, mas eu tinha o ifconfig instalado. Eu apenas esqueci de sudo antes do comando. Confira os comentários abaixo da resposta.
— Zoot

11
Doh! Eu só uso o Arch e ele não usa o ifconfig por um tempo.
— Codec #

Sem problemas. Também me deu uma volta.
— Zoot

Você não precisa sudo para o ifconfig, basta chamar o caminho inteiro, pois ele não está atualmente no seu $ PATH. whereis ifconfig fornecerá o caminho, se necessário; então você pode executá-lo a partir daí. sudo não é a resposta!
— djsmiley2k - Cow

0

Eu vi uma variedade de respostas. alguns que eu conhecia e outros que eu não conhecia. Há também um que eu sempre uso que ainda não foi listado. Se tem e eu perdi oops desculpe.

sudo hostname -I


0

Um liner com ifconfig e sed:

sudo ifconfig wlan0 | sed -En -e 's/.*inet ([0-9.]+).*/\1/p'

Substitua wlan0 pela interface desejada.


-1
curl ipinfo.io 

funciona para mim no Ubuntu e Raspbian


Apenas para esclarecer aqueles que podem não estar cientes: Esta resposta específica fornecerá o endereço IP externo (voltado para a Internet) do roteador ou firewall da LAN em que o Raspberry Pi está. Não fornecerá o endereço IP da LAN específico do próprio Pi. Isso pode ser útil para solucionar problemas da Internet. Para obter o endereço IP da LAN local conforme a pergunta, procure as outras respostas aqui nesta pergunta.
— MrChips

-2

Acredito que arp -ano Windows ou no Linux seria o mais simples assim que o seu pi estiver conectado à rede.


2
Parece-me que isso fornece endereços de outros sistemas, não os seus. A observação também man arpcomeça no momento "Este programa está obsoleto".
— goldilocks

-3

Eu não sei sobre o LXDE. Para saber o seu endereço IP do seu dispositivo, visite o site Ip-Details.com . Aqui eles também fornecerão localização IP, endereço ISP, país etc.


3
Isso fornecerá apenas um IP externo, não o seu IP interno.
— Zoot
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.