Jak uzyskać adres IP maszyny z systemem Unix?

13

Muszę znać adres IP maszyny z systemem UNIX. Mogę się do niego zalogować za pomocą ssh, ale nie znam adresu IP.

Czy ktoś może mi powiedzieć polecenie, aby uzyskać adres IP maszyny Unix, na której się zalogowałem?

Antoops
źródło
Powiązane: coffer.com/mac_info/locate-unix.html
RedGrittyBrick

Odpowiedzi:

5

wypróbuj ten kod, aby zobaczyć adres IP maszyny uniksowej

nslookup mach_name

źródło
12

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
Paul R.
źródło
4
Niektóre systemy UNIX nie opisują swoich interfejsów en0- bardziej ogólną odpowiedzią jest użycie ifconfig -a. Ponadto ifconfigplik binarny nie zawsze jest dostępny PATHdla zwykłych użytkowników, więc mogą potrzebować wypróbować różne inkantacje, takie jak /sbin/ifconfig -a, /etc/ifconfig -alub zalogować się jako root i spróbować ifconfig -a.
RedGrittyBrick
7

Użyj tego polecenia

host `hostname`

albo ten

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

Wyjaśnienie

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
Marc Mouries
źródło
5

Alternatywą ipconfigjest 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

David J. Liszewski
źródło
0

użyj ifconfigi wyszukaj inetczęść 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.

hvgotcodes
źródło