![]() |
Internet-Zugriff via Proxy (squid)
Hallo,
ich möchte mit Delphi 7 Internetprogrammierung machen, es funktioniert auch soweit ganz gut (ClientSocket und ServerSocket). Allerdings auch in der Schule und da gibt es Probleme: Wir können dort zwar Software installieren, aber das ist umständlich und muss nach jedem Rechnerneustart erneut gemacht werden, außerdem muss das Programm jedesmal runtergeladen werden (wir können keine .exe Dateien auf dem Homelaufwerk speichern, außerdem hat das nur 15 MB). Und wir haben in der Schule einen Proxy-Server (einen Squid auf Port 3128). Wie kann ich jetzt über diesen Proxy eine Verbindung ins Internet herstellen? Mit putty.exe kann ich auf alle Internetprotokolle zugreifen (HTTP, FTP, ICQ, IRC wären wichtig), jedenfalls gibt es eine Verbindung und ich kann mit dem Server kommunizieren (über ICQ schwierig). Aber wie kriege ich das mit Delphi 7 hin, unter Verwendung der Standardkomponenten? Ich möchte nämlich einen kleinen IRC-Clienten im Informatikunterricht schreiben, aber zum Vorführen muss es in der Schule klappen - und daran scheitert es. Indys fallen leider raus. Soweit ich weiß, muss ich dazu eine Verbindung zum Proxy direkt herstellen und dem dann mitteilen, zu welchem Server ich mich verbinden will; wenn mir einer hierzu ein Tutorial oder ein Howto geben könnte, würd ich mich sehr freuen. MfG Svenska |
Re: Internet-Zugriff via Proxy (squid)
Was meinst du mit Standardkomponenten? Bei den Indykomponenten gibt es z.B. die Klasse TIdConnectThroughHttpProxy.
Die Klasse THTTPSend aus dem OS-Paket Synapse hat direkt Properties für die Proxyeinstellungen. Der Squid ist aber nur Proxy(Stellvertreter) für die Protokolle http, https, ftp. Andere Protokolle müssen ggf über diese Protokolle "getunnelt" werden. |
Re: Internet-Zugriff via Proxy (squid)
Hallo,
ich hab doch geschrieben, dass Indys nicht gehen....?!? Standardkompontenten = TServerSocket, TClientSocket. Meine Frage war nur, wie ich über den Proxy eine direkte Verbindung zu einem Server aufbauen kann, also z.B. IRC über ebendiesen Proxy betreiben kann. Gruß, Svenska |
Re: Internet-Zugriff via Proxy (squid)
Zitat:
Der Proxy versteht wie gesagt nur ein paar Protokolle. Andere Protokolle müssen ggf "getunnelt" werden. D.H du brauchst einen Server im Internet der dir IRC nach HTTP vermittelt. Zitat:
Programme die dann in putty gestartet werden laufen auf dem Gatewayrechner, welcher direkt auf Internet zugreift. Willst kannst also einen eigenen Proxy für die gewollten Protokolle schreiben. |
Re: Internet-Zugriff via Proxy (squid)
es gibt sehr wohl die Möglichkeit, via Proxy eine direkte Verbindung zu einem Ziel-TCP-Server aufzubauen: HTTP-Request-Method "CONNECT"
diese wird auch verwendet, um ein durchgehendes SSL-Tunnel vom Browser bis zum Server - auch via Proxy (aber nicht als Man-In-The-Middle) - aufzubauen... Client: CONNECT ![]() Server: HTTP/1.0 200 OK nach der Antwort vom Proxy besteht eine direkte, transparente Verbindung zum eigentlichen Server... der Haken an der Sache: "gute" Proxy-Admins erlauben die CONNECT-Methode lediglich auf Well-Known-Ports wie z.B. 443 (HTTPS)... ![]() |
Re: Internet-Zugriff via Proxy (squid)
Hallo,
mit putty.exe kann ich nur eine Verbindung zu Servern herstellen, wenn ich den Proxy dort eintrage. Also muss ich zum Proxy im Prinzip eine HTTP-Verbindung herstellen, kann dann aber alle möglichen Binärdaten/Textdaten mit jedem Protokoll auf jedem Port durchführen? Ich werde den Vorschlag gleich mal ausprobieren. Danke einstweilen! Es funktioniert, danke vielmals! Ich hatte nicht gedacht, dass man das über ein (zurechtgestutztes) HTTP machen muss. Jedenfalls kann ich mich prima zu irc.quakenet.org:6667 und login.icq.com:5190 verbinden, geh also mal davon aus, dass der Server-Admin schlecht ist. Gruß, Svenska |
Re: Internet-Zugriff via Proxy (squid)
ich habe ähnliches vor..
habe aber garkeinen ansatz wie ich es realisieren soll.. also ich will über einen proxy auf einen IRC-Server connecten.. die posts hier drüber konnten mir nicht weiter helfen.. ich habe es schonmal mit der Indy Komponente IdIRC versucht.. so alles ganz schön und gut.. nur finde ich dort keine proxy einstellungsmöglichkeiten.. jetz dachte ich das das ja auch irgendwie anders gehen muss.. :) weil damals habe ich das mal in MSL (mirc scripting language) mit sockets geschafft.. :D hoffe mir kann jmd helfen.. EDIT: oder sollte ich lieber n neuen thread aufmachen? =) |
Re: Internet-Zugriff via Proxy (squid)
Die üblichen Proxies sprechen eigentlich nur HTTP, HTTPs und vielleicht noch FTP. In kommerziellen CLients wie mIRC sind natürlich passende Erweiterungen drin, dass mIRC zum Proxy hin HTTP spricht und den Proxy bittet, eine transparente VErbindung zur Zieladresse durchzuschalten. Erst in diesem transparenten Kanal spricht mIRC dann IRC.
Wäre es nicht viel einfacher, den Admin zu bitten, den Port 6666 freizuschalten? Dann kann man einfach so ircen ohne endlos viel Zeit in irgendwelche Proxyprogrammierung zu stecken. |
Re: Internet-Zugriff via Proxy (squid)
Ein Proxy (Stellvertreter) arbeitet auf Ebene 7 (IP Ebene 5). Er muss also pro Protokoll implemnetiert werden. Eine Freischaltung des Ports verstösst höchstwahrscheinlich der Sicherheitrichtlinien des Unternehmens. Besser wäre eine Tunnelung.
|
Re: Internet-Zugriff via Proxy (squid)
Hi mkinzler,
Zitat:
Eine konstruktive Antwort auf die ursprüngliche Frage ist also in 80% der Fälle die Anleitung, die Richtlinie zu umgehen, sei es in der Schule, Uni, zuhause oder in einer Firma. Die restlichen 20% würde ich dösigen Admins zuschreiben, die nicht wissen, wie sie mit Firewall/Proxy umgehen können. Nebenbei: am einfachsten ist es, irgendwo draußen im Netz einen SSH-Server auf Port 443 laufen zu lassen, dann kann ich mich darauf verbinden und innerhalb der SSH-Verbindung so ziemlich jeden anderen TCP-Connect durchtunneln. Gruß, SirTwist |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz