Respostas:
tente este código para ver o endereço IP da máquina unix
nslookup mach_name
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
en0
- uma resposta mais geral é usar ifconfig -a
. Além disso, o ifconfig
binário nem sempre está disponível PATH
para usuários comuns, portanto, pode ser necessário tentar vários encantamentos, como /sbin/ifconfig -a
, /etc/ifconfig -a
ou fazer login como root e tentar ifconfig -a
.
host `hostname`
ou este
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
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
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
use ifconfig
e procure a inet
parte 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.