Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Erkennen ob ein Rechner "lokal" im Netz ist oder nicht? (https://www.delphipraxis.net/189485-erkennen-ob-ein-rechner-lokal-im-netz-ist-oder-nicht.html)

mensch72 17. Jun 2016 11:52

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
"..."Richtig im Netz" = Er sitzt an einem Arbeitsplatz auf dem Firmengelände.
Nicht richtig im Netz = Er sitzt irgendo in der Welt und hat sich evtl. per VPN ins Netz gewählt..."

Wir nutzen für diesen Zweck die "Ping-Zeit" und die DNS Auflösungszeit, was mit sehr gut funktioniert wenn man ein normales schnelles "Hausnetz" auf dem Firmengelände hat. Extern per Remote,VPN,... ist der Zugriff langsamer und somit als solcher klassifizierbar.

WorstCase wenn es im Hausnetz mal "hängt", dann schaltet die Software eben auch intern in den Securitymode und verlangt öfters ein (spezielles) Login. Weil das wirklich selten passiert, hat sich das auch noch niemand beschwert, wenn er mal zu einer zusätzlichen Login-Eingabe aufgefordert wurde.

Vorteil des "Laufzeitverfahrens" in stbiler Referenzumgebung ist, das man es auch bidirektional durchführen und so Clientseitig(Zeitabstand Anfrage1-Antwort1) & Serverseitig(Zeitabstand Anfrage1-Anfrage2) prüfen kann.

Caps 17. Jun 2016 12:07

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
Man könnte auch die gleichzeitige Verfügbarkeit eines bestimmten WLANs prüfen.

nahpets 17. Jun 2016 12:10

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1340401)
"Richtig im Netz" = Er sitzt an einem Arbeitsplatz auf dem Firmengelände.

Ok: Dann solltest Du (meines wissens nach) eine IP aus den oben genannten Blöcken am Rechner vorfinden.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1340401)
Nicht richtig im Netz = Er sitzt irgendo in der Welt und hat sich evtl. per VPN ins Netz gewählt (Und sieht dort evtl. auch fast alle Ressourcen die über VPN erreichbar sind).

Außerhalb des VPNs würd' ich hier irgendeine IP erwarten. Es kann eine beliebige IP von 'nem Provider ... sein, aber auch wiederum eine aus den obigen IP-Blöcken, da sich der Rechner ja in einem anderen Firmen- oder Heimnetz ... befinden könnte.

Innerhalb des VPNs würd' ich eine IP aus dem Firmennetz erwarten, also eigentlich den gleichen IP-Block, wie "einfach so" in der Firma.

Ok, merke gerade, mit dem was ich schreibe, läuft man nur in 'nen Kreis, es hilft nicht wirklich.

Welche Informationen hast Du für den konkreten Fall noch:

Dynamische IP?
DCHP-Server?
Anmeldeserver für 'ne Domäne?

Hier würd' ich dann für die Feststellung, ob man im Firmennetz ist, prüfen, ob diese Rechner per Ping ... erreichbar sind.
IPConfig /all auf der Kommandozeile könnte auch weitere Informationen liefern.
Die Infos kann man aber sicherlich auch über 'ner API bekommen bzw. sie stehen (teilweise) in der Registry.

Bezieht sich Deine Fragestellung auf ein konkretes Problem in einem bestimmten Firmennetz oder ist sie eher allgemein gehalten?

Handelt es sich um eine konkrete Frage für ein bestimmtes Firmennetz, dann lass Dir den IP-Bereich des Firmennetzes geben. Du musst dann "nur" prüfen, ob die IP des Rechners aus diesem Netz ist. Ist sie aus dem Netz, liegt die Vermutung nahe, dass sich der Rechner (anmeldetechnisch) im Firmennetz befindet. Über welchen Weg er da reingekommen ist, lässt sich so aber wohl eher nicht ermitteln.

In der Registry solltest Du unter
Code:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
etliche Informationen zum Netzwerk finden. Eventuell kannst Du da ja anmelde- bzw. standortabhängig Unterschiede feststellen, die Dir eine sichere Prüfung ermöglichen.

franktron 17. Jun 2016 13:41

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
Mann könnte gucken ob die VPN Netzwerkkarte (Virtuell) eine Verbindung hat oder nicht

Dalai 17. Jun 2016 15:18

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
Ich weiß nicht, von wo aus die Prüfung stattfinden soll, von einem System/Server im LAN aus oder vom Client aus, der sich von außen einwählt. Ich denke, das wäre auch noch wichtig.

Wenn man dem Vorschlag von franktron folgt und die Prüfung via Batch/Skript stattfinden soll, könnte vielleicht netsh.exe helfen. IIRC sind die zu benutzenden Namen (z.B. "LAN-Verbindung") leider lokalisiert - typisch Microsoft eben :roll:.

MfG Dalai

Valle 17. Jun 2016 19:14

AW: Erkennen ob ein Rechner "lokal" im Netz ist oder nicht?
 
MAC-Adresse des Standardgateways?

IP-Adressen und Bereiche können sich überall überschneiden. MACs sind mehr oder weniger eindeutig. Wenn man ein VPN hat, welches allen Traffic routet, dann muss man bzgl. Standardgateway etwas aufpassen. Aber wenn du dir "route PRINT" und "arp -a" von allen möglichen Situationen anschaust, dann sollte das machbar sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:54 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz