본문 바로가기

Network

Mobile Sniffing

네트워크 스니핑이란 네트워크상 데이터를 도청하는 행위이다. 스니핑 환경으로 유선과 무선으로 크게 나뉘어 생각해 볼 수 있다. 유선은 기존에 PC에서 랜선으로 연결하여 허브, 스위치, 라우터와 같은 장비를 통해 네트워크를 하는 형태이다. 무선은 노트북이나 스마트폰 기기에서 사용하는 WLAN (무선랜)을 의미한다. 


기존에 네트워크 스니핑에 활용되는 방법으로 포트 미러링, ARP 캐시 포이즈닝, 허빙 아웃과 같은 기법을 접해보았을 것이다. 간단하게 자신의 PC에서 네트워크를 캡쳐할 때는 와이어샤크와 같은 도구로 손쉽게 할 수도 있다. 무선랜 환경도 마찬가지다.


그렇다면 스마트폰에서는 어떻게 할까?


스마트폰에서 사용할 수 있는 네트워크는 무선랜 뿐만 아니라 상용 통신망(3G, LTE) 도 있다. 이런 환경에서 스니핑(데이터를 중간에서 가로채기)한다는 것은 물론 불가능하다. 이미 암호화되어있기 때문이다. 암호화가 이루어지지 않은 일부 구간을 운 좋게 알아내어 스니핑한다면 모르겠다. 

어떤 네트워크 장비에서 하는것이 아닌 일반적으로 자신의 휴대폰에서 네트워크를 캡쳐하는 방법에 대해 알아 보도록 하겠다.


#아이폰 패킷 스니핑


과거 Jailbreak 가 가능한 경우 다음과 같이 아이폰에서 패킷을 캡쳐 할 수 있었다.

Pirni Pro Packet Sniffing & Hacking With an iphone  http://www.youtube.com/watch?v=fjK7Jtq2chk 

날으는 물고기, 아이폰 패킷 스니핑 http://blog.pages.kr/718


#안드로이드 패킷 스니핑


안드로이드 관련 3가지 방법에 대해 소개 하겠다.


1. 루팅이 가능한 환경에서 TCPDUMP 사용

2. 루팅이 가능한 환경에서 Shark for Root 앱 설치

3. 루팅이 없이도 가능한 tPacketCapture. 단, TAOSOFRWARE 라는 곳의 VPN을 이용한 앱인데 개인 네트워크 정보가 해당 업체에 모두 저장될 가능성이 있으므로 민감한 정보가 유출되지 않도록 주의해야 한다.


하지만 이런 방법으로는 다소 불편함이 따른다. 기기 자체에서 패킷을 저장하면 손실의 위험은 적을지 모르나 저장된 패킷을 다시 분석 가능한 PC로 옮겨야 하는 번거로움이 있기 때문이다.

이런 경우 PC를 라우터로 설정하여 사용하면 분석할 때 매우 편리하다.


자세한 내용은 다음 블로그를 참고해라. http://o5o5o.dyndns.org/wp/?p=807

단, 단순히 ICMP 리다이렉트 뿐만 아니라 해당 IP에 대해 모든 방화벽 인/아웃 바운드를 허용해야 한다.





개념을 다시 설명하자면, 위의 그림에서 스마트폰 기기에서 게이트 웨이(라우터)를 PC로 지정해주어 모든 트래픽이 전부 PC를 통해 지나가게 만드는 것이다.

'Network' 카테고리의 다른 글

와이어샤크 명령어로 실행하기  (0) 2013.06.27
loopback 스니핑  (0) 2013.04.24
Wireshark - pcapng  (1) 2012.11.05
MAC address OUI lookup by python  (0) 2012.09.18
rule2alert - 스노트 룰로 패킷 만들기  (0) 2012.06.14