Benne: diverse Ports über Proxy-Server auf Port 80

Hallo Forum,

Ich habe einen Rechner im Netzwerk. Im Netzwerk sind alle Ports ins Internet außer 80, 8080, 3128 gesperrt. Ich möchte aber KaZaA auf dem Rechner laufen lassen. Gibt es eine Möglichkeit (am besten einen Proxy-Server auf Port 80), sodass die KaZaA Ports für's Internet verwendet werden können?

Danke und Gruß,
Benne

  1. Halihallo Benne

    Ich habe einen Rechner im Netzwerk. Im Netzwerk sind alle Ports ins Internet außer 80, 8080, 3128 gesperrt. Ich möchte aber KaZaA auf dem Rechner laufen lassen. Gibt es eine Möglichkeit (am besten einen Proxy-Server auf Port 80), sodass die KaZaA Ports für's Internet verwendet werden können?

    Kaum. Denn der Proxi müsste wissen, mit welchem Port er verbinden soll, woher soll er diese Information kriegen? - Es besteht höchstens Hoffnung, wenn dein Programm (KaZaA) nur _einen_ einzigen, bekannten Port benutzt, dann wäre es möglich eine Portverbindung zu emulieren. Jedoch auch dann wird's mühsam, da man selber programmieren müsste (oder kann man einen Proxi für das Konfigurieren? - Wohl kaum, da KaZaA nicht auf HTTP basiert, sondern eine stete bidirektionale Verbindung benutzt). Zudem müsste man sich wohl mit dem Übertragungsformat auskennen.
    Zudem ist der Begriff "Proxi-Server" hier wohl falsch, da ein Proxi mit HTTP zu tun hat, nicht jedoch mit einer p2p - Anwendung; dafür sind Proxis nicht zu gebrauchen!?

    Viele Grüsse

    Philipp
       <-- der sich entschuldigt, falls diese Antwort schon zusehr ins Programmiertechnische abdriftet.

    1. Hi Philipp,

      Zudem ist der Begriff "Proxi-Server" hier wohl
      falsch, da ein Proxi mit HTTP zu tun hat,

      keineswegs.

      Ein Proxy kann alles durchleiten, was er versteht - er
      muß das entsprechende Protokoll in beide Richtungen
      sprechen und entsprechende Umsetzungen vornehmen.
      In der Firma habe ich beispielsweise auch für FTP
      nur einen Proxy-Zugang, nicht aber eine direkte
      Verbindung.

      Die Frage wäre also, ob es einen Proxy gibt, der das
      von Kazaa gesprochene Protokoll hinreichend gut unter-
      stützt.
      Die Kazaa-Hersteller sollten das am ehesten wissen ...

      Viele Grüße
            Michael

      1. Hi Philipp,

        Moin Moin !

        Zudem ist der Begriff "Proxi-Server" hier wohl
        falsch, da ein Proxi mit HTTP zu tun hat,

        keineswegs.

        ACK!

        Ein Proxy kann alles durchleiten, was er versteht - er
        muß das entsprechende Protokoll in beide Richtungen
        sprechen und entsprechende Umsetzungen vornehmen.

        Theoretisch kann er sogar das Protokoll umsetzen. Kommt bei manchen kombinierten HTTP/FTP-Proxies sogar vor. Nur nennt man den Proxy dann technisch korrekt Gateway.

        In der Firma habe ich beispielsweise auch für FTP
        nur einen Proxy-Zugang, nicht aber eine direkte
        Verbindung.

        Ich schüttle mal aus dem Ärmel:

        Telnet-Proxy (auch sehr beliebt in Firmennetzen) - man macht Telnet zum Proxy, und der fragt dann, wo man hin will.

        POP3-Proxy (schon mal selbst gebastelt), wird z.B. bei GMX als Loadbalancer benutzt.

        Datenbank-Proxy (DBI bzw. DBD::Proxy)

        DNS-Proxy (kam mindestens in alten Versionen von fli4l vor)

        Die Frage wäre also, ob es einen Proxy gibt, der das
        von Kazaa gesprochene Protokoll hinreichend gut unter-
        stützt.
        Die Kazaa-Hersteller sollten das am ehesten wissen ...

        Es geht vielleicht auch ohne Proxy, mit "brutalem" Port-Forwarding: Eine Hand voll TCP- bzw. UDP-Ports wird von der Firewall ungefiltert an einen Rechner hinter der Firewall weitergeleitet:

        http://www.google.com/search?q=fli4l+kazaa liefert als Top-Ergebnis http://www.fli4l.de/german/howtos/howto-edonkey-fli4l.htm

        Viel Spaß!

        Alexander

        1. Halihallo Michael und Alexander

          Zudem ist der Begriff "Proxi-Server" hier wohl
          falsch, da ein Proxi mit HTTP zu tun hat,

          keineswegs.
          ACK!

          Ein eingeschüchternes ACK, ACK zurück ;-)

          Ein Proxy kann alles durchleiten, was er versteht - er
          muß das entsprechende Protokoll in beide Richtungen
          sprechen und entsprechende Umsetzungen vornehmen.

          Ein Proxi kann alles durchleiten, was er versteht... OK, das ist klar (zugegeben, ich war zu sehr auf HTTP fixiert). Aber ob er sogar p2p Verbindungen herstellen kann? - Wenn ich mich mit Sockets genügend auskenne, muss er doch wissen, wann ein Transfer abgeschlossen ist, das muss der KaZaA kommunizieren und dazu muss es der Proxi noch verstehen. Oder sehe ich das falsch? - Wenn wir hier nicht von "einfachem" Portforwarding sprechen, dann _muss_ doch eine Software zwischen die Kommunikation verstehen.

          POP3-Proxy (schon mal selbst gebastelt), wird z.B. bei GMX als Loadbalancer benutzt.
          Datenbank-Proxy (DBI bzw. DBD::Proxy)
          DNS-Proxy (kam mindestens in alten Versionen von fli4l vor)

          Hm. Die von dir genannten Proxies haben alle Kenntnis vom Protokoll. Fragt sich:

          Die Frage wäre also, ob es einen Proxy gibt, der das
          von Kazaa gesprochene Protokoll hinreichend gut unter-
          stützt.
          Die Kazaa-Hersteller sollten das am ehesten wissen ...

          genau. Eben ;)

          Viele Grüsse

          Philipp

          1. Halihallo Michael und Alexander

            Moin Moin!

            Ich verdreh' mal etwas die Reihenfolge ...

            POP3-Proxy (schon mal selbst gebastelt), wird z.B. bei GMX als Loadbalancer benutzt.
            Datenbank-Proxy (DBI bzw. DBD::Proxy)
            DNS-Proxy (kam mindestens in alten Versionen von fli4l vor)

            Hm. Die von dir genannten Proxies haben alle Kenntnis vom Protokoll.

            Das müssen sie. Denn sonst wären sie keine Proxies, sondern Port-Forwarder. Kennen sie mehr als ein Protokoll und setzen sie zwischen ihnen um, nennt man sie nicht mehr Proxy, sondern Gateway. (Ja, CGI=Common Gateway Interface kommt genau daher.)

            Simples Port-Forwarding funktioniert übrigens nicht, wenn das Protokoll intern Rechnernamen oder -adressen benutzt. Siehe FTP und das FTP-Masquerading-Helfer-Modul von Linux, das den FTP-Datenstrom umschreibt.

            Ein Proxy kann alles durchleiten, was er versteht - er
            muß das entsprechende Protokoll in beide Richtungen
            sprechen und entsprechende Umsetzungen vornehmen.

            Ein Proxi kann alles durchleiten, was er versteht... OK, das ist klar (zugegeben, ich war zu sehr auf HTTP fixiert). Aber ob er sogar p2p Verbindungen herstellen kann? - Wenn ich mich mit Sockets genügend auskenne, muss er doch wissen, wann ein Transfer abgeschlossen ist, das muss der KaZaA kommunizieren und dazu muss es der Proxi noch verstehen. Oder sehe ich das falsch? - Wenn wir hier nicht von "einfachem" Portforwarding sprechen, dann _muss_ doch eine Software zwischen die Kommunikation verstehen.

            Genau. Der einfachste Proxy - unabhängig vom Protokoll - gibt sich zum Client hin als Server aus und zum Server hin als Client. Dazwischen mauschelt er eventuell - je nach Zweck - etwas an den Daten rum. Quasi eine Man-in-the-middle-Attack. Der Telnet-Proxy, der mir eine Weile vorgesetzt wurde, war für den Telnet-Client ein ganz normaler Telnet-Server, und für den Server ein ganz normaler Telnet-Client. Die Datenübertragung war 8-bit-clean, nichts wurde verändert.

            Es gibt FTP-Proxies, die analog funktionieren. Mein POP3-Proxy hat ebenso funktioniert. Allerdings muß man dabei für die Server-Auswahl etwas tricksen. Mein POP3-Proxy hat statt des einfachen Usernamens die Syntax popserver.example.com::username erwartet. Ähnliches passiert bei FTP-Proxies.

            HTTP ist eines von den Protokollen, die explizit mit Proxies klarkommen (mehr oder weniger gut), deswegen verhält sich der Client gegenüber einem Proxy (geringfügig) anders als gegenüber einem Server (Servername, Port und Protokoll werden in die erste Request-Zeile aufgenommen).

            Fragt sich:

            Die Frage wäre also, ob es einen Proxy gibt, der das
            von Kazaa gesprochene Protokoll hinreichend gut unter-
            stützt.
            Die Kazaa-Hersteller sollten das am ehesten wissen ...

            genau. Eben ;)

            Da Port-Forwarding anscheinend (laut FLI4L-Links in meinem letzten Posting) funktioniert, braucht man wohl keinen Proxy. Zumindest, wenn nur ein Rechner hinter der Firewall mit Kazaa arbeiten soll.

            Ansonsten muß man wohl das Kazaa-Protokoll genau kennen, um einen Proxy zu bauen, der einer (externen) IP-Adresse mehrere Clients zuzuordnen. Das Gemeine an Kazaa - verglichen mit Telnet, FTP, HTTP, POP3 und anderen - ist, daß die Verbindung nicht unbedingt von "innen" nach "außen" aufgebaut wird (was dem Proxy das Leben leicht macht), sondern auch mal anders herum, und das ist die Hölle. Denn die Firewall darf eigentlich gar keine Requests von "außen" annehmen, und die Zuordnung, welcher der "inneren" Rechner den Request behandeln soll, dürfte sehr schwierig werden. Bei HTTP kann man sich noch anhand der URL orientieren, welcher der inneren Server den Request behandeln soll (http://www.perl.org/tpc/1998/Perl_and_Apache/Performance Tuning/conferencetalk.pdf, um Seite 20, oder auch Kai Krebber (hb) "Torwächter -- Apache als Secure Reverse Proxy mit LDAP unter Linux", iX 5/00, Seite 140). Mit FTP würde das im Prinzip auch funktionieren, POP3, IMAP und SMTP können anhand des Usernamens den Server auswählen.

            Alexander

            Viele Grüsse

            Philipp

            1. Halihallo Alexander

              Ein Proxy kann alles durchleiten, was er versteht - er
              muß das entsprechende Protokoll in beide Richtungen
              sprechen und entsprechende Umsetzungen vornehmen.

              Ein Proxi kann alles durchleiten, was er versteht... OK, das ist klar (zugegeben, ich war zu sehr auf HTTP fixiert). Aber ob er sogar p2p Verbindungen herstellen kann? - Wenn ich mich mit Sockets genügend auskenne, muss er doch wissen, wann ein Transfer abgeschlossen ist, das muss der KaZaA kommunizieren und dazu muss es der Proxi noch verstehen. Oder sehe ich das falsch? - Wenn wir hier nicht von "einfachem" Portforwarding sprechen, dann _muss_ doch eine Software zwischen die Kommunikation verstehen.

              Genau. Der einfachste Proxy - unabhängig vom Protokoll - gibt sich zum Client hin als Server aus und zum Server hin als Client. Dazwischen mauschelt er eventuell - je nach Zweck - etwas an den Daten rum. Quasi eine Man-in-the-middle-Attack. Der Telnet-Proxy, der mir eine Weile vorgesetzt wurde, war für den Telnet-Client ein ganz normaler Telnet-Server, und für den Server ein ganz normaler Telnet-Client. Die Datenübertragung war 8-bit-clean, nichts wurde verändert.

              Dennoch bin ich der Meinung, das das nicht so einfach geht. Also ich sehe das mal mit den Augen von "perl". Du hörst den Ports ab und leitest die Daten weiter. Dazu musst du aber erst wissen, wann ein Datenstrom beendet ist (dies wird übers Protokoll definiert), da dies jedoch von Protokoll zu Protokoll anders ist (klar, HTTP, FTP, ... halten sich alle an dieselben "Spielregeln"), aber ein p2p - Protokoll ist grundsätzlich anders aufgebaut. Da muss man dann schon etwas tiefer in die Trickkiste greifen und wirklich alle Datenpackete abfangen (was dann nicht mehr mit Sockets im Sinne von IO::Socket::INET geht).

              Da Port-Forwarding anscheinend (laut FLI4L-Links in meinem letzten Posting) funktioniert, braucht man wohl keinen Proxy. Zumindest, wenn nur ein Rechner hinter der Firewall mit Kazaa arbeiten soll.

              Ja, sehe ich auch so.

              Ansonsten muß man wohl das Kazaa-Protokoll genau kennen, um einen Proxy zu bauen, der einer (externen) IP-Adresse mehrere Clients zuzuordnen. Das Gemeine an Kazaa - verglichen mit Telnet, FTP, HTTP, POP3 und anderen - ist, daß die Verbindung nicht unbedingt von "innen" nach "außen" aufgebaut wird (was dem Proxy das Leben leicht macht), sondern auch mal anders herum, und das ist die Hölle. Denn die Firewall darf eigentlich gar keine Requests von "außen" annehmen, und die Zuordnung, welcher der "inneren" Rechner den Request behandeln soll, dürfte sehr schwierig werden. Bei HTTP kann man sich noch anhand der URL orientieren, welcher der inneren Server den Request behandeln soll (http://www.perl.org/tpc/1998/Perl_and_Apache/Performance Tuning/conferencetalk.pdf, um Seite 20, oder auch Kai Krebber (hb) "Torwächter -- Apache als Secure Reverse Proxy mit LDAP unter Linux", iX 5/00, Seite 140). Mit FTP würde das im Prinzip auch funktionieren, POP3, IMAP und SMTP können anhand des Usernamens den Server auswählen.

              Genau. Deswegen hatte ich ja schon immer bedenken geäussert. Das Problem ist, das KaZaA kein Protokoll im Sinne von FTP/POP/HTTP benutzt, sondern eben ein "Multi-Bidirektionales". Das könnte natürlich Probleme geben, die du ja genannt hast.

              Aber eben: Portforwarding wird ja funktionieren. Aber mit "normalen" Proxis ist wenig zu erreichen

              Viele Grüsse

              Philipp

              1. Hallo zusammen,

                Aber eben: Portforwarding wird ja funktionieren. Aber mit "normalen" Proxis ist wenig zu erreichen

                Erst mal vielen Dank für eure wahrscheinlich sehr qualifizierten Antworten. Wie soll ich aber fli4l einrichten, dass es mir hinter dem Firewall die Ports forwarden kann? Kann ich fli4l und KaZaA auf dem selben Rechner laufen lassen? Ich kann und will keinen zweiten Rechner "hinter" dem Firewall als "Empfangs- und Weiterleitstelle" einrichten.

                Viele Grüsse
                Philipp

                Gruß,
                Benne

                1. Hallo zusammen,

                  http://www.foken.de/alexander/moinmoin.html

                  Aber eben: Portforwarding wird ja funktionieren. Aber mit "normalen" Proxis ist wenig zu erreichen
                  Erst mal vielen Dank für eure wahrscheinlich sehr qualifizierten Antworten. Wie soll ich aber fli4l einrichten, dass es mir hinter dem Firewall die Ports forwarden kann?

                  </?m=125124&t=22479>

                  Kann ich fli4l und KaZaA auf dem selben Rechner laufen lassen?

                  http://www.fli4l.de/german/howtos/howto-edonkey-fli4l.htm

                  http://www.fli4l.de

                  http://www.google.com/search?q=kazaa+linux+fli4l

                  http://www.google.com/search?q=kazaa+linux

                  http://www.linuxnetmag.com/de/issue7/m7kazaa1.html