nRF52840 Dongle 을 이용한 블루투스 패킷 스니핑

By | 2026년 9월 7일
Table of Contents

nRF52840 Dongle 을 이용한 블루투스 패킷 스니핑

아래 테스트는 우분투 환경에서 진행합니다.

사전준비

# 1. 시스템 패키지 업데이트 및 필요 도구 설치
sudo apt update
sudo apt install -y wireshark python3-pip python3-serial

# 2. Wireshark 권한 설정 (현재 사용자를 wireshark 그룹에 추가)
sudo usermod -aG wireshark $USER
sudo usermod -aG dialout $USER

# 3. virtualenv
sudo apt-get install -y virtualenv
mkdir -p ~/work/nRF52840
cd ~/work/nRF52840
python -m venv venv
source venv/bin/activate

# 4. python-nrfutil 설치 (펌웨어 플래싱 도구)
pip3 install nrfutil

펌웨어 다운로드

wget https://nsscprodmedia.blob.core.windows.net/prod/software-and-other-downloads/desktop-software/nrf-sniffer/sw/nrf_sniffer_for_bluetooth_le_4.1.1.zip

unzip nrf_sniffer_for_bluetooth_le_4.1.1.zip

# 펌웨어
ls -al hex/sniffer_nrf52840dongle_nrf52840_4.1.1.hex

# Wireshark 연동 플러그인 스크립트
ls -al extcap/

nRF52840 Dongle DFU 모드 진입

아래 사진을 참조해서 화살표 끝의 스위치를 눌러줍니다.

1-3초간 눌러주면 LED 가 점멸하기 시작합니다.

file

Sniffer 펌웨어 플래싱

# 연결된 시리얼 포트 확인 (보통 /dev/ttyACM0)
ls /dev/ttyACM*

# 펌웨어 패키지 생성 및 플래싱 (hex 파일명은 다운로드한 버전에 맞게 수정)
nrfutil pkg generate --hw-version 52 --sd-req 0x00 --application hex/sniffer_nrf52840dongle_*.hex sniffer.zip
nrfutil dfu serial -pkg sniffer.zip -p /dev/ttyACM0 -b 115200

Wireshark extcap 플러그인 설치

# extcap 파이썬 패키지 의존성 설치
pip3 install -r extcap/requirements.txt

# Wireshark extcap 디렉토리 생성 및 파일 복사
mkdir -p ~/.local/lib/wireshark/extcap
cp -r extcap/* ~/.local/lib/wireshark/extcap/
chmod +x ~/.local/lib/wireshark/extcap/nrf_sniffer_ble.py

실행

wireshark

답글 남기기