¿Cómo obtener la dirección IP de una máquina Unix?

13

Necesito saber la dirección IP de una máquina UNIX. Puedo iniciar sesión con ssh pero no sé la dirección IP.

¿Alguien puede decirme un comando para obtener la dirección IP de la máquina Unix en la que inicié sesión?

Antoops
fuente
Relacionado: coffer.com/mac_info/locate-unix.html
RedGrittyBrick

Respuestas:

5

pruebe este código para ver la dirección IP de la máquina unix

nslookup mach_name

fuente
11

Puede usar ifconfig para obtener la dirección IP de cualquiera de las interfaces en el sistema (tenga en cuenta que puede haber más de una interfaz y más de una dirección IP).

Empezar con:

 $ ifconfig -a
Paul R
fuente
44
Algunos sistemas UNIX no etiquetan sus interfaces en0; se debe utilizar una respuesta más general ifconfig -a. Además, el ifconfigbinario no siempre está disponible PATHpara usuarios comunes, por lo que es posible que necesiten probar varios encantamientos como /sbin/ifconfig -a, /etc/ifconfig -ao iniciar sesión como root y probar ifconfig -a.
RedGrittyBrick
7

Usa este comando

host `hostname`

o este

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1

Explicación

Comience con nslookup

nslookup `hostname`      

luego busque "dirección"

nslookup `hostname` | grep -i address

Esto devolverá algo como

Address:    192.168.1.1#53
Address: 192.168.1.167

Ahora recuperemos solo las direcciones seleccionando la segunda columna de texto. Pasamos "" como el separador de campo

nslookup `hostname` | grep -i address | awk -F" " '{print $2}'

Eliminaremos la parte "# 53" seleccionando la primera columna. Pasamos "#" como separador de campo

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'

La última dirección es la dirección local. La cola nos ayudará a conseguirlo.

nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
Marc Mouries
fuente
5

Una alternativa a ipconfiges ip(8)donde la salida se puede reducir un poco. Por ejemplo:

$ ip -f inet addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    inet 172.31.39.10/24 brd 172.31.39.255 scope global eth0

La interfaz que no es loopback (lo) es la que desea: 172.31.39.10

David J. Liszewski
fuente
0

use ifconfigy busque la inetparte de la salida. Tenga en cuenta que si tiene más de una tarjeta de red (Ethernet e inalámbrica, por ejemplo), habrá más de una entrada.

hvgotcodes
fuente