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.