Proxyman으로 iPhone·iPad의 HTTP(s) 트래픽 캡처하기
이 짧은 글에서는 Proxyman for macOS로 iOS 기기의 HTTP/HTTPS 트래픽을 캡처하고 확인하는 방법을 보여드립니다.
이 글에서 다루는 내용
- iOS 기기에 Proxyman 인증서를 설치하고 신뢰하는 방법
- iOS(iPhone, iPad)의 Unsplash 앱에서 HTTP(s) 트래픽을 확인하는 방법
- 평문으로 HTTPS 요청과 응답 내용 확인하기
- 편집 도구로 콘텐츠 열기
- 도메인을 Pin으로 고정해 해당 도메인의 모든 요청과 응답 확인하기
1. 설정
1.1/ 앱 다운로드
아직 앱을 받지 않았다면 Proxyman 웹사이트 https://proxyman.com/에서 최신 버전을 다운로드합니다.
Proxyman을 처음 사용하신다면 Proxyman 시작하기 글을 먼저 참고합니다.
이미 설정을 마쳤다면 macOS 기기에서 HTTP/HTTPS 트래픽이 보이는 것을 확인할 수 있습니다.

1.2/ iPhone용 인증서 설정
Certificate 메뉴 -> Install Certificate on iOS -> Physic Devices로 이동합니다.

iOS 설정 가이드에서 필요한 모든 단계를 확인할 수 있습니다.

1.3/ Proxyman을 가리키도록 Wi-Fi 설정
iPhone에서 설정 앱 -> Wi-Fi -> (현재 Wi-Fi 선택) -> Configure Proxy -> Manual을 차례로 선택합니다. 그다음 가이드에 나온 것과 같은 서버와 포트를 입력해 iPhone의 프록시를 설정합니다.
192.168.0.103은 iOS 설정 가이드 창에 표시된 IP 주소로 바꿔 입력합니다.

1.4/ Proxyman 프로파일 설치
이 단계에서 Proxyman 앱을 통해 제 기기에서 오는 모든 요청을 볼 수 있습니다. 다만 응답 내용을 확인하려면 Proxyman 인증서를 설치해야 합니다.
QR 코드를 휴대폰으로 스캔하면 **http://proxy.man/ssl**로 바로 이동할 수 있습니다. 또는
Safari에서 **http://proxy.man/ssl**로 이동한 다음 Allow 버튼을 클릭합니다.
이 도메인에 접속할 수 없다면 iPhone에서 모든 VPN 앱을 끕니다. 그래도 해결되지 않으면 이 문제 해결 가이드를 참고합니다.

1.5/ Proxyman 인증서 설치
그다음 설정 앱 -> Profiles Downloaded -> Proxyman CA 선택 -> Install을 누릅니다.

1.6/ Proxyman 인증서 신뢰 설정
iOS 10.3 이상에서는 인증서를 수동으로 신뢰해야 합니다. 따라서 마지막 단계는 설정 앱 -> General -> About -> Certificate Trust Settings로 이동해 “Enable full trust for root certificates”를 켜는 것입니다.

2. Unsplash 디버깅 시작
설정은 여기까지입니다. 이제 Unsplash 앱에서 보내는 HTTP 요청과 응답을 실제로 확인해 보겠습니다.
프록시 설정을 마친 뒤부터는 iPhone의 모든 요청이 표시됩니다.

2.1/ 도메인 검색 및 Pin
먼저 Command+Shift+F로 Unsplash 앱을 검색합니다(검색창을 사용해도 됩니다).
그다음 우클릭해서 Pin을 선택합니다. 이 기능은 이 앱의 재미있는 기능 중 하나입니다. 특정 도메인을 드래그 앤 드롭으로 Pin 영역에 넣을 수도 있습니다. 도메인을 Pin으로 고정하면 Proxyman이 해당 도메인에도 자동으로 SSL Proxying을 활성화합니다.

2.2/ 복호화된 HTTPS 내용 확인
요청을 다시 보내면 HTTPS 요청과 응답을 평문으로 확인할 수 있습니다.

추가 기능: 편집 도구로 콘텐츠 열기
오른쪽 상단 모서리에 작은 버튼이 있습니다. 이 버튼을 클릭하면 macOS 기기에 설치된 편집 앱들이 나타납니다.

검색, 찾아 바꾸기 등 다른 내장 기능도 익숙한 편집기 도구처럼 본문 내용에서 쉽게 사용할 수 있습니다.

최신 iOS 버전을 위한 팁
iPhone과 Mac을 같은 Wi-Fi 네트워크에 연결하고, iOS에서 요청하면 로컬 네트워크 접근을 허용합니다. HTTP 요청은 보이는데 HTTPS 내용이 계속 가려져 있다면 두 가지를 확인합니다. Proxyman 프로파일이 설치되어 있는지, 그리고 Certificate Trust Settings에서 전체 신뢰가 켜져 있는지 확인합니다. 회사 VPN이나 일부 Private Relay 설정 때문에 휴대폰이 Mac의 프록시에 접속하지 못할 수도 있습니다.
다음 단계
이 튜토리얼을 마치면 Proxyman for macOS로 iOS 기기의 HTTP/HTTPS 트래픽을 확인할 수 있습니다.
더 알아보고 싶다면 다음 내용을 참고합니다.
- Breakpoint 도구를 사용해 데이터를 실시간으로 조작하는 방법을 익힙니다.
- Map Local을 사용해 모킹(Mock) 응답을 제공하는 방법을 익힙니다.
- iOS 시뮬레이터를 사용해 볼까요?
- ...
Proxyman은 개발자가 iOS 기기, iOS 시뮬레이터, Android 기기에서 실행되는 앱과 도메인의 HTTP(s) 트래픽을 캡처하고 분석할 수 있게 해 주는 고성능 macOS 앱입니다.
다운로드는 https://proxyman.com/에서 하실 수 있습니다.
