Proxyman이 VPN 앱과 함께 작동하지 않을 때
VPN을 켜면 Proxyman이 트래픽을 캡처하지 못하나요? Proxyman과 함께 작동하는 VPN 앱을 확인하고, FortiClient, AnyConnect 등에서 HTTP 프록시를 설정하는 방법을 알아보세요.
일반적으로 VPN 앱은 Proxyman, Charles Proxy, Fiddler, Wireshark를 포함한 모든 웹 디버깅 프록시 앱과 충돌할 수 있습니다.
이 페이지에서는 Proxyman과 함께 작동하는 VPN 앱과 작동하지 않는 VPN 앱을 나열하고, 해결 방법을 설명합니다.
증상
회사 VPN을 사용하면 Proxyman이 HTTP/HTTPS 트래픽을 전혀 캡처하지 못합니다.
VPN이 시스템 프록시를 바꾸거나 Mac의 앱이 시스템 프록시를 무시한다면 Network Extension을 사용해 보세요. 캡처는 시스템 프록시와 무관하게 동작하지만, VPN과의 호환성은 환경에 따라 다를 수 있습니다. HTTPS는 여전히 인증서 신뢰 설정과 SSL Proxying이 필요합니다.
Network Extension은 BETA이며 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는 어떻게 사용하나요?
- Atlantis README를 확인하세요.
- 블로그: 회사 VPN을 사용하는 iOS 앱에서 HTTPS 트래픽을 캡처하는 방법
Proxyman/CharlesProxy/Fiddler와 함께 작동하는 VPN 목록
1. Tunnelblick
별도의 설정 없이 잘 작동합니다.
2. FortiClient
Proxyman으로 HTTP 프록시를 설정하면 잘 작동합니다. FortiClient 프록시 설정 가이드를 따르세요.
3. AnyConnect
- AnyConnect의 환경설정에 HTTP 프록시 설정이 있다면 설정해 보세요.
- Proxyman에서 VPN 호스트를 우회 목록에 추가하세요: Tools → Proxy Settings → Bypass Proxy Settings…. Mac의 System Settings → Network → Wi-Fi → Details… → Proxies → "Bypass proxy settings for these hosts & domains"에서도 목록을 찾을 수 있습니다. (참고: GitHub 이슈 #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>를 실제 바이너리 경로로 바꾸세요.
%admin ALL=(ALL) NOPASSWD: <openconnect-binary-path>
이제 Juniper SSL / Pulse Connect Secure 프로토콜로 보안 프록시에 연결할 수 있습니다.
sudo openconnect --protocol nc -u <username> <proxy-url>
연결되면 Proxyman을 실행하세요. 평소처럼 트래픽을 캡처할 수 있습니다.
제공: @florentmorin (GitHub 이슈 #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에 다시 연결하세요.
참고: GitHub 이슈 #264
7. Nord VPN
- NordVPN을 사용한다면 아래 프로젝트로 NordVPN을 거치는 로컬 HTTP/HTTPS 프록시를 설정할 수 있습니다. 그다음 이 프록시 서버를 Proxyman의 External Proxy로 사용하세요.
- GitHub의 nordlynx-proxy
제공: @seidnerj (GitHub 이슈 #264)
8. Zscaler
Zscaler 팀의 우회 방법을 따르세요.
Proxyman/CharlesProxy/Fiddler와 함께 작동하지 않는 VPN 목록
1. Sophos
Sophos는 어떤 웹 디버깅 프록시 앱과도 함께 작동하지 않습니다. 이는 Sophos의 알려진 문제이며 현재 해결 방법이 없습니다.
보안팀에 Sophos에서 HTTP/HTTPS 프록시를 설정해 달라고 요청하세요.
업데이트: Sophos 10.0.4(A/V Endpoint Protection)는 새로운 네트워크 프록시 확장을 통해 Proxyman과 함께 작동할 수 있습니다. 다만 CPU 사용량이 급격히 치솟는 알려진 문제가 있습니다. Sophos는 다음 EAP 릴리스에서 이 문제를 수정할 계획입니다.
제공: @AddictiveColors