13.3 | Verbindungen über SOCKS |
Seit Version 1.1 unterstützt die standardmäßige Socket-Implementierung von Java auch SOCKS-Proxies. Eine Einführung in die Funktion und die Konfiguration von SOCKS würde den Rahmen dieses Buches sprengen. Es sei lediglich angemerkt, daß SOCKS-Server häufig Komponenten von Firewalls oder Internet-Gateways sind, die die Aufgabe haben, Verbindungsanforderungen aus dem internen Netz zu selektieren und ins Internet zu schleusen.
Zur Konfiguration von SOCKS kann man die Manual Pages zu sockd(8), sockd.conf(5) und socks.conf(5) konsultieren.
Um die SOCKS-Unterstützung bei Java-Applikationen zu aktivieren, muß die System-Property socksProxyHost gesetzt werden. Optional kann mit socksProxyPort die Port-Nummer des SOCKS-Servers angegeben werden:socksProxyHost=192.168.0.3 # Voreinstellung: 1080 socksProxyPort=1080Das folgende Fragment zeigt, wie die Properties in einer Applikation gesetzt werden können. Das Beispiel geht davon aus, daß die beiden Properties in einer Datei SOCKS.properties stehen.Properties systemProps; // System-Properties holen systemProps = System.getProperties(); // SOCKS-Properties dazuladen FileInputStream fileStream; fileStream = new FileInputStream("SOCKS.properties"); systemProps.load(fileStream); fileStream.close(); // System-Properties zurückschreiben System.setProperties(systemProps);Material zum Beispiel
Bei Applets übernimmt die Java Virtual Machine im Netscape Navigator und im Internet Explorer (jeweils ab Version 3) automatisch die Einstellungen des Browsers. Die Aktivierung und die Einstellung von SOCKS erfolgt bei beiden Browsern im Proxy-Konfigurationsdialog.
- Quelltexte:
Wenn die SOCKS-Unterstützung aktiviert ist, verbinden sich die Klassen Socket und URL über den angegebenen SOCKS-Server.
Damit Verbindungen über SOCKS aus Java heraus erfolgreich aufgebaut werden können, ist es eventuell erforderlich, beim SOCKS-Server die Option zur Verbindungsidentifikation abzuschalten.