Befehl zur Ermittlung meiner öffentlichen IP?

Wenn ich mit google nachsehe, kann ich meine öffentliche IP sehen. Gibt es etwas in der Ubuntu-Befehlszeile, das mir die gleiche Antwort liefert?

Lösung

Wenn Sie sich nicht hinter einem Router befinden, können Sie ihn mit ifconfig herausfinden.

Wenn Sie sich hinter einem Router befinden, kennt Ihr Computer die öffentliche IP-Adresse nicht, da der Router eine Netzwerkadressübersetzung vornimmt. Sie können eine Website nach Ihrer öffentlichen IP-Adresse fragen, indem Sie curl oder wget verwenden und die benötigten Informationen daraus extrahieren:


curl -s https://checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/
Kommentare (16)

Um die externe IP zu finden, können Sie entweder externe webbasierte Dienste oder systembasierte Methoden verwenden. Die einfachere Methode ist die Verwendung eines externen Dienstes, auch die ifconfig-basierten Lösungen werden in Ihrem System nur funktionieren, wenn Sie nicht hinter einem NAT sind.

Externe IP über externe Dienste finden

Der einfachste Weg ist die Verwendung eines externen Dienstes über einen Kommandozeilen-Browser oder ein Download-Tool. Da wget in Ubuntu standardmäßig verfügbar ist, können wir das verwenden.
Um Ihre IP zu finden, verwenden Sie-

$ wget -qO- https://ipecho.net/plain ; echo

Gutschrift:

Sie können auch lynx (Browser) oder curl anstelle von wget mit geringfügigen Änderungen des obigen Befehls verwenden, um Ihre externe IP zu finden.

Verwenden Sie curl, um die IP zu finden:

$ curl https://ipecho.net/plain

Für eine besser formatierte Ausgabe verwenden:

$ curl https://ipecho.net/plain ; echo

Eine schnellere (wohl die schnellste) Methode ist die Verwendung von dig mit OpenDNS als Resolver:

Die anderen Antworten hier gehen alle über HTTP zu einem entfernten Server. Einige von ihnen erfordern das Parsen der Ausgabe oder verlassen sich auf den User-Agent-Header um den Server dazu zu bringen, im Klartext zu antworten. Sie ändern sich auch ziemlich häufig (sie werden eingestellt, ändern ihren Namen, schalten Werbung, ändern möglicherweise Ausgabeformat usw.).

  1. das DNS-Antwortprotokoll ist standardisiert (das Format bleibt kompatibel).
  2. historisch gesehen überleben DNS-Dienste (OpenDNS, Google Public DNS, ...) in der Regel viel länger und sind stabiler, skalierbarer und allgemein gepflegter als jeder neue hippe whatismyip.com HTTP-Dienst, der heute angesagt ist.
  3. (für die Geeks, die sich für Mikro-Optimierung interessieren), sollte diese Methode von Natur aus schneller sein (und sei es nur um ein paar Mikrosekunden).

Verwendung von dig mit OpenDNS als Resolver:

$ dig +short myip.opendns.com @resolver1.opendns.com

111.222.333.444

Kopiert von: https://unix.stackexchange.com/a/81699/14497

Externe IP finden, ohne sich auf externe Dienste zu verlassen.

  • Wenn Sie den Namen Ihrer Netzwerkschnittstelle kennen

Geben Sie Folgendes in Ihr Terminal ein:

$ LANG=c ifconfig  | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'

Ersetzen Sie `durch den Namen Ihrer tatsächlichen Schnittstelle, z.B.eth0,eth1,pp0`, usw...

Benutzungsbeispiel:

$ LANG=c ifconfig ppp0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'
111.222.333.444
  • Wenn Sie den Namen Ihrer Netzwerkschnittstelle nicht kennen

Geben Sie Folgendes in Ihr Terminal ein (so erhalten Sie den Namen und die IP-Adresse jeder Netzwerkschnittstelle in Ihrem System):

$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'

Benutzungsbeispiel:

$ LANG=c ifconfig | grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'
lo: 127.0.0.1
ppp0: 111.222.333.444

N.B: Die Ausgaben sind indikativ und nicht real.

Mit freundlicher Genehmigung: https://www.if-not-true-then-false.com/2010/linux-get-ip-address/

UPDATE

  1. LANG=c wurde zu ifconfig basierten Verwendungen hinzugefügt, so dass es immer die englische Ausgabe gibt, unabhängig von der Locale-Einstellung.
Kommentare (10)

Die von mir verwendete ist :

wget -O - -q icanhazip.com

Ja, Sie können ip haben :-)

Kommentare (1)