Wireshark 설치 및 구성

GitHub에서 소스 보기

Wireshark는 IEEE 802.15.4, 6LoWPAN, IPv6, MLE (메시 링크 설정), UDP, CoAP와 같은 Thread 스택의 네트워크 프로토콜을 디코딩할 수 있는 오픈소스 도구입니다.

Pyspinel 스니퍼 도구는 Thread NCP 또는 RCP 기기에 연결하고 이를 무선 스니퍼 패킷으로 변환하여 pcap (패킷 캡처) 스트림을 생성하여 Wireshark에 직접 저장하거나 파이프합니다.

Pyspinel과 함께 Wireshark를 사용하려면 다음 단계의 설치 권장사항을 참고하세요. 또한 Thread 패킷을 올바르게 표시하고 RSSI 측정값을 수신하도록 Wireshark를 구성해야 합니다.

Wireshark 설치

Linux

터미널을 열고 다음 명령어를 실행하여 Wireshark를 다운로드하고 설치합니다.

sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark

Wireshark를 root 이외의 사용자로 실행하는 것이 좋습니다. 이렇게 하려면 패키지를 다시 구성합니다.

sudo dpkg-reconfigure wireshark-common

'슈퍼 사용자가 아닌 사용자가 패킷을 캡처할 수 있어야 하나요?'라는 대화상자가 표시되면 를 선택한 다음 wireshark 사용자를 추가하고 파일 권한을 업데이트합니다.

sudo adduser $USER wireshark
sudo chmod +x /usr/bin/dumpcap

macOS 및 Windows

Wireshark를 다운로드하여 설치합니다. 운영체제의 보안을 최적화하려면 Wireshark - 캡처 권한에 관한 플랫폼별 정보를 참고하세요.

Wireshark 프로토콜 구성

프로토콜을 구성하려면 Wireshark에서 Preferences...를 선택하고 Protocols 섹션을 펼칩니다.

6LoWPAN

프로토콜 목록에서 6LoWPAN을 선택하고 다음 설정을 확인하거나 변경합니다.

  1. RFC 4944에 따라 ID 파생을 선택 해제합니다.
  2. 타겟 스레드 네트워크의 메시 로컬 접두사로 컨텍스트 0을 업데이트합니다.

OT Sniffer Wireshark 6LoWPAN

Wireshark는 컨텍스트 구성을 사용하여 압축된 IPv6 주소를 파싱하고 IPv6 소스 및 대상 주소를 올바르게 표시합니다.

게이트웨이에 구성된 다른 메시 내 접두사의 주소를 표시하려면 이러한 접두사로 다른 컨텍스트 ID를 업데이트합니다.

특정 메시 네트워크 접두사의 컨텍스트 ID를 가져오려면 MLE 데이터 응답 메시지에서 스레드 네트워크 데이터 TLV를 확인하세요. 예를 들면 다음과 같습니다.

Context 1: fd00:7d03:7d03:7d03::/64

CoAP

프로토콜 목록에서 CoAP를 선택하고 CoAP UDP 포트를 61631로 설정합니다. 이렇게 하면 주소 요청과 같은 TMF 메시지가 표시됩니다.

IEEE 802.15.4

프로토콜 목록에서 IEEE 802.15.4를 선택하고 다음 설정을 확인하거나 변경합니다.

  1. 802.15.4 Ethertype (16진수)을 '0x809a'로 설정합니다.
  2. 보안 모음을 'AES-128 암호화, 32비트 무결성 보호'로 설정합니다.
  3. 패킷 복호화에 사용할 Thread 네트워크 마스터 키를 추가하는 복호화 키 옆에 있는 수정... 버튼을 클릭합니다.

    1. +를 클릭하여 복호화 키를 추가합니다.
    2. 복호화 키 열에 Thread 네트워크 마스터 키를 입력합니다.
    3. 복호화 키 색인으로 '1'을 입력합니다.
    4. 키 해시 열 목록 상자에서 스레드 해시를 선택합니다.

      OT 스니퍼 Wireshark IEEE 802.15.4

    5. 확인을 클릭하여 복호화 키를 저장합니다.

스레드

프로토콜 목록에서 스레드를 선택하고 다음 설정을 확인하거나 변경합니다.

  • 스레드 시퀀스 카운터에 '00000000'을 입력합니다.
  • PAN ID를 마스터 키의 처음 두 옥텟으로 사용을 선택 해제합니다.
  • 자동으로 스레드 시퀀스 카운터 획득을 선택합니다.

확인 버튼을 클릭하여 프로토콜 변경사항을 저장합니다.

일부 스레드 트래픽은 ZigBee 프로토콜로 분석될 수 있습니다. 이 두 프로토콜을 올바르게 표시하려면 Wireshark에서 사용 설정된 프로토콜을 수정하세요.

  1. Wireshark에서 Analyze(분석)로 이동한 다음 Enabled Protocols(사용 설정된 프로토콜)를 클릭합니다.
  2. 다음 프로토콜의 선택을 해제합니다.

    1. LwMesh
    2. ZigBee
    3. ZigBee Green Power

Wireshark RSSI 구성

Wireshark에서 RSSI를 표시하려면 다음 단계를 따르세요.

  1. Preferences...(환경설정)를 선택하고 Protocols(프로토콜) 섹션을 펼친 다음 IEEE 802.15.4를 클릭합니다.
  2. FCS 형식을 설정합니다.

    • IEEE 802.15.4 TAP가 사용 중지된 경우: TI CC24xx 메타데이터
    • IEEE 802.15.4 TAP가 사용 설정된 경우: ITU-T CRC-16 Nordic Semiconductor nRF52840 DK의 패킷 스니핑 가이드를 따르는 경우 --tap 플래그를 참고하세요.
  3. 확인을 클릭하여 저장하고 환경설정 메뉴로 돌아갑니다.

  4. 환경설정에서 모양을 선택한 다음 을 선택합니다.

  5. 새 항목을 추가합니다.

    • 제목: RSSI
    • 유형: 맞춤
    • 필드: wpan.rssi

OT Sniffer Wireshark RSSI