VPN アプリで Proxyman が動作しない場合
VPN 接続中に Proxyman で通信をキャプチャできませんか? Proxyman で動作する VPN アプリと、FortiClient や AnyConnect などで HTTP プロキシを設定する方法をご確認ください。
一般に、VPN アプリは Proxyman、Charles Proxy、Fiddler、Wireshark を含むすべての Web デバッグプロキシアプリと競合する可能性があります。
このページでは、Proxyman で動作する VPN アプリと動作しない VPN アプリの一覧、およびその対処法を紹介します。
問題
企業の VPN を使用している場合、Proxyman で HTTP/HTTPS 通信をキャプチャできません。
VPN がシステムプロキシを変更する場合や、Mac 上のアプリがシステムプロキシを無視する場合は、Network Extensionをお試しください。キャプチャはシステムプロキシとは独立して動作しますが、VPN との互換性は環境によって異なります。HTTPS の通信には引き続き証明書の信頼と SSL Proxying が必要です。
Network Extension はベータ版で、macOS 26 以降では Proxyman PRO が必要です。
一般的な対処法
VPN アプリは、Proxyman のローカルサーバー(127.0.0.1:9090)ではなく、VPN サーバー経由ですべての通信を送信します。そのため、Proxyman は通信をキャプチャできません。
対処法は次のとおりです:
- VPN の設定を開き、HTTP/HTTPS プロキシを設定できる項目を探します。
- 項目がある場合は、アドレスを 127.0.0.1、ポートを 9090 に設定します。
- 項目がない場合は、「<Your VPN Name> config HTTP Proxy」で検索して設定方法を確認してください。
こうすると、VPN アプリがオンの状態でも Proxyman で通信をキャプチャできます。
✅ iOS 向けの新しい解決策:Atlantis + Proxyman
- あらゆる VPN で動作します。
- iOS アプリの HTTP/HTTPS または WebSocket の通信をすべてキャプチャできます。
- プロキシの設定や証明書のインストールは不要です。
- iOS シミュレータと iOS 実機で動作します。
👉 Atlantis の使い方
Proxyman/CharlesProxy/Fiddler で動作する VPN の一覧
1. Tunnelblick
設定なしで問題なく動作します。
2. FortiClient
HTTP プロキシを Proxyman に設定すれば、問題なく動作します。FortiClient のプロキシ設定ガイドに従ってください。
3. AnyConnect
- AnyConnect の環境設定に HTTP プロキシの項目があれば、そこで設定してみてください。
- VPN のホストを Proxyman のバイパスリストに追加してください:Tools → Proxy Settings → Bypass Proxy Settings…。このリストは、System Settings → Network → Wi-Fi → Details… → Proxies → "Bypass proxy settings for these hosts & domains" からも確認できます。(参考:GitHub issue #264)
4. Pulse Secure と Global Protect VPN
解決策 1:
まず、OpenConnect をインストールする必要があります。
brew install openconnect
openconnect のインストールパスを確認します:
whereis -b openconnect
次に、/etc/sudoers を編集します:
sudo visudo -f /etc/sudoers
次の行を追加し、<openconnect-binary-path> を openconnect のバイナリパスに置き換えてください。
%admin ALL=(ALL) NOPASSWD: <openconnect-binary-path>
これで、Juniper SSL / Pulse Connect Secure プロトコルを使用して、保護されたプロキシに接続できます。
sudo openconnect --protocol nc -u <username> <proxy-url>
接続したら、Proxyman を起動してください。通常どおり通信がキャプチャされるはずです。
クレジット:@florentmorin(GitHub issue #1203より)
sudo コマンドを使用する前に、セキュリティチームに相談してください。
解決策 2:
次の手順で動作する場合があります:
- VPN に接続し、動作することを確認します。
- Proxyman アプリを開きます。
- VPN 接続をリセットします。
クレジット:@AddictiveColors
5. Viscosity
- Viscosity VPN アプリで、HTTP/HTTPS プロキシを上書きする手順に従ってください。
設定例:
#viscosity proxy-http localhost 9090
#viscosity proxy-https localhost 9090
Viscosity VPN の別の解決策:
- 接続設定の Advanced タブを開き、次の行を追加します:
dhcp-option HTTPPROXY 127.0.0.1:9090
dhcp-option HTTPSPROXY 127.0.0.1:9090
- Proxyman を起動します。以上で完了です。
参考:Charles と VPN に関する Stack Overflow の回答
6. Cisco VPN
- VPN の接続を切断します。
- Proxyman を開きます。
- Tools → Proxy Settings → Bypass Proxy Settings… に移動します。
- VPN サーバーのドメイン(例:vpn.yourcompany.com)を追加し、Done をクリックします。
- VPN に再接続します。
7. Nord VPN
- NordVPN の場合は、以下のプロジェクトを使うと、NordVPN 経由でルーティングするローカルの HTTP/HTTPS プロキシを設定できます。そのプロキシサーバーを、Proxyman の External Proxy として使用してください。
- GitHub 上の nordlynx-proxy
クレジット:@seidnerj(GitHub issue #264より)
8. Zscaler
Zscaler チームによる回避策に従ってください。
Proxyman/CharlesProxy/Fiddler で動作しない VPN の一覧
1. Sophos
Sophos は、どの Web デバッグプロキシアプリとも動作しません。これは Sophos の既知の問題で、修正方法はありません。
セキュリティチームに依頼して、Sophos で HTTP/HTTPS プロキシを設定してもらってください。
更新情報:Sophos 10.0.4(A/V Endpoint Protection)は、新しいネットワークプロキシ拡張機能によって Proxyman で動作する可能性がありますが、CPU 使用率が急上昇する既知の問題があります。Sophos は今後の EAP リリースで修正する予定です。
クレジット:@AddictiveColors