Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi VPN Verbindung feststellen und IP Auslesen (https://www.delphipraxis.net/40402-vpn-verbindung-feststellen-und-ip-auslesen.html)

toyoman 15. Feb 2005 10:02


VPN Verbindung feststellen und IP Auslesen
 
Hallo Leute

gibt es eine Möglichkeit aus Eurer Sicht:

eine bestehende und gestartete(enabled) VPN Verbindung erkennen und dessen IP Adresse auszulesen?

Es geht darum, mein Service sollte erkennen wenn die User per VPN connected sind und wenn diese VPN Connection einen definierten Range hat, soll mein Service die Windows Firewall aktiviert lassen. (Im normalfall wenn der Client im Home-Netz ist wird die Firewall vom Service deaktiviert).

Im Moment hab ich zwar die komplette Funktionalität den Range zu erkennen, aber ich kann die IP nur auf der Local Ethernet Karte auslesen und nicht auf einer VPN oder anderen Verbindung. :|

emsländer 15. Feb 2005 12:58

Re: VPN Verbindung feststellen und IP Auslesen
 
Zitat:

Zitat von toyoman
Hallo Leute

gibt es eine Möglichkeit aus Eurer Sicht:

eine bestehende und gestartete(enabled) VPN Verbindung erkennen und dessen IP Adresse auszulesen?

Es geht darum, mein Service sollte erkennen wenn die User per VPN connected sind und wenn diese VPN Connection einen definierten Range hat, soll mein Service die Windows Firewall aktiviert lassen. (Im normalfall wenn der Client im Home-Netz ist wird die Firewall vom Service deaktiviert).

Im Moment hab ich zwar die komplette Funktionalität den Range zu erkennen, aber ich kann die IP nur auf der Local Ethernet Karte auslesen und nicht auf einer VPN oder anderen Verbindung. :|

Die VPN-Verbindung ist doch eigentlich auch nix anderes als ein Netzwerkadapter (dynamisch halt). Dementsprechend müsste man da doch dann über diesen Weg die IP bekommen? Wenn ich auf der Kommandozeile ein "IPCONFIG /ALL" mache, bekomme ich die ja auch angezeigt.

Gruss

EL

toyoman 15. Feb 2005 13:12

Re: VPN Verbindung feststellen und IP Auslesen
 
Zitat:

Zitat von emsländer
Zitat:

Zitat von toyoman
Hallo Leute

gibt es eine Möglichkeit aus Eurer Sicht:

eine bestehende und gestartete(enabled) VPN Verbindung erkennen und dessen IP Adresse auszulesen?

Es geht darum, mein Service sollte erkennen wenn die User per VPN connected sind und wenn diese VPN Connection einen definierten Range hat, soll mein Service die Windows Firewall aktiviert lassen. (Im normalfall wenn der Client im Home-Netz ist wird die Firewall vom Service deaktiviert).

Im Moment hab ich zwar die komplette Funktionalität den Range zu erkennen, aber ich kann die IP nur auf der Local Ethernet Karte auslesen und nicht auf einer VPN oder anderen Verbindung. :|

Die VPN-Verbindung ist doch eigentlich auch nix anderes als ein Netzwerkadapter (dynamisch halt). Dementsprechend müsste man da doch dann über diesen Weg die IP bekommen? Wenn ich auf der Kommandozeile ein "IPCONFIG /ALL" mache, bekomme ich die ja auch angezeigt.

Gruss

EL

Das wollte ich noch hinzufügen...
Ich könnte natürlich einen IPconfig /all machen..
aber ich möchte das ja programatisch in meinem Service abarbeiten und da wärs "schöner" wenn man
wüsste welchen Adapter man abfragen muss bzw wie man an die richtige Connection ran kommt.
Beim IPConfig /all hab ich nämlich das Problem, dass ich auch nicht weiss welche Verbindung bzw. welche IP Adresse ich nun eigentlich auslesen soll....

ist noch kompliziert zu erklären..
aber grundsätzlich will ich wie beim Local Ethernet Adapter die IP auslesen können.

:zwinker:

emsländer 15. Feb 2005 13:17

Re: VPN Verbindung feststellen und IP Auslesen
 
Zitat:


Das wollte ich noch hinzufügen...
Ich könnte natürlich einen IPconfig /all machen..
aber ich möchte das ja programatisch in meinem Service abarbeiten und da wärs "schöner" wenn man
wüsste welchen Adapter man abfragen muss bzw wie man an die richtige Connection ran kommt.
Beim IPConfig /all hab ich nämlich das Problem, dass ich auch nicht weiss welche Verbindung bzw. welche IP Adresse ich nun eigentlich auslesen soll....

ist noch kompliziert zu erklären..
aber grundsätzlich will ich wie beim Local Ethernet Adapter die IP auslesen können.

:zwinker:
Das war auch nicht die Aufforderung IPCONFIG aufzurufen. Lediglich ein Hinweis, das die IP auffindbar ist. Somit muss es eine Möglichkeit geben, diese herauszufinden. Schau doch mal im MSDN..

Grus

EL

toyoman 15. Feb 2005 13:25

Re: VPN Verbindung feststellen und IP Auslesen
 
Zitat:

Zitat von emsländer
Zitat:


Das wollte ich noch hinzufügen...
Ich könnte natürlich einen IPconfig /all machen..
aber ich möchte das ja programatisch in meinem Service abarbeiten und da wärs "schöner" wenn man
wüsste welchen Adapter man abfragen muss bzw wie man an die richtige Connection ran kommt.
Beim IPConfig /all hab ich nämlich das Problem, dass ich auch nicht weiss welche Verbindung bzw. welche IP Adresse ich nun eigentlich auslesen soll....

ist noch kompliziert zu erklären..
aber grundsätzlich will ich wie beim Local Ethernet Adapter die IP auslesen können.

:zwinker:
Das war auch nicht die Aufforderung IPCONFIG aufzurufen. Lediglich ein Hinweis, das die IP auffindbar ist. Somit muss es eine Möglichkeit geben, diese herauszufinden. Schau doch mal im MSDN..

Grus

EL

da ich weiss, dass es diese Möglichkeit geben muss suche ich sie.. und dachte irgendeiner wird schon mal sowas gemacht haben........

wobei IPConfig einfach alle Devices auflistet und selber auch nicht wissen muss welches der VPN Adapter ist..

hardy1234 20. Feb 2005 08:25

Re: VPN Verbindung feststellen und IP Auslesen
 
Hey,

das Thema IP's scheint hier wirklich ein irres Problem zu sein. Dabei gibt es doch nun wirklich die Kompos TcpClient und TcpServer. Integriert man TcpServer in sein Programm und weist diesem ein bestimmtes Prokoll/Port hinzu, alles oberhalb von 51000 ist erlaubt weil frei, kann man aus dem eigenen Programm mit dem TcpClient direkt an den Burschen senden und der Antwortet prompt mit der Sender-IP. Zur Not muß man halt ein kleines Programm beim Systemstart zur Verfügung stellen. Das Geheimnis ist hier

ip:= CustomIpClient.LookupHostAddr(CustomIpClient.Remot eHost);

dann erhält man die Sender-Adresse und zwar die öffentliche und kann diese an den Client zurücksenden. Nix anderes passiert im Internet. Etwa so:

procedure SrvAccept(Sender: TObject; CS: TCustomIpClient);
var
data: string;
begin
data:= CS.Readln;
data:= data + 'YourIP:' + CS.LookupHostAddr(CS.RemoteHost);
CS.Sendln(data);
end;

bumms, da isse.

toyoman 28. Feb 2005 07:51

Re: VPN Verbindung feststellen und IP Auslesen
 
Zitat:

Zitat von hardy1234
Hey,

das Thema IP's scheint hier wirklich ein irres Problem zu sein. Dabei gibt es doch nun wirklich die Kompos TcpClient und TcpServer. Integriert man TcpServer in sein Programm und weist diesem ein bestimmtes Prokoll/Port hinzu, alles oberhalb von 51000 ist erlaubt weil frei, kann man aus dem eigenen Programm mit dem TcpClient direkt an den Burschen senden und der Antwortet prompt mit der Sender-IP. Zur Not muß man halt ein kleines Programm beim Systemstart zur Verfügung stellen. Das Geheimnis ist hier

ip:= CustomIpClient.LookupHostAddr(CustomIpClient.Remot eHost);

dann erhält man die Sender-Adresse und zwar die öffentliche und kann diese an den Client zurücksenden. Nix anderes passiert im Internet. Etwa so:

procedure SrvAccept(Sender: TObject; CS: TCustomIpClient);
var
data: string;
begin
data:= CS.Readln;
data:= data + 'YourIP:' + CS.LookupHostAddr(CS.RemoteHost);
CS.Sendln(data);
end;

bumms, da isse.

Keine Ahnung wie das gehen soll,
ich brauche nicht die IP Adresse von einem Netzwerkadapter sondern von der darüberliegenden VPN-Verbindung. Vergleichbar mit einer DFÜ verbindung, wie liest man da die IP aus.
Die Netzadapter kann man prima aus der Registry auslesen, ich finde aber keine Einträge der VPN/DFÜ verbindungen?!

Mit dem ganzen WMI komm ich auch nicht so klar, habe das Beispiel netzwerkkabel.zip ausprobiert (von diesem Forum http://www.delphipraxis.net/internal...=netzwerkkabel). Leider kann ich damit auch keine VPN-Verbindungs Infos bekommen, sondern wieder nur von den Netzwerkadaptern..... WAN, LAN, TV Connection etc.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:05 Uhr.

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