소개
안드로이드에서 발생되는 트래픽에 대한 분석이 필요 할 때, 동일한 네트워크 대역에서 Proxy 설정을 통해서 패킷 스니핑 또는 변조등을 할 수가 있습니다. 개인적으로 맥에서 Proxy 툴은 Burp 나 MITM Proxy 나 여러가지가 있지만 Open Source 인 OWASP ZAP 을 사용하고 있는데요. 해당 ZAP 툴을 이용해서 안드로이드 프록시를 잡아서 SSL 트래픽까지 패킷 스니핑을 할 수 있는 설정 방법을 정리해보려 합니다.
Proxy를 위한 네트워크 환경 조건
나의 랩탑과 안드로이드 스마트폰간 Proxy를 이용한 패킷 분석을 하기 위해서는 먼저, 동일 네트워크(Subnet) 상에 있어야 합니다. IP 를 확인하였을 때 동일한 네트워크 대역에 있어야 한다는 거죠. 보통은 동일한 공유기나 AP를 사용한다면 동일 네트워크에 있다고 보면 될것으로 보이고 프록시로 쓸 랩탑의 IP를 확인해 놓습니다.
ZAP 툴 설정
OWASP ZAP 을 열고 Tools – Options 로 진입합니다.
Dynamic SSL Certificates 로 들어가서 Certificate가 없다면 Generate로 생성해줍니다.
그리고 저장을 합니다. 저장된 .cer 파일은 이후 안드로이드 스마트폰으로 옮겨서 등록을 진행할 예정입니다.
Local Proxies 로 들어가서 Proxy 할 Port 를 지정해 줍니다.(여기서는 8080로 설정)
안드로이드 프록시 설정
먼저 ZAP 에서 Generate 한 Certificate 인 .cer 파일을 안드로이드폰으로 옮긴 후 폰에서 실행합니다. 실행하게 되면 자동 등록이 됩니다.
이후, wifi 설정으로 들어가서 프록시로 쓸 랩탑과 동일한 네트워크(AP) 를 잡습니다.
그리고 잡은 네트워크로 들어가서 아래의 ‘고급’ 탭을 누릅니다. 그리고 프록시를 수동으로 설정 후 아래와 같이 설정합니다.
- 프록시 호스트 이름 : 랩탑 IP(여기서는 192.168.0.16으로 함)
- 프록시 포트 : OWASP ZAP Proxy 설정에서 설정한 Port(여기서는 8080로 함)
Proxy 확인
설정을 모두 마치고 안드로이드폰에서 브라우저를 열어봅시다.
아무 사이트나 접속해보면 OWASP ZAP 을 통해서 패킷을 볼 수 있는 것을 확인할 수 있습니다.