Proxyman으로 회사 VPN 중 iOS 앱 HTTPS 트래픽 캡처하기

Proxyman으로 회사 VPN 중 iOS 앱 HTTPS 트래픽 캡처하기 커버 이미지

iOS 개발자라면 사내 서비스나 개발/스테이징 서버에 접속하기 위해 회사 VPN을 사용해야 하는 경우가 많을 것입니다.

하지만 회사 VPN은 명시적으로 허용되지 않은 HTTP/HTTPS 트래픽을 차단하는 것으로 악명이 높습니다.

이 튜토리얼에서는 회사 VPN을 사용하는 상태에서 iOS 앱의 HTTPS 트래픽을 캡처하고 가로채는 방법을 알려드리겠습니다.

이 튜토리얼을 마치면 다음을 할 수 있습니다:

  • Proxyman macOS / Windows / Linux 다운로드 및 설정
  • iOS 앱에 Atlantis 설정하기
  • VPN이 연결된 상태에서 Proxyman으로 iOS 앱의 HTTPS 트래픽을 캡처하고 확인하기

Proxyman 같은 Mitm Proxy 앱과 호환되는 VPN

다행히 일부 VPN에는 HTTP/HTTPS 트래픽을 명시적으로 허용하는 설정이 있습니다. 목록은 다음과 같습니다:

  • TunnelBlick: 별도 설정 없이 바로 작동합니다.
  • FortiClient: HTTP Proxy를 Proxyman으로 설정하면 작동합니다.
  • AnyConnect: 설정을 조금 해야 합니다.
  • Pulse Secure 및 GlobalProtect VPN: 설정이 복잡합니다.
  • Viscosity: 일부 설정이 필요합니다.
  • Cisco VPN: 프록시 설정이 필요합니다.
  • NordVPN: 프록시 설정이 필요합니다.
  • Zscaler: 작동하게 만드는 우회 방법이 있습니다.

각 VPN의 자세한 설정 방법은 VPN 문서에서 확인할 수 있습니다.

1. Proxyman macOS 다운로드 및 설정

  1. Proxyman 웹사이트에서 Proxyman macOS를 다운로드합니다. Atlantis는 Proxyman macOS에서만 작동합니다.
  2. Proxyman을 설치합니다.
  3. Proxyman -> Certificate 메뉴 -> Install Certificate for this Mac...을 엽니다.
  4. 안내에 따라 인증서를 설치합니다.
  5. Proxyman 인증서에 초록색 체크 표시가 있는지 확인합니다.
Proxyman 인증서 설치
Proxyman 인증서 설치

2. Atlantis가 필요한 이유

Atlantis는 프록시를 사용하지 않으므로 모든 VPN과 함께 작동합니다.

Atlantis를 사용하면 다음과 같은 장점이 있습니다:

  • iOS 기기에 프록시를 설정하거나 인증서를 설치할 필요가 없습니다.
  • ✅ 회사 VPN을 포함한 모든 VPN과 함께 작동합니다.
  • iOS 앱의 HTTP/HTTPS 및 WebSocket 트래픽을 캡처합니다.
  • iOS 시뮬레이터와 실제 iOS 기기에서 모두 작동합니다.

3. iOS 앱에 Atlantis 설정하기

시작하기 전에 Atlantis의 README를 읽고 안내를 따라 주세요.

iOS 앱에 Atlantis를 통합하는 단계는 다음과 같습니다:

  1. Swift Package Manager를 통해 https://github.com/ProxymanApp/atlantis의 Atlantis를 프로젝트에 추가합니다.
  2. Info.plist 파일에 필요한 권한을 추가합니다:
<key>NSLocalNetworkUsageDescription</key>
<string>Atlantis would use Bonjour Service to discover Proxyman app from your local network. Atlantis uses it to transfer the data from your iOS app to Proxyman macOS for debugging purposes.</string>
<key>NSBonjourServices</key>
<array>
    <string>_Proxyman._tcp</string>
</array>

Info.plist 예제 파일은 Info.plist에서 확인할 수 있습니다.

  1. Atlantis를 시작합니다:
  • SwiftUI:
import SwiftUI

#if DEBUG
// 1. Import Atlantis
import Atlantis
#endif

@main
struct AtlantisSwiftUIAppApp: App {

    init() {
        // 2. Connect to your Macbook
        #if DEBUG
        Atlantis.start()
        
        // 3. (Optional)
        // If you have many Macbooks on the same WiFi Network, you can specify your Macbook's name
        // Find your Macbook's name by opening Proxyman App -> Certificate Menu -> Install Certificate for iOS -> With Atlantis ->
        // Click on "How to start Atlantis" -> Select "SwiftUI" Tab
        // Atlantis.start("Your's Macbook Pro")
        #endif
    }
}
  • UIKit:
#if DEBUG
import Atlantis
#endif

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    #if DEBUG
        // 2. Connect to your Macbook
        Atlantis.start()

        // 3. (Optional)
        // If you have many Macbooks on the same WiFi Network, you can specify your Macbook's name
        // Find your Macbook's name by opening Proxyman App -> Certificate Menu -> Install Certificate for iOS -> With Atlantis ->
        // Click on "How to start Atlantis" -> Select "SwiftUI" Tab
        // Atlantis.start("Your's Macbook Pro")
    #endif

    return true
}

4. 회사 VPN을 연결한 상태에서 iOS 앱 실행하기

  1. Xcode에서 iOS 시뮬레이터 또는 실제 iOS 기기를 선택하고 앱을 실행합니다. iOS 기기나 Macbook에서는 원하는 VPN을 사용할 수 있습니다.
  2. Proxyman macOS 앱을 엽니다. 모든 HTTP, HTTPS 및 WebSocket 트래픽이 자동으로 캡처되어 Proxyman에 표시됩니다.
  • 예를 들어 https://httpbin.org/get에 대한 요청이 있다고 가정하겠습니다.
회사 VPN을 사용하는 iOS 앱의 HTTPS 트래픽 캡처
회사 VPN을 사용하는 iOS 앱의 HTTPS 트래픽 캡처
  1. ✅ 완료!

5. WebSocket 트래픽 캡처하기

다행히 Atlantis는 WebSocket 트래픽에서도 작동하며, 별도 설정 없이 모든 VPN과 함께 바로 사용할 수 있습니다.

앱에서 URLSessionWebSocketTask를 사용해 WebSocket 요청을 보내면 Proxyman에서 캡처됩니다.

회사 VPN을 사용하는 iOS 앱의 WebSocket 트래픽 캡처
회사 VPN을 사용하는 iOS 앱의 WebSocket 트래픽 캡처

WebSocket 샘플 앱은 여기에서 확인할 수 있습니다.

Atlantis는 URLSession 또는 내부적으로 URLSession을 사용하는 라이브러리에서만 작동합니다. 예를 들어 Alamofire에서도 작동합니다.

URLSession이 아닌 커스텀 네트워크 스택을 사용하는 경우에는 작동하지 않습니다.

테스트 전에 확인할 사항

Atlantis는 디버그 빌드에서만 사용하고, 앱의 릴리스 버전에서는 제거하세요. iPhone과 Mac은 같은 로컬 네트워크에 연결되어 있어야 하며, 캡처한 데이터를 Proxyman으로 보내려면 앱에 로컬 네트워크 권한이 필요할 수 있습니다. 요청에는 로그인 정보나 회사의 비공개 데이터가 포함될 수 있으므로, 테스트가 허용된 앱과 계정에서만 이 설정을 사용하세요.

다음 단계

더 읽어보기


Proxyman은 개발자가 iOS 기기, iOS 시뮬레이터, Android 기기에서 HTTPS 트래픽을 캡처할 수 있게 해 주는 고성능 macOS/Windows/Linux 앱입니다.

https://proxyman.com에서 다운로드하실 수 있습니다.

Noah Tran
Noah Tran

2026년 7월 16일 수정됨. Atlantis의 디버그 빌드, 로컬 네트워크, 개인정보 보호 관련 확인 사항을 추가했습니다.

VPN 뒤에서 실행되는 iOS 앱 디버깅하기

Atlantis와 함께 Proxyman을 사용하면 회사 VPN이 켜져 있어도 직접 개발한 앱의 트래픽을 확인할 수 있습니다.

Proxyman 다운로드