splinter: TOR über fsockopen ansprechen

Hallo Leute

Ich möchte einen HTTP Request über TOR starten.
Wenn ich den normalen HTTP Request an TOR sende erhalte ich logischerweise die Fehlermeldung dass TOR kein HTTP sondern ein SOCKS-Proxy ist! (TOR bevorzugt ausserdem SOCKS 4A)

Ich hab leider keine Ahnung was ich an einen SOCKS Proxy senden muss!
Zwar weis ich wie die Authentifizierung funktioniert jedoch find ich die benötigten Funktionen in PHP nicht und selbst wenn ich die finden würde weis ich nicht wies weiter geht!
Vielleicht habe ich auch nur die falschen Suchwörter verwendet, bitte um Entschuldigung falls das so ist, aber ich finde zu diesem Thema nichts im Netz!

Hat jemand ne Ahnung wie das geht?

MfG

splinter

  1. Ich hab leider keine Ahnung was ich an einen SOCKS Proxy senden muss!

    Das Protokoll ist u.A. hier beschrieben:
    http://de.wikipedia.org/wiki/Socks
    Da es im Wesentlichen ja eh nur ein Befehl ist, sollte das kein Aufwand sein.

    Zwar weis ich wie die Authentifizierung funktioniert jedoch find ich die benötigten Funktionen in PHP nicht und selbst wenn ich die finden würde weis ich nicht wies weiter geht!

    Die Funktion um mit dem Proxy zu reden ist diese hier:
    http://de.php.net/manual/de/function.fsockopen.php

    1. Ich hab leider keine Ahnung was ich an einen SOCKS Proxy senden muss!
      Das Protokoll ist u.A. hier beschrieben:
      http://de.wikipedia.org/wiki/Socks
      Da es im Wesentlichen ja eh nur ein Befehl ist, sollte das kein Aufwand sein.

      Ja genau das weis ich über SOCKS! Aber was mach ich nach der Authentizifierung?

      Zwar weis ich wie die Authentifizierung funktioniert jedoch find ich die benötigten Funktionen in PHP nicht und selbst wenn ich die finden würde weis ich nicht wies weiter geht!
      Die Funktion um mit dem Proxy zu reden ist diese hier:
      http://de.php.net/manual/de/function.fsockopen.php

      Das sagte ich bereits! Mir fehlen eher die Funktionen um Daten im Binärformat zu senden! Dummerweise liefert mir TOR keine Fehlermeldungen, ausser dass er kein HTTP Proxy sei, wenn ich einen HTTP-Request darüber absende!

      1. Das sagte ich bereits! Mir fehlen eher die Funktionen um Daten im Binärformat zu senden! Dummerweise liefert mir TOR keine Fehlermeldungen, ausser dass er kein HTTP Proxy sei, wenn ich einen HTTP-Request darüber absende!

        Jap, sorry, die entsprechenden Funktionen um Daten auf die Verbindung zu schreiben sind fwrite() und fread() (das hätte aber auch durchaus aus der Doku von fsockopen hervorgehen können).
        Was du nach der Authentifizierung machst (und ich denke damit hast du eingeschlossen, dass du Ziel-Host und Port angibst, wie es das Socks Protokoll vorsieht?) hängt davon ab, was dein Ziel-System überhaupt ist. Wenn es ein Web-Server ist, wirst du im Anschluss an den Socks-Header einfach ein HTTP Request senden.

        1. Das sagte ich bereits! Mir fehlen eher die Funktionen um Daten im Binärformat zu senden! Dummerweise liefert mir TOR keine Fehlermeldungen, ausser dass er kein HTTP Proxy sei, wenn ich einen HTTP-Request darüber absende!

          Jap, sorry, die entsprechenden Funktionen um Daten auf die Verbindung zu schreiben sind fwrite() und fread() (das hätte aber auch durchaus aus der Doku von fsockopen hervorgehen können).
          Was du nach der Authentifizierung machst (und ich denke damit hast du eingeschlossen, dass du Ziel-Host und Port angibst, wie es das Socks Protokoll vorsieht?) hängt davon ab, was dein Ziel-System überhaupt ist. Wenn es ein Web-Server ist, wirst du im Anschluss an den Socks-Header einfach ein HTTP Request senden.

          jaja fwrite() und fread() sind mir auch bekannt das ändert aber nichts daran dass der SOCKS Proxy die Authentifizierung im Binärformat haben will! Dann kann ich ja schlecht einfach fwrite($handle, '0000100 ...'); schreiben!

          Wenigstens weis ich jetz dass ich nach der Authenzifizierung einfach den HTTP-Request absetzen kann, Danke dir! :-)

          1. jaja fwrite() und fread() sind mir auch bekannt das ändert aber nichts daran dass der SOCKS Proxy die Authentifizierung im Binärformat haben will! Dann kann ich ja schlecht einfach fwrite($handle, '0000100 ...'); schreiben!

            Na, schreib doch deine Fragen auch so dass man weiß was du willst ;)
            Wenn du Probleme hast den String zu erzeugen, gugg doch mal die Funktionen chr() / ord(), bindec() / decbin() und hexdec() / dechex() an. Damit solltest du arbeiten können.

            1. jaja fwrite() und fread() sind mir auch bekannt das ändert aber nichts daran dass der SOCKS Proxy die Authentifizierung im Binärformat haben will! Dann kann ich ja schlecht einfach fwrite($handle, '0000100 ...'); schreiben!

              Na, schreib doch deine Fragen auch so dass man weiß was du willst ;)
              Wenn du Probleme hast den String zu erzeugen, gugg doch mal die Funktionen chr() / ord(), bindec() / decbin() und hexdec() / dechex() an. Damit solltest du arbeiten können.

              Ja hab ich jetzt die Funktionsweise der Authentifizierung falsch verstanden? Verlangt der Proxy jetzt Zahlen in Strings oder Zahlen in Bytes?