Como obter o endereço IP de uma máquina Unix?

13

Eu preciso saber o endereço IP de uma máquina UNIX. Posso fazer login com ssh, mas não sei o endereço IP.

Alguém pode me dizer um comando para obter o endereço IP da máquina Unix na qual eu entrei?

Antoops
fonte
Relacionados: coffer.com/mac_info/locate-unix.html
RedGrittyBrick

Respostas:

5

tente este código para ver o endereço IP da máquina unix

nslookup mach_name

fonte
11

Você pode usar o ifconfig para obter o endereço IP de qualquer uma das interfaces no sistema (observe que pode haver mais de uma interface e mais de um endereço IP).

Começar com:

 $ ifconfig -a
Paul R
fonte
4
Alguns sistemas UNIX não rotulam suas interfaces en0- uma resposta mais geral é usar ifconfig -a. Além disso, o ifconfigbinário nem sempre está disponível PATHpara usuários comuns, portanto, pode ser necessário tentar vários encantamentos, como /sbin/ifconfig -a, /etc/ifconfig -aou fazer login como root e tentar ifconfig -a.
RedGrittyBrick
7

Use este comando

host `hostname`

ou este

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

Explicação

Comece com nslookup

nslookup `hostname`      

depois procure por "endereço"

nslookup `hostname` | grep -i address

Isso retornará algo como

Address:    192.168.1.1#53
Address: 192.168.1.167

Agora vamos recuperar apenas os endereços selecionando a segunda coluna de texto. Passamos "" como separador de campos

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

Vamos nos livrar da parte "# 53" selecionando a primeira coluna. Passamos "#" como separador de campos

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

O último endereço é o endereço local. A cauda nos ajudará a obtê-lo.

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

Uma alternativa ipconfigé ip(8)onde a saída pode ser um pouco reduzida. Por exemplo:

$ 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

A interface que não é loopback (lo) é a que você deseja: 172.31.39.10

David J. Liszewski
fonte
0

use ifconfige procure a inetparte da saída. Observe que se você tiver mais de uma placa de rede (ethernet e sem fio, por exemplo), haverá mais de uma entrada.

hvgotcodes
fonte