web-dev-qa-db-ja.com

Squidインターセプトプロキシを使用して自分のマシンから行われたすべてのhttpリクエストでユーザーエージェントを変更するにはどうすればよいですか?

allこのマシンからのHTTPリクエストでユーザーエージェントを変更したいのですが。各ブラウザでユーザーエージェントを変更するのは簡単ですが、他のアプリもhttpリクエストを行います。それらすべてを捕まえることが重要です。特に、ユーザーエージェントを変更するオプションがないアプリ(Steam)が1つあります。

したがって、コンピューターから行われたすべてのhttp要求でユーザーエージェントを変更するインターセプトプロキシを実行したいと思います。

これを書いたsquid.conf

# Squid normally listens to port 3128
http_port 3128
http_port 3127 intercept

# i don't care for caching. -Matt
cache deny all

request_header_access User-Agent deny ALL

ブラウザをポイントすると機能します。しかし、どうすればSquidに自分のマシンからのすべてのhttpリクエストをインターセプトさせることができますか?ものをキャプチャする方法がわかりません。 Iptables?ファイアウォールで保護されていますか?

3
Colonel Panic

Nginxを透過プロキシとしてインストールします。 user-agentを変更する方法を示す設定スタンザの例を次に示します。

http {
    server {
        location / {
            proxy_pass              http://$Host$request_uri;
            proxy_set_header        "User-Agent" "custom agent";
            proxy_connect_timeout   60;
            proxy_send_timeout      60;
            proxy_read_timeout      60;
        }
    }
}

詳細はドキュメント proxy_set_header をご覧ください。

4
shawmzhu

リクエストヘッダーをその場で書き換える透過プロキシを設定します。

squid3透過プロキシ書き込み用。

http_port 3127  transparent

80からポート3127へのトラフィックを強制します

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination Server.ip.Address : 3127

そのルートがポート80を閉じる/ブロックすることを確認します
LANネットワークからのすべてのトラフィックはポート80にアクセスできません。

iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP
1
omgshit

transparent 」またはより正確には「インターセプト」モードで動作するには、プロキシが必要です。傍受は、別のツール(通常はファイアウォール)を使用して、さまざまなOSIレベルで実行されています。上記のリンクはあなたにかなりの詳細を共有します、躊躇しないでください。

0
poige