Wie erhalte ich die IP-Adresse eines Unix-Computers?


13

Ich muss die IP-Adresse eines UNIX-Computers kennen. Ich kann mich mit ssh anmelden, kenne aber die IP-Adresse nicht.

Kann mir bitte jemand einen Befehl geben, um die IP-Adresse des Unix-Computers abzurufen, bei dem ich mich angemeldet habe?


Antworten:


5

Versuchen Sie diesen Code, um die IP-Adresse des Unix-Computers anzuzeigen

nslookup mach_name

11

Sie können ifconfig verwenden , um die IP-Adresse einer der Schnittstellen im System abzurufen (beachten Sie, dass möglicherweise mehr als eine Schnittstelle und mehr als eine IP-Adresse vorhanden sind).

Beginnen mit:

 $ ifconfig -a

4
Einige UNIX-Systeme kennzeichnen ihre Schnittstellen nicht en0- eine allgemeinere Antwort ist die Verwendung ifconfig -a. Auch das ifconfigist binär nicht immer auf den PATHfür normale Benutzer , so dass sie benötigen können verschiedene Beschwörungen wie versuchen /sbin/ifconfig -a, /etc/ifconfig -aoder als root anmelden und versuchen ifconfig -a.
RedGrittyBrick

7

Verwenden Sie diesen Befehl

host `hostname`

oder dieses

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

Erläuterung

Beginnen Sie mit nslookup

nslookup `hostname`      

dann suchen Sie nach "Adresse"

nslookup `hostname` | grep -i address

Dies wird so etwas wie zurückgeben

Address:    192.168.1.1#53
Address: 192.168.1.167

Lassen Sie uns nun nur die Adressen abrufen, indem Sie die zweite Textspalte auswählen. Wir übergeben "" als Feldtrennzeichen

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

Wir werden den Teil "# 53" loswerden, indem wir die erste Spalte auswählen. Wir übergeben "#" als Feldtrennzeichen

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

Die letzte Adresse ist die lokale Adresse. Schwanz wird uns helfen, es zu bekommen.

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

5

Eine Alternative dazu ipconfigist, ip(8)wo die Ausgabe etwas eingeengt werden kann. Zum Beispiel:

$ 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

Die Schnittstelle, die kein Loopback (lo) ist, ist die gewünschte: 172.31.39.10


0

benutze ifconfigund suche den inetTeil der Ausgabe. Beachten Sie, dass bei mehr als einer Netzwerkkarte (z. B. Ethernet und WLAN) mehr als ein Eintrag vorhanden ist.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.