Charles Web Debugging Proxyを介してすべてのHTTP要求を実行するにはどうすればよいですか(コマンドラインの要求を含む)。


24

Charles Web Debugging Proxyソフトウェアを使用して、HTTP要求をデバッグしています。それは私のデスクトップブラウザ、Chrome、Firefoxでうまく機能し、他のプログラムが作成するHTTPリクエストさえ見ます。

Charlesを実行してネットワーク構成を確認すると、その仕組みを理解していると思います。すべてのHTTPおよびHTTPS要求のプロキシを設定し、ポート8888でこれらをリッスンするだけです。

ここに画像の説明を入力してください

しかし、私は理解できない項目は、私のような、私はターミナルで開始することをすべての要求が表示されないということであるwgetcurlまたはelinksブラウザ。

私は127.0.0.1:8888を使用してcurlとwgetでプロキシを指定できることを知っていますが、構成でネットワークインターフェイスがプロキシで設定されている場合、なぜ手動でプロキシを指定する必要があるのか​​分かりません。

また、CharlesにBlueCrab(ウェブサイトのコピー機)を表示することもできません。また、プロキシ設定も表示されません-XWindowラッパーなどを使用していると思われます(実際にはネイティブではありません) Cocoa / Carbonアプリ):

ここに画像の説明を入力してください

システム上のすべてのHTTP要求を取得してCharlesを実行するにはどうすればよいですか?

明確化

私の質問は、ネットワークインタフェースが1より多くのようにするための正しい構文について尋ねるよりを使用するように設定されたときにカールし、Wgetはプロキシを使用していないだろう、なぜのシステムの基礎についてですcurlwgetなど、

回答:


4

VPNは新しいネットワークデバイスを作成し、ifconfigコマンドでそれを確認し、すべてのシステムネットワークをそのデバイスにルーティングし、route use routeコマンドを確認できます。

ただし、HTTPプロキシ(この場合、Charles)は異なります。ポートを開くだけで、それを使用するには、HTTP設定にそのポートを使用するようにアプリケーション設定を指定する必要があります。Kevin Reidの回答などcurlwgetOS Xのシステム全体の設定は読み取れません。


プロキシがSOCKSの場合(Charles HTTPとSOCKSの両方をサポートします)、ProxyChainsまたはtsocksを使用して、プロキシ設定をサポートしていません。

例えば:

$ proxychains git clone https://github.com/rofl0r/proxychains-ng

「VPNに似た」Webデバッグを行う方法 これを行うアプリはありますか?
Pacerier

@Pacerier Wiresharkをお試しください。これはインターネット/ネットワークの監視、分析ツールです。UDP 、TCP(HTTPを含む)など、システムのほとんどすべてのネットワークトラフィックを表示できます。ただし、Webデバッグには複雑すぎますが、1行のfilterコマンドを入力して、HTTPトラフィックの表示のみが可能になります。
メンディガオ

@Pacerierも考慮mitmproxyの中で実行している場合、透過プロキシモードでは、WebデバッグVPN-ようになりました。欠点は、コマンドラインツールであり、構成が少し複雑なことです。
メンディガオ

18

プロキシの背後のwget(rcファイルを作成する必要がある場合があります) ソース

`$ vim ~/.wgetrc`

次の行を追加します。

http_proxy=http://127.0.0.1:8888

プロキシ ソースの背後にあるカール

$ vim ~/.curlrc

次の行を追加します。

proxy = 127.0.0.1:8888

プロキシ ソースの背後にあるelink

以下を使用してelinks.confファイルを検索します。

sudo find / -name elinks.conf

次の行を追加します。

protocol.http.proxy.host "127.0.0.1:8888"

BlueCrabについてわからない


1
> 127.0.0.1:8888を使用してcurlおよびwgetでプロキシを指定できることは知っていますが、構成でプロキシを使用してネットワークインターフェイスが設定されているかどうか、手動でプロキシを指定する必要がある理由がわかりませんこれらの事。
cwd

質問のタイトルと探しているものが一致しません。しかし、私もその情報を見つけようとします。
レベッカデッソンヴィル

1
一致すると思います-Charles Debugging Proxyを介してすべてのリクエストを実行し、プログラムごとにルールを設定する必要がない方法を探しています。この質問が古くなっても他の誰も答えられなくても心配しないでください。戻ってあなたの答えを受け入れます。そして、これらのユーティリティの設定構文を共有してくれてありがとう。
cwd

あなたの編集を読んだ後、私はあなたの元のリクエストをどこで誤解したかがわかりました。
レベッカデッソンビル

11

理由はなぜであるため、あなただけのすべてのHTTP要求のプロキシ処理されませんがある、オペレーティングシステムレベルで、「HTTPリクエスト」などというものは存在しません。TCP接続のみがあります。HTTPプロキシへの接続とは、HTTPリクエストをわずかに変更することと、URLで指定されたホストではなくプロキシサーバーに接続することを意味するため、HTTPリクエストの送信を実装するコードで行う必要があります。

curlとwgetには独自の設定ファイルを使用する独自のHTTPコードがあります。MacOS Xがそれらを保持するプロキシ設定を探すようにプログラムされていません。また、プロキシを使用するMac OS X設定。


6

設定ファイルに触れたくない場合は、curlを使用して以下を実行できます。

curl http://example.com --proxy 127.0.0.1:8888

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.