iOS 관련 분석을 진행하다보면 네트워크 트래픽을 관찰해야 할 일이 생기곤 하는데, 모니터 모드 본인 컴퓨터에서 캡쳐하면 무선랜 패킷은 잡을 수 있지만 패킷 손실 우려도 있고... 아무튼 좀 귀찮다
iOS의 경우는 macOS와 연동하여 tcpdump를 통해 트래픽 캡쳐가 가능하다.
https://developer.apple.com/documentation/network/recording_a_packet_trace
Recording a Packet Trace | Apple Developer Documentation
Article Recording a Packet Trace Learn how to record a low-level trace of network traffic. OverviewA packet trace is a record of traffic traveling across the network. It’s useful for investigating complex network problems related to both correctness and pe
developer.apple.com
(일단 저는 macOS를 통해 가능한 것만 확인해서 리눅스나 윈도우에서는 되는지 잘 모름)
iOS와 macOS 사용이 가능한 기기가 있어야하고, iOS 기기를 macOS에 연결해놓아야 한다.
macOS의 경우에는 Xcode가 설치되어 있어야한다.
먼저 그냥 mac 실행시켰을 때 존재하는 인터페이스들이다. 여기다가 가상 인터페이스를 하나 올려서 그 인터페이스를 통해 패킷을 캡쳐할것이다.
다음 Xcode를 켜서 Window 탭 -> Devices and Simulators 탭을 선택
그러면 위와 같이 연결 되어 있는 iOS 기기의 정보를 확인할 수 있다
여기서 Identifier 번호를 복사
RVI(Remote Virtual Interface) 매커니즘을 이용하여 패킷을 캡쳐
sudo rvictl -s [Identifier]
위 명령어를 통해 새로운 가상 인터페이스를 생성할 수 있게 된다.
다음 다시 ifconfig-l을 통해 확인해보면 rvi0 인터페이스가 생성된 것을 확인할 수 있으며
그러면 생성된 인터페이스와 tcpdump를 통해 패킷 캡쳐 파일을 생성할 수 있다.
아직 live packet capture 방법은 없는 것으로 보임 ㅠ
tcpdump -i rvi0 -w [file name].pcapng
연결한 기기에서 흐르는 모든 트래픽이 캡쳐되는 것으로 확인된다!
난 아이폰의 awdl0 인터페이스 패킷을 보고자 했던 것인데, 제대로 캡쳐가 된 것을 확인할 수 있다
'Mobile' 카테고리의 다른 글
[Android_Frida] 시작하기 (0) | 2019.12.31 |
---|---|
[Android] ADB install (0) | 2019.12.31 |
[Android] Nexus5 Rooting (0) | 2019.12.31 |
[iOS_Frida] 시작하기 (0) | 2019.11.23 |
[iOS_Jailbreak] checkra1n - 모든 버전 탈옥 가능! (0) | 2019.11.11 |