Weiterleiten des gesamten Datenverkehrs über den Socken-Proxy mit ssh -D


9

Ist es eine einfache Möglichkeit, den gesamten Datenverkehr mit -D über einen SSH-Proxy zu leiten?

Ich kann einzelne spezifische Anwendungen dafür konfigurieren, möchte jedoch eine Konfiguration, die den gesamten Datenverkehr auf dem Computer weiterleitet. Danke für Ihre Hilfe!


Ich habe vergessen zu sagen, dass ich so ideell unter Linux war, etwas, über das ich mit iptables routen kann.
grm

Antworten:


10

Unter Linux:

  1. iptables -t nat -A OUTPUT! -d 127.0.0.0/8 -j REDIRECT --to 1081
  2. Führen Sie ein Programm aus, das 1081 abhört, die tatsächliche, nicht umgeleitete Zieladresse abruft, mit dem SOCKS-Server und den Relays verhandelt.

Ich habe ein solches Programm für den privaten Gebrauch in Perl (Prototypqualität) geschrieben und eine bessere Version in C geschrieben. Es ist noch nicht veröffentlicht.

Update: jetzt veröffentlicht: http://github.com/vi/socksredirect/ Verwenden Sie prototype.pl. Senden Sie mir eine Nachricht, wenn Sie an der Entwicklung einer besseren Version interessiert sind.

Update 2 Erstellt eine etwas bessere Version davon: http://github.com/vi/tcpsocks und einen Patch für Socat 2: http://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS Der größte Teil meines (und manchmal auch eines der Nachbarn) Datenverkehrs läuft jetzt über tcpsocks-> ssh.


Sehr interessantes Projekt Vi. Vielen Dank! Ich werde das mal ansehen.
Gramm

Sie sollten wahrscheinlich mehr iptables-Regeln verwenden, um auszuwählen, welchen Datenverkehr Sie socksifiziert werden möchten. Ich verwende "iptables -t nat -A OUTPUT -j QQQ", dann eine Reihe von "iptables -t nat -A QQQ <checks> -j RETURN" und schließlich "iptables -t nat -A QQQ -p tcp -j REDIRECT - -bis 1234 ".
Vi.

Danke! Ich habe mich gefragt, ob dies machbar ist. Es stand auf meiner langen Liste von Projektideen, die ich irgendwann ausprobieren sollte.
Tobu

@Tobu, ich habe dies mehr implementiert: Jetzt gibt es einen Socat-Patch ( github.com/vi/socksredirect/blob/master/… ) für dieses und auch ein leichtes tcpsocks-Programm ( github.com/vi/tcpsocks )
Vi .

1
@ Tanmay, Mit einem Tun-Gerät sehen Sie nur TCP-Pakete und es wäre schwierig, sie in einen Bytestrom zu dekodieren (Sie würden so etwas brauchen slirp). Mit REDIRECT oder TPROXY verwenden Sie einfach das Übliche, recvwodurch Sie dekodierte Daten ohne TCP-Header erhalten.
Vi.

8

Avery Pennaruns sshuttle funktioniert ähnlich wie die Antwort von Vi , erfordert jedoch weniger Setup und funktioniert unter BSD und OS X sowie unter Linux.


2

Vielleicht sollten Sie stattdessen VPN einrichten.


Würde das nicht mehr Zugang auf der Gateway-Seite erfordern?
Gramm

Ich habe zu Hause unter Ubuntu einen VPN-Server (Poptop) eingerichtet. Und bei der Arbeit verwende ich einfach den eingebauten VPN-Client in Windows, um eine Verbindung herzustellen. Kein Problem mit meinem Netzwerkadministrator oder irgendetwas.
Espennilsen

1

Ich glaube nicht, dass es eine Möglichkeit gibt, dies zu tun, aber vielleicht können Sie Programme wie FreeCap (Windows), SocksCap (Windows) oder Proxychains (Linux) ausprobieren. Diese Programme können Ihnen ein wenig helfen.


0

Hängt davon ab, welches Betriebssystem Sie verwenden. Wenn Sie unter MacOS arbeiten, gibt es globale Proxy-Einstellungen, die von jeder Anwendung verwendet werden sollten, auch wenn es einige gibt, die diese nicht berücksichtigen (z. B. Firefox).


Insbesondere unter MacOS muss das Vertrauen in die globalen Proxy-Einstellungen überprüft werden.
Chiggsy

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.