PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Namensauflösung (DNS) von *.dyndns.org domains


Malled
05.12.2003, 10:01:14
Hallo Leute,
ich möchte gerne das meine dynamische IP auf meiner Website angezeigt wird.
Mein Router übermittelt meine IP schon zu dyndns.org.
Nur wie kann ich meine ip von dort wieder auslesen?

ihr fragt euch sicherlich warum sollen da die ip stehn und nicht die dyndns Domain?!?! - Antwort ich möchte von dem Betrieb in dem ich arbeite auf meinen Terminal Server zugreifen. Leider gibt des hier keine Namensauflösung sodas ich die Ip immer wieder neu eintragen muss.

Ich würde mich über jeden beitrag freuen.

cYa

Malled

Nev
05.12.2003, 14:44:00
Hi Malled

erst mal willkommen.


Ich kenne ned den Ablauf von dyndns.org.

Du kannst aber versuchen mit
echo $_SERVER["SERVER_ADDR"];

die IP Adresse auszugeben.

Es kann sein, das er dann deine Richtige IP ausgibt.

Verspreche aber nix

Malled
05.12.2003, 16:23:14
erstmal danke an Nev für seine Antwort.

Leider gibt er mir nur meine lokale LAN ip wieder.

was mir recht wenig bringt. Wäre cool wenn ich sich noch mehr Leute wie Nev sich hier beteiligen würden.

THX @ ALL

Malled

chris17
05.12.2003, 16:44:46
Hi Malled,

evtl. ist das ein Ansatz:

exec("ping -c 4 ". "deine.dyndns.org", $erg); // Linux
//exec("ping ". "deine.dyndns.org", $erg); // Win
for($i = 0; $i < count($erg); $i++)
{
echo $erg[$i],"<br>";
}
Im Array $erg ist die Ip drin. Die könntest Du ja dann noch rausfiltern...

Grüsse

chris17

Nev
05.12.2003, 22:46:16
Hi Malled

Wenn du deine IP bekommst, bist schon am richtigen weg.

Schau dir mal das ganze von einem Fremden Computer (der ned in deinem Netzwerk ist) an.

Welche IP dann ausgegeben wird.

Ich vermute mal das du die Seite über:
localhost aufgerufen hast.
Das war auch der Fehler.

Mit $_SERVER["SERVER_ADDR"];
Bekommst du generell die IP-Adresse des Servers

Nev
05.12.2003, 22:48:01
Sorry was vergessen.

@Chris17

Ich vermute mal, das wenn du das machst, bekommst du die IPadresse von dynamic.org und ned vom Ziel-Rechner

Ist wieder mal eine Vermutung

overclocker
05.12.2003, 23:13:30
@nev:
Nein :) Wenn man eine DDNS anpingt, dann kriegt man natürlich die IP des Clients. Man kriegt nur dann die IP Adresse vom DDNS Server, wenn der Client offline ist.
Also die Methode von Chris ist schon richtig.. dann müsstest du aber etwas "umständlich" die ip filtern.

Mit $_SERVER["SERVER_ADDR"] sollte es auch gehen!
Wie schon gesagt, musst du es außerhalb deines Netzwerkes testen. Das geht am besten mit einem der url-encoded Anonymizer Dienste, wie z.B.
http://www.guardster.com/ ist zwar sehr langsam, aber zum testen reicht das.

Malled
05.12.2003, 23:36:16
@Nev
Daran habe ich auch soch gedacht. Aber wenn man die seite über localhost aufruft dann gibt der 127.0.0.1 zurück.
Wenn man von einem anderen pc der nicht im netzwerk ist auf die seite zugreift dann bekommt man die LAN ip. Mit der ich ja recht wenig machen kann.
Trotzdem DANKE

@chris17
Deine Iddee war super. jetzt muss ich nur noch die überflüssigen sachen weglöschen (filtern). Habe zwar keine Ahnung wie ich das anstellen sol aber ich werd bei SELFPHP schon was passendes finden.

Vielen Dank für die schnelle Hilfe.
--
--

so habe ich das gemacht! Es gibt sicherlich elegantere lösungen aber es funktioniert. ;-)


exec("ping ". "malled.dyndns.org", $erg);

$vorne = explode("[",$erg[1]);
$hinten = explode("]",$vorne[1]);
echo $hinten[0];

cYa

Malled

Nev
06.12.2003, 01:26:27
Hi @gain

finde es aber sehr komisch das er ned die IP-Addy anzeigt.
Verwirrt #-)

Malled
06.12.2003, 08:52:49
kann es sein das ich in der Apache konfiguration meine LAN IP eingetragen habe? und nicht die DDNS addr. ich werd das mal bei gelegen heit ausprobieren. Und mich dann mal wieder Melden.

Vielen Dank an alle ;-)

Ich habt mir echt schnell geholfen.

FETTES LOB AN EUCH ;-)

cYa

Malled

overclocker
06.12.2003, 17:08:06
da gibts was besseres :)

string gethostbyname ( string hostname)
Gibt die IP-Adresse passend zu hostname zurück.


Beispiel:

$routerip = gethostbyname('meinedns.homeip.net');
echo $routerip;