WLAN 트래픽 캡처

Wi-Fi 패킷을 캡처하면 기기에서 실행되는 소프트웨어에 도달하기 전에 마스킹되는 세부정보와 상호작용을 볼 수 있으므로 이러한 캡처는 일부 유형의 버그에 중요한 도구로 활용됩니다.

관련된 주요 단계는 다음과 같습니다.

  1. 맛보기에 적합한 채널을 찾아보세요.
  2. 트래픽 캡처
  3. WLAN 비밀번호의 캡처 및 해시를 공유합니다.

1. 올바른 채널 및 너비 결정

WLAN 네트워크는 다음에서 작동합니다.

  • 일반적으로 숫자로 지칭되는 채널입니다. 1~13은 2.4GHz 채널, 36~200은 5GHz 채널
  • 특정 너비 (20MHz, 40MHz, 80MHz, 160MHz)

네트워크의 각 액세스 포인트 (예: 라우터, 메시 노드)에는 일반적으로 고유한 2.4GHz 채널과 5GHz 채널이 있으며 기기가 어느 채널에 연결되어 있는지 찾아야 합니다. 다음과 같은 몇 가지 옵션이 있습니다.

라우터의 제어판 사용하기

Nest WiFi를 사용하는 경우 이 옵션을 건너뛰세요. 정보가 노출되지 않습니다.

