এই গাইডটি কভার করে যে কীভাবে Wireshark কনফিগার করতে হয় এবং একটি থ্রেড নেটওয়ার্ক থেকে প্যাকেট স্নিফ করতে Pyspinel চালাতে হয়।
প্যাকেট স্নিফিংয়ের জন্য Wireshark extcap প্লাগইন ব্যবহার করতে, extcap ব্যবহার করে প্যাকেট স্নিফিং পড়ুন।
স্নিফার পরিবেশ সেট আপ করুন
আপনি শুরু করার আগে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
- প্যাকেট স্নিফিং প্রয়োজনীয়তা পর্যালোচনা করুন।
- Wireshark ইনস্টল এবং কনফিগার করুন ।
- Extcap ছাড়া Pyspinel এবং নির্ভরতা ইনস্টল করুন ।
স্নিফার তৈরি করুন
ot-rcp বাইনারি আউটপুট ব্যবহার করে স্নিফার হিসাবে পরিবেশন করার জন্য একটি NCP ডিভাইস তৈরি এবং ফ্ল্যাশ করুন।
নর্ডিক nRF52840
স্নিফার হিসাবে ব্যবহারের জন্য নর্ডিক nRF52840 উদাহরণ সেট আপ করতে, openthread/ot-nrf528xx ক্লোন করুন এবং বিল্ড পরিবেশ সেট আপ করুন:
git clone https://github.com/openthread/ot-nrf528xx --recursive./script/bootstrap
বড রেট 460800 হিসাবে সেট করুন src/nrf52840/transport-config.h এ #define UART_BAUDRATE NRF_UARTE_BAUDRATE_115200 লাইনটি খুঁজুন এবং এটিকে #define UART_BAUDRATE NRF_UARTE_BAUDRATE_460800 এর সাথে প্রতিস্থাপন করুন।
বাইনারি তৈরি করুন:
./script/build nrf52840 UART_trans
ot-rcp বাইনারি আউটপুটকে হেক্সে রূপান্তর করুন:
arm-none-eabi-objcopy -O ihex build/bin/ot-rcp ot-rcp.hex
ot-rcp.hex ফাইলটিকে nRF52840 বোর্ডে ফ্ল্যাশ করুন যেমনটি nRF52840 ফ্ল্যাশ- এ বিস্তারিত আছে।
ডিবাগ পোর্ট ব্যবহার করার সময় ডেটা দুর্নীতি বা ড্রপ সংক্রান্ত সমস্যাগুলি এড়াতে nRF52840-এ ভর স্টোরেজ ডিভাইস (MSD) নিষ্ক্রিয় করুন:
expect <<EOFspawn JLinkExeexpect "J-Link>"send "msddisable\n"expect "Probe configured successfully."exitEOF
spawn JLinkExe SEGGER J-Link Commander V6.42b (Compiled Feb 5 2019 17:35:31) DLL version V6.42b, compiled Feb 5 2019 17:35:20 Connecting to J-Link via USB...O.K. Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jan 7 2019 14:07:15 Hardware version: V1.00 S/N: 683411111 VTref=3.300V Type "connect" to establish a target connection, '?' for help J-Link>msddisable Probe configured successfully.
থ্রেড নেটওয়ার্ক বৈশিষ্ট্য
চালিয়ে যাওয়ার আগে, আপনি যে থ্রেড নেটওয়ার্কটি স্নিফ করতে চান তার জন্য নিম্নলিখিত বৈশিষ্ট্যগুলি পান৷ আপনার ওয়্যারশার্ক কনফিগারেশন এবং পিসপিনেল স্নিফার চালানোর জন্য তাদের প্রয়োজন হবে।
মেশ স্থানীয় উপসর্গ
লক্ষ্য থ্রেড নেটওয়ার্কে একটি ডিভাইস থেকে মেশ স্থানীয় উপসর্গ পেতে:
OpenThread CLI ব্যবহার করে:
dataset activeMesh Local Prefix: fd33:3333:3344:0/64একটি NCP এর সাথে
wpanctlব্যবহার করা:wpanctl getprop IPv6:MeshLocalPrefixIPv6:MeshLocalPrefix = "fd33:3333:3344:0::/64"OTBR ওয়েব GUI ব্যবহার করে, স্থিতি নির্বাচন করুন। মেশ স্থানীয় উপসর্গটি IPv6:MeshLocalPrefix হিসাবে
wpanctlএর মতো তালিকাভুক্ত।
চ্যানেল
লক্ষ্য থ্রেড নেটওয়ার্কে একটি ডিভাইস থেকে চ্যানেল পেতে:
OpenThread CLI ব্যবহার করে:
channel15একটি NCP এর সাথে
wpanctlব্যবহার করা:wpanctl getprop NCP:ChannelNCP:Channel = 15OTBR ওয়েব GUI ব্যবহার করে, স্থিতি নির্বাচন করুন। চ্যানেলটি NCP হিসেবে তালিকাভুক্ত করা হয়েছে:
wpanctlএর মতো চ্যানেল ।
নেটওয়ার্ক কী
থ্রেড নেটওয়ার্ক কীটি ওয়্যারশার্ক দ্বারা ক্যাপচারের পরে প্যাকেটগুলি ডিক্রিপ্ট করতে ব্যবহার করা হয়। লক্ষ্য থ্রেড নেটওয়ার্কের একটি ডিভাইস থেকে নেটওয়ার্ক কী পেতে:
OpenThread CLI ব্যবহার করে:
networkkey33334444333344443333444433334444একটি NCP এর সাথে
wpanctlব্যবহার করা:wpanctl getprop Network:KeyNetwork:Key = [33334444333344443333444433334444]
থ্রেড নেটওয়ার্ক কী OTBR ওয়েব GUI-তে উপলব্ধ নেই।
স্নিফার বিকল্প
| অপশন | |||||
|---|---|---|---|---|---|
-u or --uart |
| ||||
-c or --channel |
| ||||
--no-reset |
| ||||
--crc |
| ||||
-b or --baudrate |
| ||||
--rssi |
| ||||
--tap |
|
স্নিফার চালান
আপনার NCP-এর জন্য নির্দিষ্ট ডিভাইস পাথ এবং থ্রেড নেটওয়ার্কের জন্য চ্যানেল ব্যবহার করা নিশ্চিত করুন যা আপনি স্নিফ করার চেষ্টা করছেন।
এই নির্দেশিকা অনুসরণ করলে, nRF52840 DK ডিবাগ পোর্ট দ্বারা হোস্ট মেশিনের সাথে সংযুক্ত করা উচিত, যেমনটি ফ্ল্যাশ nRF52840 এ বর্ণিত হয়েছে। Pyspinel স্নিফার চালানোর জন্য, বড রেট নির্দিষ্ট করতে -b পতাকা ব্যবহার করুন (যদি এটি ডিফল্ট থেকে পরিবর্তন করা হয়) এবং --no-reset পতাকা বাদ দিন।
আপনি যদি RSSI প্রদর্শনের জন্য Wireshark কনফিগার করেন , আপনি স্নিফার টুল চালানোর সময় আপনাকে --rssi পতাকাও অন্তর্ভুক্ত করতে হবে। উদাহরণস্বরূপ, Wireshark আউটপুটে অন্তর্ভুক্ত RSSI সহ /dev/ttyACM0 এ মাউন্ট করা একটি ডিভাইস ব্যবহার করে চ্যানেল 15-এ স্নিফ করতে:
cd path-to-pyspinelpython sniffer.py -c 15 -u /dev/ttyACM0 --crc --rssi -b 460800 | wireshark -k -i -
আপনি এখন Wireshark-এ এই কনফিগারেশনের জন্য প্যাকেট এবং সম্পর্কিত প্রোটোকল দেখতে সক্ষম হবেন:
পিসপিনেল স্নিফার চালানোর বিষয়ে আরও তথ্যের জন্য স্পিনেল স্নিফার রেফারেন্স পড়ুন।
নেটিভ ইউএসবি সংযোগ
nRF52840 DK USB পোর্ট ব্যবহার করার জন্য OpenThread ot-rcp বাইনারি USB_trans দিয়ে তৈরি করা প্রয়োজন:
./script/build nrf52840 USB_trans
--no-reset পতাকা ব্যবহার করুন কিন্তু স্নিফার চালানোর সময় -b পতাকা বাদ দিন: python sniffer.py -c 15 -u /dev/ttyACM0 --crc --no-reset --rssi | wireshark -k -i -
সম্পদ
অতিরিক্ত নর্ডিক সরঞ্জামের জন্য, নর্ডিক সেমিকন্ডাক্টর পড়ুন — থ্রেড স্নিফার এনআরএফ৫২৮৪০-এর উপর ভিত্তি করে Wireshark-এর সাথে ।
