Thread HTTP_X_Forwarding_for: Problem mit dem Modul LWP::UserAgent
(3 answers)
Opened by Gast at 2007-02-06 02:45
Hallo ihr ...
Ich stehe da vor einem Problem, dass im allgeimen Netzwerkbereich anfängt und bei Perl aufhört. Hat vielleicht jemand von euch einen Tipp? Folgends: (Prefix) Wähle ich einen untransparenten Proxyserver ($proxy) für folgendes: $ua = LWP::UserAgent->new; $ua->agent('Irgendwas') ; $ua->timeout(15); $ua->proxy('http',$proxy); $request = HTTP::Request->new('GET', $url); $request ->header( 'Referer' => $referer); $response = $ua->request($request, $file_temp); Wird die URL per Proxy requested und als File gespeichert. Soweit so gut. Prüfe ich dass mit der URL: www.myip.name, dann stimmt die remote IP mit der IP des Proxyservers überein und "HTTP_X_Forwarded_for" ist logischerweise nicht gesetzt. (anderes bei transparentem Proxy) Jetzt zum Problem: Ich möchte gern mehrere Proxies kaskadieren - ähnlich eines Proxychains. Mindestens zwei sollen es sein. Das geht natürlich nicht über das LWP Modul -> aber hat jemand eine Idee ob sowas irgendwo Perlnah realisiert wurde? CPAN läßt mich leider im Stich :( Für C++ finde ich eine Lösung die Funktionieren könnte, aber ich brauche reinen Perl-Code. Zweite Frage: Sofern man Proxies kaskadiert, was passiert mit dem "HTTP_X_Forwared_for" Tag? Wird zum Beispiel bei transparentem Proxies die lokale IP meines Clients "durchgeschleift"? Oder bekommt jeder Proxie den IP-Tag mit der IP vom vorhergehenden Proxyserver? Worauf will ich hinaus? Konstellation: Client -> Anonymer Proxy -> Transparenter Proxy -> Server ... Was zeigt der "HTTP_X_Forwarded_For" Tag beim Transparenten Proxy an? *Nichts*, oder die IP vom *Anonymen Proxy*? Dritte und letzte Frage: Sollte die Kaskadierung nicht zu realisieren sein, kann man den "HTTP_X_Forwarded_for" Tag anderweitig spoofen? bzw. die Pakete im Core derartig manipulieren, dass ein Transparenter Proxy diesen Tag als *emty* oder *faked ip* erhält? Lieben Dank Janice |