Wie erstelle ich einen transparenten Tunnel durch Socken an Fenstern?

946
guai

Ich möchte einen Tunnel erstellen - Hören Sie sich einen festen Port auf meinem lokalen Rechner an, und jeder Datenverkehr wird über den SOCKS-Proxy (mit Authentifizierung) an einen bestimmten festen Host & Port hinter diesem Proxy und zurück gesendet.
An den Fenstern.
Es sollte sich wie der ssh-Portweiterleitungstunnel verhalten, jedoch mit authentifiziertem SOCKS-Proxy dazwischen.
Wie kann ich das erreichen?

UPD: Ich glaube, ich brauche so etwas wie https://github.com/tonyseek/rsocks, aber für Windows kann ich es vielleicht über WSL starten

1
Unterstützt die Anwendung, die Sie verwenden möchten, SOCKS4 / 5? Im Gegensatz zu SSH-Tunneln, die nur die Konfiguration des von der Anwendung verwendeten Zielports erfordern, verwendet SOCKS für alle Pakete einen Session-Layer-Header für alle Pakete. SOCKS ist gut, wenn Sie den Remote-Endpunkt nicht vorhersagen können, um einen Tunnel vorzukonfigurieren und die App für die Verwendung zu konfigurieren, das gesamte Paket jedoch nicht verschlüsseln, und die Anwendung diese wissentlich verwenden muss. Frank Thomas vor 6 Jahren 0
@FrankThomas, du hast recht, es gibt eine Anwendung, die keine Sockenunterstützung / -einstellungen hat, aber ich kann Host und Port konfigurieren, wo er sich auch verbinden soll. Es funktioniert in Ordnung über SSH-Tunnel, aber jetzt muss ich auch den Datenverkehr über Socks Proxy übergeben guai vor 6 Jahren 0
Ich fürchte, Socken funktionieren nicht auf diese Weise, es sei denn, Sie können eine Software finden, die Socks-ify-Datenverkehr an einen Proxy weiterleiten kann. Sie können keine SOCKS-Sitzung nur mit einem Host und einem Port einrichten. es funktioniert einfach nicht so wie ssh oder stunnel. Frank Thomas vor 6 Jahren 0
@FrankThomas, das weiß ich und ich suche eine solche Software guai vor 6 Jahren 0

1 Antwort auf die Frage

0
harrymc

Was Sie verlangen, wird als Remote-Port-Weiterleitung bezeichnet . Sie benötigen nur SSH, damit es funktioniert, und es ist keine andere Software oder ein Proxy erforderlich.

Unter Linux müssen Sie die Datei bearbeiten /etc/ssh/sshd_config, die in Windows sicherlich ein Äquivalent hat. Fügen Sie am Ende die folgende Zeile hinzu:

GatewayPorts yes 

Sie werden den Befehl verwenden

ssh -R sourcePort:forwardToHost:onPort connectToHost 

Das bedeutet: Verbinden Sie sich mit ssh, um connectToHost zu verbinden, und leiten Sie alle Verbindungsversuche an den Remote-Quellport an den Port onPort auf dem Computer weiter, der als forwardToHost bezeichnet wird und von Ihrem lokalen Computer aus erreicht werden kann.

Es gibt viele nützliche Quellen, die gefunden werden können. Einige von ihnen sind:

das brauche ich nicht. Ja, ich brauche einen transparenten Tunnel wie ssh, aber mit Socken zwischen Endpunkten. rsocks scheint vielversprechend. Ich habe es unter Windows über WSL zum Laufen gebracht. Vielleicht funktioniert es auch bei nackten Fenstern, da es in Python ist - noch nicht versucht guai vor 6 Jahren 0