¿La forma más fácil de mostrar mi dirección IP?

62

Después de iniciar, ¿cuál es la forma más fácil de obtener y mostrar la dirección IP que el dispositivo está usando actualmente?
Estoy usando Raspbian, y ifconfigno parece estar instalado.

¿Hay widgets que muestren esta información en LXDE?

Zoot
fuente
44
Probablemente esté instalado; tienes que sudo ifconfig en Debian.
Alex Chamberlain el
Me estoy dando cuenta de eso ahora. Creo que me dañaron las sugerencias de la línea de comandos de Ubuntu. Lo comprobaré cuando lo vuelva a encender.
Zoot
Eso es una cosa bash, en lugar de Ubuntu. Creo que ifconfig se acaba de instalar con diferentes permisos.
Alex Chamberlain el
1
Sí, olvidé sudo. ifconfig se instala de manera predeterminada, pero aparece un error de comando no encontrado si no lo sudo. ¡Gracias!
Zoot
Mi Raspbian muestra la dirección IP justo antes de la solicitud de inicio de sesión.
Thorbjørn Ravn Andersen

Respuestas:

65

La familia de herramientas if, incluida ifconfig, está en desuso y se reemplaza por los comandos ip más nuevos para que pueda usar cualquiera de los siguientes desde la línea de comandos para determinar su dirección IP:

sudo ip addr show

o

sudo hostname --ip-address

o si aún desea usar ifconfig, y aún no está instalado

sudo apt-get install wireless-tools
sudo ifconfig -a
Steve Robillard
fuente
1
@jackweirdy, que son las herramientas más nuevas que están reemplazando las viejas herramientas if. Pruebe man ip para obtener más detalles.
Steve Robillard
1
aplausos por eso, aprendí algo nuevo hoy :)
jackweirdy
¿Existe un comando "arp" que le mostrará algo en línea con la dirección IP?
Piotr Kula
44
ip aes suficiente si desea obtener la dirección IP :)
Der Hochstapler
3
Ninguno de los comandos de pantalla realmente necesita permisos de sudo. Probablemente se muestre debido a un efecto secundario de configurar su ruta para incluir / sbin. Puede ejecutar /sbin/ifconfigo /sbin/ipcomo cualquier usuario normalmente.
XTL
12

También puedes usar este pequeño script de 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
fuente
99
Un poco exagerado, ¿no te parece? No tiene mucho sentido reemplazar los comandos de Linux existentes que logran lo mismo.
Jivings
2
@Jivings Un poco duro: es una respuesta, ¡eso funciona! (Digo sin probar ...) Podría ser la base de un widget en un escritorio, por ejemplo.
Alex Chamberlain el
1
@Bryan ¡Bienvenido a Stack Exchange y Raspberry Pi!
Alex Chamberlain el
1
@AlexChamberlain Lo siento, Bryan. Todavía no había
tomado
1
Esto incluso podría agregarse al servicio de mensajes que se ejecuta después del inicio de sesión para mostrar automáticamente la dirección IP junto con el mensaje startx. Entonces sería automático sin necesidad de escribir.
Steve Robillard
8

Como alternativa a la búsqueda de la dirección IP asignada de DHCP, he agregado una dirección IP reservada en mi enrutador / servidor DHCP. Coincide con la dirección MAC del Raspi y siempre asigna la misma dirección IP, incluso después de una nueva instalación del sistema operativo.

Ahora que Wheezy tiene SSH habilitado de forma predeterminada, significa que puedo iniciar sesión en una Raspberry Pi recién instalada sin necesidad de conectar un teclado o monitor.

Disculpas por no responder la pregunta directamente, pero parecía lo suficientemente relacionada como para sugerir.

Greg Woods
fuente
Si ayuda a las personas a encontrar formas fáciles de determinar la IP, estoy de acuerdo.
Zoot
7

Es posible que pueda verificar el estado / registros de DHCP en su servidor DHCP. Especialmente si está en tu red doméstica. En todos los enrutadores que he tenido, esto ha sido bastante fácil de encontrar.

Esto es útil si está ejecutando sin cabeza y solo quiere saber la dirección para ssh.

John La Rooy
fuente
@gnibbler +1 para abordar el problema para aquellos que no tienen cabeza. Hay que tener en cuenta que identificar qué dispositivo es el Pi puede ser complicado, ya que no siempre se identifica a través de la red y, por lo tanto, puede aparecer sin un nombre en la lista de dispositivos adjuntos. Este hilo raspberrypi.org/phpBB3/viewtopic.php?f=36&t=6998 tiene más información sobre el problema y la solución
Steve Robillard,
@SteveRobillard, el mío se identifica a sí mismo, pero también puede ayudar a alguien si ve que una dirección MAC comienza como b8:27:eb:xx:xx:xx, probablemente sea un RPi :)
John La Rooy
5

Lo que funcionó para mí:

sudo ifconfig

