Netcat(またはSocat)を使用すると、ブラウザと特定のホスト:ポート間のトラフィックを簡単にキャプチャできます。
しかし、Linuxでは、HTTPクライアント(ブラウザまたはコマンドラインプログラム)と任意のホスト:ポート間のトラフィックをキャプチャするために使用できるSquidのHTTPプロキシに対応するコマンドラインはありますか?
ベストアンサー1
PerlとPython(そしておそらくRuby)には、簡単なHTTPプロキシをすばやく構築するために使用できるシンプルなツールキットがあります。
Perl では、以下を使用します。HTTP::プロキシ。以下は、マニュアルの3行の例です。リクエストやレスポンスをフィルタリング、記録、または書き換えるには、フィルタを追加してください。例については、マニュアルを参照してください。
use HTTP::Proxy;
my $proxy = HTTP::Proxy->new( port => 3128 );
$proxy->start;
Pythonでは、次を使用します。シンプルなHTTPサーバー。以下は少し変更されたサンプルコードです。効果ロボット。do_GET
要求または応答をフィルタリング、記録、または書き換えるには、メソッド(または他のメソッド)を調整します。
import SocketServer
import SimpleHTTPServer
import urllib
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
def do_GET(self):
self.copyfile(urllib.urlopen(self.path), self.wfile)
httpd = SocketServer.ForkingTCPServer(('', 3128), Proxy)
httpd.serve_forever()