대부분의 라우터에는 연결된 기기와 사용 중인 채널 및 너비의 목록이 있습니다.

  1. 가이드를 사용하여 라우터의 IP 주소를 확인합니다.
  2. 웹브라우저에서 라우터의 주소(예: http://192.168.1.1)로 이동합니다.
  3. 로그인합니다. 비밀번호를 모를 경우 라우터에서 태그를 찾거나 라우터 비밀번호를 사용합니다.
  4. '클라이언트' 또는 '연결된 기기'와 같은 이름의 페이지를 찾습니다. 예를 들어 Netgear 라우터 페이지는 다음과 같거나 Eero 기기일 수 있습니다.

    Netgear 클라이언트 뷰

  5. 4단계의 정보를 특정 채널 및 대역폭으로 매핑하려면 설정의 다른 곳을 살펴봐야 할 수도 있습니다. 예를 들어 Netgear 라우터의 경우 다음과 같습니다.

    Netgear 채널 보기

Mac이 이미 동일한 채널에 연결된 경우 사용 중인 Mac을 사용합니다.

키보드의 Option(옵션)을 누른 다음 Mac 상태 표시줄 오른쪽 상단에 있는 WLAN 아이콘을 클릭합니다. 몇 가지 추가 옵션과 정보가 있는 일반 WLAN 메뉴가 표시됩니다. 사용할 수 없는 메뉴 항목을 살펴보고 채널을 언급하는 항목을 찾으세요.

`Channel 60 (DFS, 5GHz, 40MHz)`

Mac WLAN

채널과 너비를 찾을 수 없음

다른 방법이 작동하지 않으면 다음을 시도해 보세요.

  1. AP에서 사용 중인 모든 채널을 나열합니다 (일반적으로 AP 또는 메시 포인트당 2개).

    a. 권장 Android 휴대전화에서는 Wifiman이나 Aruba Utilities와 같은 앱을 사용할 수 있습니다.

    a. Mac에서는 /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s를 사용하여 옵션을 나열할 수 있습니다.

  2. 아래 안내에 따라 각 채널에서 짧은 캡처 (15초면 충분)를 실행합니다.

  3. Wireshark를 설치합니다 (도움이 필요하면 Wireshark 설치 참고).

  4. Wireshark를 사용하여 각 캡처를 열고 wlan.addr == YOUR_DEVICE'S_MAC 디스플레이 필터를 적용한 다음 패킷이 표시되는지 확인합니다.

2. 캡처 시작

중요: 4방향 핸드셰이크 캡처

Wi-Fi에 보안이 사용 설정된 경우 캡처된 패킷을 복호화하기 위한 암호화 키를 알아야 합니다. 암호화 키는 기기가 네트워크에 연결될 때 발생하는 4방향 핸드셰이크에서 파생되며 기기와 AP 간의 각 연결마다 고유합니다.

따라서 Wi-Fi 페이로드를 복호화하려면 4방향 핸드셰이크를 캡처해야 합니다. 캡처를 시작할 때 기기가 이미 네트워크에 연결되어 있다면 스니핑이 시작되면 기기를 연결 해제했다가 다시 연결하거나 재부팅합니다.

Mac에서 캡처

키보드의 옵션 키를 누른 상태에서 WLAN 아이콘을 클릭하고 '무선 진단 프로그램 열기...'를 선택합니다.

Mac WLAN 캡처

무선 진단 메뉴 바에서 창 > 스니퍼를 선택합니다.

Mac WLAN 스니퍼

채널과 너비를 이전에 검색한 값으로 설정합니다 (스크린샷 예: 채널 60 및 너비 40MHz).

Mac WLAN 채널 및 너비

Start 키를 누르고 비밀번호를 입력합니다. 이제 문제를 재현해 봅니다. 4방향 핸드셰이크 캡처에 설명된 대로 연결에서 4방향 핸드셰이크를 캡처해야 합니다.

완료되면 Stop를 누릅니다. 새 *.pcap 파일은 모든 트래픽이 포함된 /var/tmp에서 찾을 수 있습니다. 파일 이름의 예는 다음과 같습니다. (null)_ch100_2018-11-06_10.52.01.pcap

Linux에서 캡처

  1. Wi-Fi를 사용 중지합니다. 다음 중 한 가지 방법을 사용할 수 있습니다.

    • GUI 사용 (권장)
    • Network Manager CLI를 사용하여 WLAN 인터페이스 관리를 중지하도록 지시합니다. sudo nmcli dev set <wlan-ifname> managed on
    • 다른 네트워크 관리자를 사용하는 경우 적절하게 조정합니다.
  2. 이 스크립트를 저장합니다. <wlan-ifname>을 Wi-Fi 인터페이스의 이름으로 바꿉니다. 이 문서에서는 스크립트 이름을 setup-wifi-capture이라고 가정합니다.

    #!/usr/bin/env bash
    sudo ifconfig <wlan-ifname>  down
    sudo rfkill unblock wifi
    sudo iwconfig <wlan-ifname>  mode monitor
    sudo ifconfig <wlan-ifname>  up
    sudo iw dev <wlan-ifname> set channel $@
    
  3. 위 스크립트를 실행하고 채널과 가장 높은 대역폭을 스니핑에 전달합니다(예: 80MHz 대역폭의 채널 153).

    ./setup-wifi-capture chan 153 80 MHz
    
  4. Wireshark를 열면 이제 WLAN 인터페이스에서 패킷을 캡처할 수 있습니다.

3. 캡처 공유하기

  1. WPA PSK (원시 키) 생성기를 사용하여 비밀번호 해시를 생성합니다. 이렇게 하면 일반 텍스트 비밀번호를 모르더라도 캡처를 복호화할 수 있습니다.

  2. 다른 사용자가 캡처를 복호화할 수 있도록 생성된 PSK도 공유해야 합니다.

부록

Wireshark 설치

Linux에서 apt installwireshark를 사용하여 Wireshark를 설치하거나 Wireshark 웹사이트에서 온라인으로 다운로드할 수 있습니다.

트래픽 복호화를 위해 Wireshark 설정

이 작업은 캡처 파일을 공유하는 데는 필요하지 않으며 Wireshark에서 복호화된 트래픽을 직접 검사하려는 경우에만 수행합니다.

Wi-Fi에서 WPA2 보안을 사용하는 WPA2-PSK는 트래픽의 암호화 및 복호화에 직접 사용되지 않습니다. 이 방법은 패킷을 복호화하기 위해 캡처해야 하는 4방향 핸드셰이크에서 사용됩니다. 그러나 Wi-Fi 연결 문제나 연결 끊김이 Wi-Fi 관리 프레임에서 가져올 수 있는 문제만 캡처하려는 경우 4방향 핸드셰이크를 캡처할 필요가 없습니다. 어떤 경우든 캡쳐하는 것은 나쁘지 않습니다.

Wireshark를 열고 환경설정 페이지 (Wireshark 메뉴 > 환경설정 또는 **Cmd + , **)를 엽니다.

  1. '프로토콜' 카테고리에서 'IEEE 802.11' 섹션을 찾아 '복호화 사용 설정'이 선택되어 있는지 확인합니다.

    Mac Wireshark 환경설정

  2. 복호화 키 라벨 옆에 있는 수정 버튼을 클릭합니다.

  3. 왼쪽 하단의 '+' 버튼을 클릭하고 'wpa-pwd' 옵션을 선택합니다.

    Mac Wireshark WPA 및 비밀번호

  4. 새로 생성된 행의 키 열 (wpa-pwd 문자열 바로 옆에 있음)을 클릭하고 WPA2 PSK와 SSID를 <password>:<ssid> 형식으로 입력합니다. 예를 들어 네트워크 이름이 MyHomeNetwork이고 WPA2 PSK가 myp4ssword이면 myp4ssword:MyHomeNetwork를 입력합니다.

    Mac Wireshark SSID

  5. 확인을 클릭하여 확인합니다.

자세한 내용은 802.11 복호화 방법에서 Wireshark 공식 가이드 (스크린샷 포함)를 참고하세요.

tshark를 사용하는 경우 다음 인수를 전달합니다.

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Wireshark 802.11 데이터를 색칠하기

metageek.com에 편리한 802.11 색상 프로필인 Wireshark Configuration Profile이 있습니다.