WAN IP per PHP ermitteln

Michael Bieri

Angesehenes Mitglied
Hat jemand gerade eine Variante (unter PHP) auf Lager, wie ich sicher die aktuelle IP des WAN's ermittle?

Edit;
Natürlich die Server IP, aus der Sicht des WAN's
wink.gif
 
QUOTE (Alonso @ Mi 12.10.2005, 21:09) Hat jemand gerade eine Variante (unter PHP) auf Lager, wie ich sicher die aktuelle IP des WAN's ermittle?

In wie fern? Welche IP ist gemeint, der Router oder der Netzwerkkarte, welche mit dem WAN verbunden?

So von der ersten Fragestellung würde ich davon ausgehen, dass Du auf andere Programme zurückgreifen muss, mit PHP alleine ist das möglicherweise nicht machbar. Nur um das sagen zu können, bräuchte ich etwas mehr informationen, wie Du Dir das genau gedacht hast.



MfG Sascha Ahlers
 
War etwas kurz gehalten, meine Formulierung, das stimmt
wink.gif


Also, ich brauche in einem PHP Script die aktuelle (dynamische) IP, mit welcher der Server momentan von draussen erreichbar ist.

Sicherlich könnte ich z.B. per PHP whatsmyip.com abfragen, und dann die IP dort rausfiltern. Scheint mir allerdings nicht soo professionell. Vorallem möchte ich nicht auf fremde Dienste angwiesen sein.
 
QUOTE (Alonso @ Mi 12.10.2005, 21:18)[...] Sicherlich könnte ich z.B. per PHP whatsmyip.com abfragen, und dann die IP dort rausfiltern. Scheint mir allerdings nicht soo professionell. [...]

Nun, um sowas sicher aus zu bekommen, müsstest Du schon je nach Betriebssystem (Windows / Linux) auf einen der beiden Befehle zurückgreifen:
  1. ipconfig /all
  2. ifconfig -a
Erstes ist für Windows. Damit kannst Du Dir die Informationen der Netzwerkkarten anzeigen lassen. Du müsstest bei PHP jedoch über die system()-Funktion [1] darauf zugreifen. Beachte unbedingt die Sicherheitsmaßnahmen dabei, am Besten hast Du nur einen festen Befehl, den Du ausführst ohne irgendwelche Variablen darin zu verwenden oder diese zumindesten vorher genau zu überprüfen. Verwende die Funktionen mit Umsicht, sonst hast Du ziemlich schnell eine Sicherheitslücke in Deinem Script. Hierbei muss du ggf. aber den ganzen Pfad zum Programm angeben.
Du kannst auch shell_exec() [2] nehmen, diese Funktion steht jedoch nicht im safe_mode zur Verfügung

Eine Andere Lösung fällt mir so auf die schnelle nicht ein, vielleicht können Dir die Netzwerkfunktionen [3] noch etwas weiterhelfen. Ich könnte mir halt nur noch als einzigste vielleicht hilfreiche Funktion gethostbynamel [4] vorstellen.



MfG Sascha AhlersPS: Ich habe es gerade unabsichtig geschaft, die Formatierung vom BBCode zu zerhauen *fg*, drum besser ich mal kurz nach.
 
@Alonso
Was ich machen würde.

1. Ein script auf einem externen server das nur echo $_SERVER['REMOTE_ADDR'] macht
2. Ein lokale script ruft das script auf dem server und liest die IP.

Andere variante wäre mit dyndns und die API
Andere variante wäre mit regexp und eine "what is my ip" seite

Gruss
Steven
 
Sascha.

Im IPconfig sehe ich die WAN-IP leider nicht..

Ich habs mittlerweilen wie auch von Swizz vorgeschlagen gelöst. Unter myip.alonso.ch habe ich die IP, ohne HTML-Formatierung.

Alles andere bringt wirklich zu viel Aufwand, mehr als sich für dieses Projekt lohnt..
 
QUOTE (Alonso @ Do 13.10.2005, 10:28) [...] Im IPconfig sehe ich die WAN-IP leider nicht.. [...]

Dann scheinst du einen Router zu benutzen und müsstest die IP von diesem Auslesen. Ich würde, bei mir selber, auf meinen Router gehen und die IP entweder via URL aufrufen und Regex auslesen oder(!) schauen ob ich diese per SNMP auslesen kann. Wobei ich die zweite Methode der Ersten vorziehen würde.



QUOTE [...] Alles andere bringt wirklich zu viel Aufwand, mehr als sich für dieses Projekt lohnt..

Da ich das Projekt nicht kenne, musst Du es am Besten wissen. ;-)



MfG Sascha Ahlers
 
Zurück
Oben