Aktuelle IP-Adresse herausfinden
keine direkte Verbindung zum Internet
Verbindet man sich über ein Gateway oder einen NAT-Router mit dem Internet, kann man mit ifconfig
die öffentlich IP-Adresse nicht ermitteln. Hier werden einige Möglichkeiten gezeigt, wie man an die öffentliche IP-Adresse heran kommt.
über einen Browser
Eine Möglichkeit die IP-Adresse des Internetzuganges herauszufinden besteht darin, mit einem Browser o. ä. eine Webseite aufzurufen, welche die IP-Adresse des Benutzers anzeigt. Es sollte genügend solcher Seiten im Internet geben.
Hier einige Webseiten zur Auswahl:
- http://www.meine-aktuelle-ip.de/
- http://www.wieistmeineip.com/
- http://www.meineipanzeigen.de/
- http://ipecho.net/plain (liefert nur die IP als Plain-Text aus)
mit der Shell
Hier ist z. B. ein Befehl, der mit vielen Webseiten das gewünschte Ergebnis liefert (dazu muss wget installiert sein):
user@debian: wget http://www.wieistmeineip.de -U "" -qO - | egrep -o '[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}' | uniq
Als Ausgabe erhält man seine öffentliche IP-Adresse, die man dann an Skripte übergeben oder in einer Shell-Variable speichern kann.
Bei wget
muss evtl. mit dem Schalter -U
der User-Agent gesetzt werden. Statt wget
kann aber auch der Browser lynx mit dem Schalter -source
benutzt werden ;-)
PHP und eigener Webspace
Hat man gar eigenen Webspace mit PHP-Unterstützung, kann man dort auch folgendes Skript hinterlegen:
<?php
echo $_SERVER['REMOTE_ADDR'];
echo "\r\n"
?>
Die eigene öffentliche IP-Adresse kann man dann wie folgt abfragen:
user@debian: echo "`wget -qO - http://example.net/wie-ist-meine-ip.php`"
Man muss dabei example.net durch die Adresse des Webspace ersetzen.
HTTP-Server nginx
Hat man den HTTP-Server nginx installiert kann man folgende Konfiguration nutzen:
location = /ip {
default_type text/plain;
return 200 "$remote_addr\n";
}
direkte Verbindung zum Internet
Ist man direkt mit dem Internet verbunden, kann man folgende Befehle benutzen, um die IP-Adresse ohne Zusätze anzuzeigen.
user@debian:~$ ip addr show label "ppp[0-9]*" | awk '$2 ~ /^[0-9.\/]*$/ {print $2}'
user@debian:~$ ip addr show label eth1 | perl -nE 'say $1 if /inet ((\d+\.?){4})/'
Migration abgeschlossen: Dieser Artikel wurde vollständig aus dem alten Wiki migriert. |