Frage Shell-Befehl zum Abrufen der IP-Adresse?


Gibt es einen Bash-Befehl, um die IP-Adresse für eine Ubuntu-Box zu finden? Ich muss die IP-Adresse finden, damit ich später in die Maschine ssh kann.


22
2017-07-27 18:19


Ursprung




Antworten:


/sbin/ifconfig -a


31
2017-07-27 18:20



Yup und wenn Sie planen, den Server remote zu verwalten, vi /etc/network/interfaces und setze die Schnittstelle auf static (sehen help.ubuntu.com/8.10/serverguide/C/network-configuration.html) - gravyface
Wenn Sie diesen Befehl ausführen, wird eine ganze Liste mit Zahlen angezeigt. Welchen sollten wir verwenden? Das inet addr? - ComputerScientist


Sie können verwenden:

/bin/ip addr

25
2017-07-28 22:12



@opierce Sie haben mpblochs Antwort als korrekt markiert, aber als FYI sollten Sie diese Antwort verwenden, da dies Teil der iproute2-Suite ist. ifconfig wird jetzt in Phase gebracht. - jwbensley
@javano Danke! - mpbloch
Sie können das kürzer machen, indem Sie einfach laufen ip a. - Gerald Kaszuba


Wenn Sie eine interne Adresse verwenden, prüfen Sie

curl http://myip.dnsomatic.com

könnte eine gute Idee für Unix-Shells sein.
Oder plump einfach diese URL in deinen Browser.


Wenn Sie eine andere Antwort von der bekommen "ifconfig -a"Ergebnis,
das ifconfig gab deine interne Adresse - die wird wahrscheinlich von außen nicht funktionieren.


Selbst wenn alles in Ordnung zu sein scheint, könnte eine Firewall vorhanden sein, die eingehende Nachrichten verbietet ssh Verbindungen.
Zu welcher Zeit sollten Sie den Port von Interesse von einem Browser auf der Maschine an versuchen,

http://www.canyouseeme.org/

Das wird die Konnektivität durch bestätigen,

  • externe IP-Adresse (wird Ihnen auf dieser Seite angezeigt)
  • NAT, Portforwards
  • Firewalls

19
2017-07-27 18:23



Richtig, aber wenn das der Fall ist, gibt es wahrscheinlich keine NAT / Port Forwarding-Regeln, die ssh mit der internen IP-Adresse übereinstimmen. - Kyle Brandt♦
@Kyle, die hinzugefügt werden können ... - nik
Ich wünschte ich wüsste diesen Befehl vorher! Vielen Dank - petrus
+1 für curl http://myip.dnsomatic.com - JatSing
Ähnlich ist das auch curl ifconfig.me - jwbensley


/bin/hostname -i


18
2018-04-28 13:19



In diesem Fall würde ich vorschlagen, zu verwenden hostname --all-ip-addresses. Zeigen Sie alle Netzwerkadressen des Hosts an. Diese Option listet alle konfigurierten Adressen auf allen Netzwerkschnittstellen auf. Die Loopback-Schnittstelle und die IPv6-Link-Local-Adressen werden weggelassen. Im Gegensatz zur Option -i hängt diese Option nicht von der Namensauflösung ab. Machen Sie keine Annahmen über die Reihenfolge der Ausgabe. - lrkwz
Kürzere Alternative zu @ lrkwz Kommentar /bin/hostname -I - hanxue
Danke @hanxue - das sollte eine Antwort sein - der kürzeste Befehl mit der saubersten Ausgabe - genau das, wonach ich gesucht habe! Nach meiner Erfahrung (Ubuntu) /bin/hostname -i gibt nur 127.0.1.1das ist nutzlos. - Roger Dueck


 curl icanhazip.com

T-Stück hee!

Von http://www.commandlinefu.com/commands/view/2966/return-external-ip


13
2017-08-12 07:15





/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

Wenn Sie Ihre interne Adresse benötigen, hängen Sie Ihre Schnittstelle nach ifconfig an, z.

 /sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'

8
2017-07-28 12:57



+1, das ist genau was ich benötigt, um ein Problem zu lösen. Hurra für Einzeiler! - J. Polfer
+1 Ohne den Kopf -1: / sbin / ifconfig | grep inet | sed 's / \: / /' | awk 'NR == 1 {Drucken $ 3}' - joeslice
Danke, es funktioniert auf Debian, aber auf OS X funktioniert es nicht und gibt etwas Müll zurück. Es wäre großartig, wenn wir mit einer Linie kommen könnten, die auf beiden basiert. Hier ist die Ausgabe von ifconfig unter OS X: gist.github.com/ssbarnea/5814657 - sorin


Wenn Sie sich hinter einem NAT befinden und die öffentliche IP-Adresse benötigen, verwenden Sie Folgendes:

wget -q -O - checkip.dyndns.org | sed -e 's /.Aktuelle IP-Adresse: // '-e' s / <.$ // '

genommen von: http://www.go2linux.org/what-is-my-public-ip-address-with-linux


6
2017-07-27 18:25





Wenn Sie die IP-Adresse Ihres Routers herausfinden müssen, können Sie diesen Befehl ausführen.

Dig + kurz myip.opendns.com @ 208.67.222.222 @ 208.67.220.220

Wenn Sie OpenDNS für Ihren DNS-Server verwenden, können Sie es wie folgt verkürzen:

dig + short myip.opendns.com

Sie können diesen Befehl auch verwenden.

Locke http://myip.dnsomatic.com

3
2017-07-28 04:24





Wenn Sie mehrere Schnittstellen haben, könnte es nützlich sein, die IP-Adresse anzugeben. wenn Sie die IPV4-Adresse der Schnittstelle 'eth0' wollen:

ip addr show dev eth0 | grep "inet " | awk '{ print $2 }' 

Wenn Sie IPV6-Adresse der Schnittstelle 'eth0' wollen:

ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }' 

Wenn Sie nach einer IP zwischen zwei gemeinsamen Schnittstellen eines Laptops suchen wollen, wlan0 und eth0:

CURRENT_IP=''
for INTERFACE in wlan0 eth0; do
    if [ -z $CURRENT_IP ]; then
        CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }')
    fi
done

3
2018-04-06 18:14





Hier ist eine Zeile, die auch unter Linux und OS X funktioniert und die erste Adresse zurückgibt, die nicht lokal ist:

ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'

Senden Sie Credits an https://stackoverflow.com/a/13322549/99834


2
2018-06-19 14:26





Einfach einrollen Seite:

$ curl wtfismyip.com/text


2
2018-03-29 20:12



Und wie genau ist das den in diesen Jahren bereits erwähnten ähnlichen Dienstleistungen überlegen? - Esa Jokinen