Odpowiedzi:
wypróbuj ten kod, aby zobaczyć adres IP maszyny uniksowej
nslookup mach_name
Możesz użyć ifconfig, aby uzyskać adres IP dowolnego interfejsu w systemie (pamiętaj, że może istnieć więcej niż jeden interfejs i więcej niż jeden adres IP).
Zacząć od:
$ ifconfig -a
en0
- bardziej ogólną odpowiedzią jest użycie ifconfig -a
. Ponadto ifconfig
plik binarny nie zawsze jest dostępny PATH
dla zwykłych użytkowników, więc mogą potrzebować wypróbować różne inkantacje, takie jak /sbin/ifconfig -a
, /etc/ifconfig -a
lub zalogować się jako root i spróbować ifconfig -a
.
host `hostname`
albo ten
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
Zacznij od nslookup
nslookup `hostname`
następnie wyszukaj „adres”
nslookup `hostname` | grep -i address
To zwróci coś w rodzaju
Address: 192.168.1.1#53
Address: 192.168.1.167
Teraz pobierzmy tylko adresy, wybierając drugą kolumnę tekstu. Mijamy „” jako separator pola
nslookup `hostname` | grep -i address | awk -F" " '{print $2}'
Pozbędziemy się części „# 53”, wybierając pierwszą kolumnę. Jako separator pola mijamy „#”
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}'
Ostatni adres to adres lokalny. Ogon pomoże nam go zdobyć.
nslookup `hostname` | grep -i address | awk -F" " '{print $2}' | awk -F# '{print $1}' | tail -n 1
Alternatywą ipconfig
jest ip(8)
sytuacja, w której dane wyjściowe można nieco zawęzić. Na przykład:
$ 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
Interfejs, który nie jest pętlą zwrotną (lo), jest tym, którego potrzebujesz: 172.31.39.10
użyj ifconfig
i wyszukaj inet
część wyniku. Uwaga: jeśli masz więcej niż jedną kartę sieciową (na przykład Ethernet i sieć bezprzewodowa), będzie więcej niż jeden wpis.