Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Proxy Server herausfinden (https://www.delphipraxis.net/124859-proxy-server-herausfinden.html)

stockholm 26. Nov 2008 12:41


Proxy Server herausfinden
 
Hallo zusammen,

da ich gerne DAU sicherere Programme schreibe (und häufig ach muss), stoße ich gerade auf eine Idee, welche die häufiger nutzen könnte, sofern ich diese schön umgesetzt bekomme. Es geht darum, dass ich auf Windows 2000/XP/Vista+ an den genutzen, falls vorhandenen, Proxyserver komme.

Natürlich gibt es dafür keine eindeutige Möglichkeit (oder?), aber es wäre schön, einige Möglichkeiten durchzutesten. Meine Idee dahinter war folgende...

Hinweis: Es geht NUR um HTTP-Proxies
  • Computer im Netzwerk auflisten (lokale IPs)
  • Einstellungen von häufig genutzen Programmen auslesen (IE, FF, ...)
  • Gewisse Ports testen (nur bei Netzwerk-IPs)
  • IP/Port Kombination mit idHTTP (o.ä.) testen
  • Einstellung übernehmen

Das Programm sähe dann so aus:
  • Verbindung ohne Proxy testen
  • Bei Fehlschlag, Einstellungen vom IE, FF u.ä. auslesen
  • Falls keine Einstellung vorhanden bzw. jede fehlschlägt, Netzwerk IPs auslesen.
  • Über jede Netzwerk-IP mit Ports (8000, 8080, 8088, 3214 etc) Verbindung testen
  • Einstellung übernehmen

Das waren aber nur meine erste Ideen, hat jmd. sowas evtl. schonmal realisiert oder Ideen dazu?

mkinzler 26. Nov 2008 12:44

Re: Proxy Server herausfinden
 
Dann würde dein Programm auch bald von jedem Virenscanner erkannt

stockholm 26. Nov 2008 12:45

Re: Proxy Server herausfinden
 
Zitat:

Zitat von mkinzler
Dann würde dein Programm auch bald von jedem Virenscanner erkannt

Aha, das hilft mir natürlich sehr weiter. Vielen Dank.

Noch jemand?

Lun 26. Nov 2008 13:56

Re: Proxy Server herausfinden
 
Hi stockholm,

da hast du Dir ja was vorgenommen, ich will Dir nicht die Motivation rauben, habe mich auch mal mit dem Thema beschäftigt
gebe Dir folgendes zu bedenken.


IE Einstellungen auslesen:

Bei den Schweizern

Bei firefox haste jetzt schon ein problem

Die Einstellungen vom Firefox liegen in der Javascript Datei prefs.js
unter dem Eintrag:

user_pref("network.proxy.http", "xxx.xxx.xxx.xxx");
user_pref("network.proxy.http_port", xxxx);

Im Verzeichnis

C:\Dokumente und Einstellungen\Benutzer\Anwendungsdaten\Mozilla\Fir efox\Profiles\xxxxxxx.default\

So, da du das nicht einfach auslesen kannst, musst du wohl die Datei parsen und das irgendwie daraus holen.

Dann haste erstmal die Proxy Daten....

So wenn du jetzt noch ne Authentifizierung hast mit Benutzernamen, Passwort auslesen kannste die nicht...

Dann musste den Dau auffordern das einzugeben in deinem Programm... Wenn du jetzt ein Konfigurationsscript hast was die
Proxy Daten auf anfragen sendet dann musst du das abfangen.

Wenn du Pech hast ist das ein ISA Server und der Proxy benutzt eine NTLM - Authentifizierung... Dann musste die abarbeiten....

Mal so ein wink von Problemen die auf Dich zukommen ;o)

greetz Lun

stockholm 26. Nov 2008 13:58

Re: Proxy Server herausfinden
 
Okay, ich denke... ich belasse es dann bei der Abfrage des IE / FF, ohne Authentifizierung.
Das sollte für einen Großteil der Benutzer reichen, den Rest wickeln wir halt via Support ab.

Vielen Dank erstmal!

Edit:
Ich habe nun LAN- und DFÜ-Proxies im IE eingestellt, leider geben mir die Funktionen (mehrere getestet) alle das selbe zurück und zwar gar nichts. IE 6.0 / XP SP2 / D2009 Pro. Any Ideas?

Volle 27. Nov 2008 06:39

Re: Proxy Server herausfinden
 
such am besten in der registry. Dort steht wie windows (in dem fall dann der IE) ins inet kommt. Sollte klappen.

HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Internet Settings

DeddyH 27. Nov 2008 07:38

Re: Proxy Server herausfinden
 
http://www.delphipraxis.net/internal...ct.php?t=22647

stockholm 27. Nov 2008 08:00

Re: Proxy Server herausfinden
 
Eine der Lösungen die ich probiert habe, ohne Erfolg.

Ich schau mal in der Registry.

Edit:
Registry Schlüssel "ProxyServer" beinhaltet z.B.
ftp=localhost:1234;gopher=localhost:1234;http=loca lhost:1234;https=localhost:1234

dazu noch ProxyEnable (Bool) abfragen und alles wird gut.

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 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