무선 패킷을 스니핑하기 위한 장비인 AirPcap Nx 의 사용법에 대해 설명한다.
무선관련 서적에 보면, 굳이 100 여 만원 상당의 AirPcap 을 구입하지 않더라도 일반 무선 WiFi 디바이스를 사용하여 패킷 캡쳐가 가능하다고 서술되어 있는 것을 볼 수 있다.
하지만, 실제 내가 가지고 있는 서로 다른 벤더의 Wi-Fi 모듈을 사용해본 결과, 정상적으로 무선 패킷을 캡쳐한 경우는 AirPcap 이 유일했다.
운영체제가 윈도우 계열이라면, 이 문서가 필요없다. AirPcap 에서 공식적으로 윈도우용 WiFi 드라이버를 지원하기 때문이다. 클릭 몇번 만으로 무선 패킷 캡쳐 준비가 완료된다.
하지만, 여기서는 리눅스에서의 설치 방법을 설명한다. 리눅스의 경우, 비공식적(?)으로 드라이버를 지원한다. 이 말인 즉슨, 구글링을 통해 알아서 찾아야 한다는 뜻이다.
참고로 여기서 설명하는 기준은 Debian 6.0 을 기준으로 한다. 뒤에서 설명하겠지만, 데비안의 경우, 몇 개의 명령어 만으로 설치가 완료된다.
구글링 결과, 아래와 같은 웹 페이지를 찾을 수 있었다.
드라이버 설치를 위해 소스리스트에 다음을 추가한다. 해당 파일은 /etc/apt/sources.list 이다.
# Debian Squeeze/6.0 deb http://ftp.us.debian.org/debian squeeze main contrib non-free
추가했다면, 이를 적용하여 소스리스트를 업데이트해야 한다.
#apt-get update
이제 드라이버를 설치해보자!
#apt-get install firmware-atheros
이제 설치한 드라이버를 로딩하면 준비 완료다.
#modprobe ar9170usb
AirPcap WiFi 동글을 꼽아서, 인터페이스가 올라오는지 확인한다. wlan 으로 시작되는 인터페이스가 보인다면, 성공이다. 여기서는 wlan1 으로 명명하겠다.
데비안 7.0 의 경우, 약간 다른데, 아래와 같이 필요한 패키지를 설치한다.
#apt-get install firmware-linux-free #modprobe carl9170
이제 본격적으로 사용해보자.
사용하기 전에 몇가지 추가적인 설정이 필요하다. 드라이버가 로딩되어 인식한 상태는 여느 WiFi 디바이스와 동일하다. 무선 패킷을 캡쳐하기 위해서는 모니터(monitor) 모드로 변경해주어야 한다. 또한 캡쳐할 무선 채널을 설정해야 한다.
#ifconfig wlan1 down #iwconfig wlan1 mode monitor // 기본 managed -> monitor 모드로 변경 #iwconfig wlan1 channel 1 // 1번 채널을 스니핑하도록 설정 #ifconfig wlan1 up
이제 Wireshark 을 실행한다.
참고로 패킷 캡쳐 프로그램인 Wireshark 를 설치하는 방법은 [Wireshark사용하기] 문서를 참고하기 바란다.
앞서 살펴본 내용은 해당 채널의 HT20 설정 방법이다. HT40 설정을 위해서는 아래와 같이 실행한다.
//iw [options] dev <devname> set channel <channel> [HT20|HT40+|HT40-] #iw dev wlan1 set channel 44 HT40+
위 설정의 경우 44번 채널에서 HT40 으로 접속했을 경우의 설정 방법이다.