Proxy, wie soll das gehen?

  • Moin

    Wozu es gut sein soll ist im moment völlig unwichtig. Es geht darum den Webzugriff auf einen selbstgemachten Proxy umzuleiten.
    Ich weiss dummerweise nicht wie man das anstellen muss. Im moment ist das problem, dass ich nicht weiss wann der Server alle daten gesendet hat.
    Das script ladet und ladet und ladet... TCPRecv gibt nie @error zurück..
    Mein Bisheriges Proxy-skript:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=..\Proxy.exe
    #AutoIt3Wrapper_UseX64=n
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    If $CmdLine[0] = 0 Then
    MsgBox(16, "ManiProx - Fehler", "Das Programm benötigt eine Konfigurationsdatei.")
    Exit
    EndIf
    ConfigLoad($CmdLine[1])
    TCPStartup()
    $SOCKET_local = TCPListen("127.0.0.1", $PORT_local)
    While True
    $CONN_local = TCPAccept($SOCKET_local)
    If $CONN_local <> -1 Then Proxy_main()
    Sleep(50)
    WEnd
    Func Proxy_main()
    $HEADER_local = TCPRecvAll($CONN_local)
    $ar = StringRegExp($HEADER_local, "Host: ([\w\W]*?)\r\n", 3)
    $server = $ar[0]
    FileWrite("temp.txt", $HEADER_local)
    $CONN_external = TCPConnect(TCPNameToIP($server), $PORT_external)
    If @error Then MsgBox(48, "ManiProx - Fehler", "Verbindungsfehler: "&@error)
    TCPSend($CONN_external, $HEADER_local)
    Do
    ToolTip("Daten empfangen")
    $recv = TCPRecv($CONN_external, 4092*4092)
    $err = @error
    FileWrite("recv.txt", $recv)
    TCPSend($CONN_local, $recv)
    Until @error Or $err
    ToolTip("")
    TCPCloseSocket($CONN_external)
    TCPCloseSocket($CONN_local)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ConfigLoad($file)
    If not FileExists($file) Then
    MsgBox(16, "ManiProx - Fehler", "Die Konfigurationsdatei "&$file&" fehlt.")
    Exit
    EndIf
    Global $PORT_local = FileReadLine($file, 1)
    Global $SERVER_external = FileReadLine($file, 2)
    Global $PORT_external = FileReadLine($file, 3)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func TCPRecvAll($sock)
    $data = ""
    Do
    $recv = TCPRecv($sock,4092*4092)
    $data &= $recv
    Until $recv = ""
    Return $data
    EndFunc

    [/autoit]

    Ich hoffe dass jemand mehr weiss als ich ^^

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

    Einmal editiert, zuletzt von TimBlo (29. August 2010 um 13:06)

  • check ich net... ich hab schon gestern gefragt wies geht und keine lösung bekommen, immer nur die fragen....
    wenn man mit nicht hundert mal hindereinander gefragt hätte....
    nochmal:
    Ich will die daten zwischen dem browser und einer bestimmten website abfangen und meinen wünschen anpassen.
    ist daran etwas verkehrt?
    "Maninthemiddle"-Attacken sind mir nicht bekannt. ich weiss nicht was das sein soll, aber wenns dir nicht gefällt, dann kann ich da wohl nichts ändern.
    Ich such nur nach hilfe.
    EDIT: jetzt hab ich das "wozu es gut sein soll" in einen satz gepackt, jetzt sollte es wohl verständlich sein.

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI