Entwickler-Ecke

Internet / Netzwerk - Überprüfen ob ein lokales Netzwerk verfügbar ist. (auch VPN)


iglesias - Sa 10.10.09 14:28
Titel: Überprüfen ob ein lokales Netzwerk verfügbar ist. (auch VPN)
Hi,

ich habe hier im Forum schon das ein oder andere gefunden, dass mir in meinem Problem leider nur bedingt weiter hilft.

Kurze Problem Beschreibung.
Mein ermittelt über die lokale IP Adresse die Locatin in der wir uns befinden, abhängig von der IP Adresse.

Es besteht aber auch die Möglichkeit sich per VPN ins Netzwerk einzuwählen. Teilweise kommt es vor, dass das Program die Verbindung falsch interpretiert.

Das Tool soll z.B. nur bei einer bestehenden Netzwerkverbindung Aktionen ausführen können.

Kennt jemand eine Möglichkeit, wie man genau ermitteln kann, ob der Rechner physikalischen Netzwerk-Connect hat.

Danke.

vg
Martin


Tryer - Sa 10.10.09 15:23

Auf meinem Lappi hab ich den MS-Loopbackadapter installiert um jederzeit aus einem Dos - Programm via Druckerfreigabe drucken zu können. Die IP ist willkürlich gewählt, woran erkennst Du dann in welchem Netzwerk sich der Rechner befindet? Die Adresse des DHCP - Servers könnte da schon mehr Aufschluß geben. Physikalische und virtuelle Netzwerkverbindungen mit absoluter Sicherheit zu unterscheiden dürfte nahezu unmöglich sein.

Dein Programm benötigt einen Server der bestätigen kann: "die Gegenseite mit der Du arbeiten möchtest ist erreichbar".

Grüsse, Dirk


iglesias - Sa 10.10.09 16:22

Hi Danke,

dann sollte ich schon die genutzte Methode nutzen, in der ich einen Server anpinge!

Aber generell, gibt es eine andere Möglichkeit, um herauszufinden, ob ein Netzwerk verbunden ist.

Ideal wäre es, wenn man doch den Status von Windows nutzen könnte. Ich kenne nur eine Möglichkeit über die Registry dies zu machen, aber gibt es hier auf API Funktionen die man nutzen könnte?

vg und dank


Narses - Sa 10.10.09 23:28

Moin!

Mach einen ARP-Request [http://www.delphi-forum.de/topic_MACAdresse+von+LANTeilnehmern+bestimmen_94099.html], wenn du keine MAC kriegst, bist du sicher nicht im gleichen LAN, wie die angefragte Maschine. Kriegst du allerdings eine MAC-Adresse, muss das nicht zwangsweise das gleiche LAN sein (aber vermutlich häufig), die Maschine könnte auch über Proxy-ARP eingebunden sein. :idea: :nixweiss:

cu
Narses


BenBE - Sa 10.10.09 23:48

@Narses: Je nach dem, ob man ein TUN oder TAP-Device für's VPN nutzt, kann ARP aber auch gar nicht erst funzen; das Erhalten einer MAC muss dann aber auch nicht zwingend die korrekte sein (kann z.B. auch die vom Gateway sein).

Die Prüfung mit MAC liefert aber schon mal einen guten Ansatz. ein weiteres Indiz kann die Latenz bei der Beantwortung der MAC-Anfrage liefern: Alles größer 10ms ist üblicherweise nicht lokal (die meisten LANs sind weit unter 5ms).