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?ファイアウォールで保護されていますか?
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 をご覧ください。
リクエストヘッダーをその場で書き換える透過プロキシを設定します。
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
「 transparent 」またはより正確には「インターセプト」モードで動作するには、プロキシが必要です。傍受は、別のツール(通常はファイアウォール)を使用して、さまざまなOSIレベルで実行されています。上記のリンクはあなたにかなりの詳細を共有します、躊躇しないでください。