Devo conoscere l'indirizzo IP di una macchina UNIX. Posso accedere ad esso con SSH ma non conosco l'indirizzo IP.
Qualcuno può dirmi un comando per ottenere l'indirizzo IP della macchina Unix a cui ho effettuato l'accesso?
Devo conoscere l'indirizzo IP di una macchina UNIX. Posso accedere ad esso con SSH ma non conosco l'indirizzo IP.
Qualcuno può dirmi un comando per ottenere l'indirizzo IP della macchina Unix a cui ho effettuato l'accesso?
Risposte:
prova questo codice per vedere l'indirizzo IP della macchina unix
nslookup mach_name
È possibile utilizzare ifconfig per ottenere l'indirizzo IP di una qualsiasi delle interfacce sul sistema (si noti che potrebbe esserci più di un'interfaccia e più di un indirizzo IP).
Iniziare con:
$ ifconfig -a
en0
- una risposta più generale è usare ifconfig -a
. Inoltre, il ifconfig
binario non è sempre PATH
attivo per gli utenti ordinari, quindi potrebbe essere necessario provare vari incantesimi come /sbin/ifconfig -a
, /etc/ifconfig -a
o accedere come root e provare ifconfig -a
.
host `hostname`
o questo
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
Inizia con nslookup
nslookup `hostname`
quindi cerca "indirizzo"
nslookup `hostname` | grep -i address
Questo restituirà qualcosa di simile
Address: 192.168.1.1#53
Address: 192.168.1.167
Ora recuperiamo solo gli indirizzi selezionando la seconda colonna di testo. Passiamo "" come separatore di campo
nslookup `hostname` | grep -i address | awk -F" " '{print $2}'
Ci libereremo della parte "# 53" selezionando la prima colonna. Passiamo "#" come separatore di campo
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'
L'ultimo indirizzo è l'indirizzo locale. La coda ci aiuterà a ottenerlo.
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
Un'alternativa a ipconfig
è ip(8)
dove l'output può essere in qualche modo ristretto. Per esempio:
$ 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
L'interfaccia che non è loopback (lo) è quella che desideri: 172.31.39.10
usa ifconfig
e cerca la inet
parte dell'output. Nota se hai più di una scheda di rete (Ethernet e wireless per esempio) ci sarà più di una voce.