# Programm mit dem ich sehen kann ob ein Rechner online ist



## franc (28. August 2013)

Hallo

fällt jemand eine Methode ein, wie ich mit Hilfe eines VB6 Programms feststellen kann, ob ein Rechner online ist?
Ich will allerdings nicht alle x Sekunden abfragen, sondern suche eine Funktion, die mir ihrerseits mitteilt, wenn der Rechner im Internet ist. Also ein Ereignis, das ausgelöst wird, wenn der Rechner online geht.
Gibt es das überhaupt?

Mit Timer etc. bekäme ich das schon hin, ich will das Programm aber so wenig wie möglich den laufenden Betrieb stören lassen.
Es gäbe ja sogar AutoHotkey-Lösungen dafür, etwa wie hier gezeigt.

Hintergrund: ich möchte mir einen eigenen DynDNS Client basteln, der soll die öffentliche IP überhaupt nur dann abfragen, wenn der Rechner online ist.

Gruß und danke, franc


----------



## sheel (28. August 2013)

Hi

dir wird nichts anderes übrig bleiben, außer alle paar Sekunden/Minuten auszuprobieren,
ob etwas erreichbar ist. Unabhängig von der Programmiersprache etc.

Man kann zwar schon prüfen, ob eine LAN-Kabelverbindung irgendwo hin besteht
oder man mit einem WLAN-Netz verbunden ist. Aber das sagt nichts darüber aus,
ob man mit den vorhandenen Möglichkeiten auch Seiten wie Google etc.
aus dem weltweiten Netz erreichen kann.

Zu deinem Link: Die machen ja auch sowas.
Sie verwenden eben whatismyip.org als Gegenstelle.

Zu DynDNS: Was hat die Clientseite davon, ihre öffentliche IP zu wissen?


----------



## franc (29. August 2013)

sheel hat gesagt.:


> ... Aber das sagt nichts darüber aus,
> ob man mit den vorhandenen Möglichkeiten auch Seiten wie Google etc.
> aus dem weltweiten Netz erreichen kann.
> ...
> Zu DynDNS: Was hat die Clientseite davon, ihre öffentliche IP zu wissen?


Ja, ich verstehe. Hab ich mir fast gedacht, dass es nicht geht. Wie auch? Ob man über das Gateway auch ins Netz kommt, kann man ja nur vom Gateway selbst erfahren, welches ja ein anderes System darstellt, fern jeder implementierten Funktion.

Zu DynDNS: Der Client muss eine Änderung seiner dynamisch zugeteilten IP schnellstmöglich dem DynDNS Dienst mitteilen. Je länger daher die Zeiten sind, zwischen denen er nicht nach seiner öffentlichen IP fragt, desto höher ist die Wahrscheinlichkeit, dass man von extern, wenn man auf den Rechner zugreifen will, ins Leere läuft.
Tatsächlich ändert sich die dynamische IP ja nicht so oft und eine Abfrage (mit Vergleich) im Minutentakt dürfte völlig ausreichen.
Die meisten Router können zwar DynDNS von sich aus, aber leider oft nur dyn.com (und dessen bucklige Verwandtschaft) und nur wenige Router erlauben eine benutzerdefinierte Eintragung (wie z.B. die Fritz!Box). Daher muss dann der Client auf dem Rechner diese Aufgabe erledigen.


----------



## sheel (29. August 2013)

Ich versteh schon, was DynDNS ist, aber es muss doch nur die Serverseite
die Client-IP wissen. Der Client selbst hat davon nichts.

Wenn der Client regelmäßig eine TCP/UDP-Verbindung irgendeiner Art
zum Server aufbaut und der Server danach gleich wieder schließt,
ohne irgendwelche Daten zu übertragen, reicht das theoretisch schon.
Die externe IP vom Client kann der Server dann von der Verbindung abfragen.

"Theoretisch" deswegen, weil ich nicht weiß, ob der verwendete Server bei dir nicht doch irgendwelche Zusatzdaten erwartet oder du den Server etwa auch selbst machst etc.


----------



## Bratkartoffel (29. August 2013)

Hi,

trage halt bei deinem Router den DynDNS Dienst ein, dann aktualisiert er jedes mal wenn er sich neu einwählt die IP bei diesem.
Hab ich bei meiner Fritzbox auch so eingestellt, läuft wie ne 1.

Grüße,
BK


----------



## franc (29. August 2013)

sheel hat gesagt.:


> ...Die externe IP vom Client kann der Server dann von der Verbindung abfragen...


Jetzt verstehe ich was du meinst. 
Klar, ob ich jetzt vom Client irgendeine Adresse teste ob die geht, oder mich gleich mit meinem Server verbinde ist ja eigentlich egal.
Dann übernähme der Server den Vergleich zwischen der vorigen IP und der aktuellen, was ich aber dem Client auferlegen wollte.
Ich habe das aber noch nicht fertig konzipiert, der DNS-Server ist auf jeden Fall von mir (root Server, mit bind für DNS), ich habe da ein kleines PHP Skript, das als Parameter die Domain und die neue IP übernimmt, die dann in die Zone eingetragen wird.


----------

