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이 이미 동일한 채널에 연결되어 있는 경우 사용

키보드의 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 간 연결마다 고유합니다.

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

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 사용 (권장)
    • 네트워크 관리자 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 (Raw Key) Generator를 사용하여 비밀번호 해시를 생성합니다. 이렇게 하면 일반 텍스트 비밀번호를 모르더라도 캡처를 복호화할 수 있습니다.

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

부록

Wireshark 설치

Linux에서 apt install Wireshark를 사용하여 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>"'

Colorize Wireshark 802.11 데이터

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