ya que ifconfigestaba ensbin/ifconfig

Matthieu Riegler
fuente
Si bien agradezco su respuesta, el comentario de Alex Chamberlain y la respuesta de Steve Robillard ya contienen esta información.
Zoot
5

Si desea ver su dirección IP externa, use esto en su línea de comando

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

Puede crear una función para que sea más fácil.

Edite su .bashrc y agregue la siguiente función al final del archivo.

Función para mostrar la dirección IP externa

Función para mostrar la dirección IP externa

Llamando a tu función desde cli

ingrese la descripción de la imagen aquí

Puede encontrar formas más interesantes de obtener su dirección IP en este enlace

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

andreskwan
fuente
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
fuente
2

Shea Silverman y Jacob Bates han creado recientemente una herramienta llamada PIP que le permite obtener la IP de su Raspberry Pi sin siquiera conectarla a una pantalla, ya que instala un script que envía su dirección IP a un servidor que puede visitar con su PC principal. Puede que no sea la mejor opción en todas las situaciones, pero es un truco muy inteligente.

Zoot
fuente
2

Baby script para devolver la dirección IP, funciona desde un indicador:

lista de direcciones ip | grep inet | grep -v 127.0.0 | corte -d "" -f 6 | cortar -d "/" -f 1

mutek el invitado
fuente
1

Sugiero que use Bonjour en lugar de tener que buscar la dirección IP. Deje que se asigne a través de DHCP y siempre que su PC esté en la misma red, puede acceder a ella por su nombre.

Por ejemplo .. raspberrypi.local

Una vez que se configura, puede ejecutar completamente sin cabeza, conectarse a la Pi con SSH o VNC, etc.

Aquí hay un artículo que explica cómo configurar Bonjour. http://www.raspberrypi.org/forums/viewtopic.php?f=66&t=18207

Tenga en cuenta que para una máquina Windows necesitará instalar el controlador de servicios de la impresora Apply Bonjour, algo pequeño ...

Para Mac y Ubuntu, Bonjour ya está allí.

dfowler7437
fuente
0

Solo para agregar algún suplemento aquí, la razón por la que es posible que no tenga ifconfig es porque su sistema probablemente esté usando el paquete iproute2. iproute2 incluye equivalentes actualizados de las antiguas suites ifconfig y route.

Traigo esto a colación porque si comienzas a probar comandos a los que estás acostumbrado con ifconfig o route, tu primer instinto podría ser instalar esos paquetes viejos en lugar de solo usar el equivalente más nuevo. Por ejemplo, si necesita usar netstat y darse cuenta de que falta, simplemente busque "iproute2 netstat equivalente" y debería encontrar el comando "ss". Para obtener más información y documentación, consulte el artículo de la Fundación Linux: http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2

codey
fuente
1
Agradezco su respuesta, pero tenía ifconfig instalado. Simplemente olvidé sudo antes del comando. Mira los comentarios debajo de la respuesta.
Zoot
1
Doh! Solo uso Arch y no ha usado ifconfig por un tiempo.
codey
No hay problema. También me dio un vuelco.
Zoot
Arugh, no necesitas sudo para ifconfig, solo necesitas llamar a la ruta completa ya que no está en tu $ PATH actualmente. whereis ifconfig le dará la ruta si es necesario; entonces puedes ejecutarlo desde allí. ¡sudo no es la respuesta!
djsmiley2k - CoW
0

Vi una variedad de respuestas. algunas las conocía y otras no. También hay uno que siempre uso y que aún no aparece en la lista. Si es así y lo extrañé, perdón.

sudo nombre de host -I

Pismurf
fuente
0

Un revestimiento con ifconfig y sed:

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

Reemplace wlan0 con la interfaz deseada.

bleater
fuente
-1
curl ipinfo.io 

funciona para mí tanto en Ubuntu como en Raspbian

usuario522843
fuente
Solo para aclarar a aquellos que podrían no estar al tanto: esta respuesta particular proporcionará la dirección IP externa (con conexión a Internet) del enrutador LAN o firewall en el que se encuentra la Raspberry Pi. No dará la dirección IP de LAN específica del Pi en sí. Esto podría ser útil para la resolución de problemas de Internet. Para obtener la dirección IP de LAN local como se hizo la pregunta, consulte las otras respuestas aquí en esta pregunta.
MrChips
-2

Creo que arp -aen Windows o Linux sería lo más simple una vez que su pi esté conectado a la red.

usuario44213
fuente
2
Me parece que esto da direcciones de otros sistemas, no el suyo. También tenga man arpen cuenta que actualmente comienza "Este programa está obsoleto".
Ricitos de oro
-3

No sé sobre LXDE. Para conocer la dirección IP de su dispositivo, visite el sitio Ip-Details.com . Aquí también proporcionarán la ubicación IP, la dirección del ISP, el país, etc.

usuario46126
fuente
3
Esto solo proporcionará una IP externa, no su IP interna.
Zoot