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?

Zoot
fonte
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
Steve Robillard
fonte
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'))
Bryan
fonte
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.

Greg Woods
fonte
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á.

John La Rooy
fonte
@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

Matthieu Riegler
fonte
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

Se você deseja ver seu endereço IP externo, use-o na sua linha de comando

enrolar http://ipecho.net/plain ; eco;

Você pode criar uma função para facilitar.

Edite seu .bashrc e adicione a seguinte função no final do arquivo.

Função para exibir o endereço IP externo

Função para exibir o endereço IP externo

Chamando sua função do cli

insira a descrição da imagem aqui

Você pode encontrar maneiras mais interessantes de obter seu endereço IP neste link

http://www.if-not-true-then-false.com/2010/linux-get-ip-address/

andreskwan
fonte
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
devpsp
fonte
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.

Zoot
fonte
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

mudok o convidado
fonte
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á.

dfowler7437
fonte
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

codey
fonte
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

Pismurf
fonte
0

Um liner com ifconfig e sed:

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

Substitua wlan0 pela interface desejada.

bleater
fonte
-1
curl ipinfo.io 

funciona para mim no Ubuntu e Raspbian

user522843
fonte
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.

user44213
fonte
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.

user46126
fonte
3
Isso fornecerá apenas um IP externo, não o seu IP interno.
Zoot