{"id":11917,"date":"2026-09-07T18:28:01","date_gmt":"2026-09-07T09:28:01","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917"},"modified":"2026-09-07T18:28:01","modified_gmt":"2026-09-07T09:28:01","slug":"nrf52840-dongle-%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%eb%b8%94%eb%a3%a8%ed%88%ac%ec%8a%a4-%ed%8c%a8%ed%82%b7-%ec%8a%a4%eb%8b%88%ed%95%91","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917","title":{"rendered":"nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551"},"content":{"rendered":"<h1>nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551<\/h1>\n<p>\uc544\ub798 \ud14c\uc2a4\ud2b8\ub294 \uc6b0\ubd84\ud22c \ud658\uacbd\uc5d0\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4.<\/p>\n<h2>\uc0ac\uc804\uc900\ube44<\/h2>\n<pre><code class=\"language-bash\"># 1. \uc2dc\uc2a4\ud15c \ud328\ud0a4\uc9c0 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ud544\uc694 \ub3c4\uad6c \uc124\uce58\nsudo apt update\nsudo apt install -y wireshark python3-pip python3-serial\n\n# 2. Wireshark \uad8c\ud55c \uc124\uc815 (\ud604\uc7ac \uc0ac\uc6a9\uc790\ub97c wireshark \uadf8\ub8f9\uc5d0 \ucd94\uac00)\nsudo usermod -aG wireshark $USER\nsudo usermod -aG dialout $USER\n\n# 3. virtualenv\nsudo apt-get install -y virtualenv\nmkdir -p ~\/work\/nRF52840\ncd ~\/work\/nRF52840\npython -m venv venv\nsource venv\/bin\/activate\n\n# 4. python-nrfutil \uc124\uce58 (\ud38c\uc6e8\uc5b4 \ud50c\ub798\uc2f1 \ub3c4\uad6c)\npip3 install nrfutil<\/code><\/pre>\n<h2>\ud38c\uc6e8\uc5b4 \ub2e4\uc6b4\ub85c\ub4dc<\/h2>\n<pre><code class=\"language-bash\">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\n\nunzip nrf_sniffer_for_bluetooth_le_4.1.1.zip\n\n# \ud38c\uc6e8\uc5b4\nls -al hex\/sniffer_nrf52840dongle_nrf52840_4.1.1.hex\n\n# Wireshark \uc5f0\ub3d9 \ud50c\ub7ec\uadf8\uc778 \uc2a4\ud06c\ub9bd\ud2b8\nls -al extcap\/<\/code><\/pre>\n<h2>nRF52840 Dongle DFU \ubaa8\ub4dc \uc9c4\uc785<\/h2>\n<p>\uc544\ub798 \uc0ac\uc9c4\uc744 \ucc38\uc870\ud574\uc11c \ud654\uc0b4\ud45c \ub05d\uc758 \uc2a4\uc704\uce58\ub97c \ub20c\ub7ec\uc90d\ub2c8\ub2e4.<\/p>\n<p>1-3\ucd08\uac04 \ub20c\ub7ec\uc8fc\uba74 LED \uac00 \uc810\uba78\ud558\uae30 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.skyer9.pe.kr\/wordpress\/wp-content\/uploads\/2026\/08\/image-1788768343467.png\" alt=\"file\" \/><\/p>\n<h2>Sniffer \ud38c\uc6e8\uc5b4 \ud50c\ub798\uc2f1<\/h2>\n<pre><code class=\"language-bash\"># \uc5f0\uacb0\ub41c \uc2dc\ub9ac\uc5bc \ud3ec\ud2b8 \ud655\uc778 (\ubcf4\ud1b5 \/dev\/ttyACM0)\nls \/dev\/ttyACM*\n\n# \ud38c\uc6e8\uc5b4 \ud328\ud0a4\uc9c0 \uc0dd\uc131 \ubc0f \ud50c\ub798\uc2f1 (hex \ud30c\uc77c\uba85\uc740 \ub2e4\uc6b4\ub85c\ub4dc\ud55c \ubc84\uc804\uc5d0 \ub9de\uac8c \uc218\uc815)\nnrfutil pkg generate --hw-version 52 --sd-req 0x00 --application hex\/sniffer_nrf52840dongle_*.hex sniffer.zip\nnrfutil dfu serial -pkg sniffer.zip -p \/dev\/ttyACM0 -b 115200<\/code><\/pre>\n<h2>Wireshark extcap \ud50c\ub7ec\uadf8\uc778 \uc124\uce58<\/h2>\n<pre><code class=\"language-bash\"># extcap \ud30c\uc774\uc36c \ud328\ud0a4\uc9c0 \uc758\uc874\uc131 \uc124\uce58\npip3 install -r extcap\/requirements.txt\n\n# Wireshark extcap \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131 \ubc0f \ud30c\uc77c \ubcf5\uc0ac\nmkdir -p ~\/.local\/lib\/wireshark\/extcap\ncp -r extcap\/* ~\/.local\/lib\/wireshark\/extcap\/\nchmod +x ~\/.local\/lib\/wireshark\/extcap\/nrf_sniffer_ble.py<\/code><\/pre>\n<h2>\uc2e4\ud589<\/h2>\n<pre><code class=\"language-bash\">wireshark<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>nRF52840 Dongle \uc744 \uc774\uc6a9\ud55c \ube14\ub8e8\ud22c\uc2a4 \ud328\ud0b7 \uc2a4\ub2c8\ud551 \uc544\ub798 \ud14c\uc2a4\ud2b8\ub294 \uc6b0\ubd84\ud22c \ud658\uacbd\uc5d0\uc11c \uc9c4\ud589\ud569\ub2c8\ub2e4. \uc0ac\uc804\uc900\ube44 # 1. \uc2dc\uc2a4\ud15c \ud328\ud0a4\uc9c0 \uc5c5\ub370\uc774\ud2b8 \ubc0f \ud544\uc694 \ub3c4\uad6c \uc124\uce58 sudo apt update sudo apt install -y wireshark python3-pip python3-serial # 2. Wireshark \uad8c\ud55c \uc124\uc815 (\ud604\uc7ac \uc0ac\uc6a9\uc790\ub97c wireshark \uadf8\ub8f9\uc5d0 \ucd94\uac00) sudo usermod -aG wireshark $USER sudo usermod -aG dialout $USER # 3. virtualenv\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=11917\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-11917","post","type-post","status-publish","format-standard","hentry","category-devops"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11917"}],"version-history":[{"count":1,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917\/revisions"}],"predecessor-version":[{"id":11918,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/11917\/revisions\/11918"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}