این کتاب، یک راهنمای کامل و قدرتمند برای ساخت پروژه مارشال (Marshall) است؛ یک ابزار امنیتی بیسیم مبتنی بر ESP32، سه ماژول NRF24 و نمایشگر OLED. این پروژه با هدف آموزش مفاهیم عملی الکترونیک، برنامهنویسی و امنیت شبکه طراحی شده است.
مارشال نسخه تکاملیافته پروژههای RF-Clown و VOID است که با قدرت بیشتر، وباینترفیس پیشرفته و قابلیتهای امنیتی گستردهتر، یک ابزار کامل برای تست امنیت شبکههای بیسیم فراهم میکند.
در طول این مسیر، شما با مراحل مختلفی از جمله شناخت قطعات، سیمبندی، نصب نرمافزار، آپلود فریمور و راهاندازی وباینترفیس آشنا خواهید شد. این پروژه به گونهای طراحی شده که کاربران با هر سطح از دانش بتوانند آن را دنبال کنند.
هدف این کتاب
هدف این کتاب، آموزش مفاهیم کلیدی الکترونیک و برنامهنویسی از طریق یک پروژه عملی و جذاب است. شما پس از خواندن این کتاب، قادر خواهید بود یک دستگاه Jammer قدرتمند بسازید، با مفاهیم RF آشنا شوید و مهارتهای برنامهنویسی خود را تقویت کنید.
این کتاب به سه فاز اصلی تقسیم شده است که هر کدام به تدریج شما را با مفاهیم جدید آشنا میکند. در فاز اول، با اصول اولیه سختافزار و نرمافزار آشنا میشوید. در فاز دوم، قابلیتهای تعاملی را اضافه میکنید و در فاز سوم، پروژه را به یک دستگاه شبکهای قابل کنترل از راه دور تبدیل میکنید.
تذکر قانونی و اخلاقی
این پروژه صرفاً برای اهداف آموزشی و آشنایی با مفاهیم فنی طراحی شده است. هرگونه استفاده غیرمجاز، ایجاد مزاحمت یا تداخل در شبکههای مخابراتی، ممنوع و پیگرد قانونی دارد. مسئولیت هرگونه سوءاستفاده بر عهده خود کاربر است.
معرفیصفحه ۲ از ۲۹
درباره پروژه مارشال
مارشال (Marshall) یک پروژه منبعباز قدرتمند برای تست امنیت شبکههای بیسیم در باند ۲.۴ گیگاهرتز است. این پروژه بر پایه برد ESP32، سه ماژول رادیویی NRF24L01+ PA+LNA و یک نمایشگر OLED ساخته شده و قابلیتهای متنوعی را در اختیار کاربر قرار میدهد.
ویژگیهای کلیدی پروژه مارشال عبارتند از:
۸ حالت جمینگ: WiFi، BLE، Bluetooth، Video TX، RC، Zigbee، USB Wireless، NRF24 و حالت ترکیبی All-in-One.
استفاده همزمان از سه ماژول NRF24 برای پوشش گستردهتر و قدرت بیشتر.
وباینترفیس پیشرفته: کنترل کامل دستگاه از طریق مرورگر با طراحی واکنشگرا.
نمایشگر OLED: نمایش وضعیت، مود فعال و اطلاعات لحظهای.
۴ LED رنگی: بازخورد بصری برای حالتهای مختلف.
کنترل با دکمه: تغییر مود و فعال/غیرفعال کردن بدون نیاز به کامپیوتر.
مزیت کلیدی
برخلاف پروژههای ساده، مارشال با استفاده از سه ماژول NRF24 به صورت همزمان، قدرت اختلال را به طور چشمگیری افزایش میدهد و حالت All-in-One آن امکان حمله به چندین پروتکل را به طور همزمان فراهم میکند.
این پروژه صرفاً برای اهداف آموزشی و تست امنیتی در محیطهای کنترلشده طراحی شده است. استفاده غیرمجاز از آن، جرم محسوب میشود.
تحلیلصفحه ۳ از ۲۹
تاریخچه Jamming
Jamming یا ایجاد اختلال عمدی در سیگنالهای رادیویی، یکی از قدیمیترین روشهای جنگ الکترونیک است که ریشه در تاریخ ارتباطات رادیویی دارد. از جنگ جهانی دوم که نیروها برای گمراه کردن رادارهای دشمن از Jamming استفاده میکردند، تا امروز که این مفاهیم به ابزاری قدرتمند برای آموزش و تست امنیتی تبدیل شدهاند، این حوزه همواره دستخوش تحول بوده است.
در ابتدا، تجهیزات Jamming دستگاههای عظیم و پرهزینهای بودند که تنها در اختیار ارتشها قرار داشتند. اما با پیشرفت فناوری و کوچکسازی قطعات الکترونیکی، امروزه با استفاده از یک برد ESP32 و چند ماژول NRF24، هر کاربری میتواند یک RF Jammer قابل حمل و کمهزینه را در خانه بسازد.
با ظهور اینترنت اشیا و افزایش تعداد دستگاههای متصل به شبکه، درک مفاهیم Jamming بیش از پیش اهمیت پیدا کرده است. پروژه مارشال با ارائه یک ابزار عملی و آموزشی، به کاربران کمک میکند تا با مفاهیم کلیدی این حوزه آشنا شوند.
قلاب فکری
آیا تا به حال فکر کردهاید که چرا برخی از شبکههای وایفای در ساعات خاصی از روز کند میشوند؟ یکی از دلایل اصلی، تداخل امواج در باند ۲.۴ گیگاهرتز است. این پروژه به شما نشان میدهد که چگونه یک سیگنال ساده میتواند کل یک باند فرکانسی را تحت تأثیر قرار دهد.
قطعاتصفحه ۴ از ۲۹
شناخت قطعات مشخصات فنی
پیش از هر اقدامی، لازم است با هر قطعه و ویژگیهای فنی آن آشنا شوید. در این بخش، قطعات کلیدی پروژه مارشال را معرفی میکنیم.
برد ESP32-WROOM-32
نقش: پردازنده مرکزی و هسته اصلی پروژه.
پردازنده: دو هسته Tensilica Xtensa LX6 با فرکانس ۲۴۰ مگاهرتز.
حافظه: فلش ۴ مگابایت، رم ۵۲۰ کیلوبایت.
ولتاژ کاری: ۳.۳ ولت.
مدل مناسب: ۳۸ پین (مدلهای ۳۰ پین برای این پروژه مناسب نیستند).
ماژول NRF24L01+ PA+LNA
نقش: فرستنده سیگنالهای رادیویی در باند ۲.۴ گیگاهرتز.
PA+LNA: تقویتکننده توان (برد بیشتر) و تقویتکننده کمنویز.
ولتاژ و جریان: ۳.۳ ولت و ۱۵۰ میلیآمپر.
پروتکل ارتباطی: SPI.
تعداد مورد نیاز: ۳ عدد (برای استفاده همزمان).
OLED 0.96 اینچی (I2C)
نقش: نمایش وضعیت، مود فعال و اطلاعات.
رزولوشن: ۱۲۸x۶۴.
درایور: SSD1306.
پروتکل: I2C (SDA=GPIO21, SCL=GPIO22).
نکته حیاتی تغذیه
مجموع جریان مصرفی سه ماژول NRF24 به حدود ۴۵۰ میلیآمپر میرسد. حتماً ماژولها را از یک منبع تغذیه جداگانه (مثلاً رگولاتور AMS1117 متصل به پین ۵ ولت ESP32) تغذیه کنید. تغذیه از پین ۳.۳ ولت ESP32 باعث ناپایداری میشود.
خریدصفحه ۵ از ۲۹
راهنمای خرید قطعات
در این بخش، نکات کلیدی برای خرید قطعات پروژه مارشال ارائه شده است.
راهنمای خرید ESP32
حتماً مدل ۳۸ پین را انتخاب کنید.
روی برد عبارت ESP32-WROOM-32 حک شده باشد.
کابل Micro-USB حتماً قابلیت انتقال داده داشته باشد.
راهنمای خرید NRF24
عبارت PA+LNA روی ماژول حک شده باشد و آنتن خارجی داشته باشد.
حتماً ۳ عدد تهیه کنید.
به کیفیت آنتن و کانکتور آن دقت کنید.
راهنمای خرید OLED و سایر قطعات
OLED: مدل ۰.۹۶ اینچی با درایور SSD1306 و پروتکل I2C.
خازنها: ۳ عدد خازن ۱۰ تا ۱۰۰ میکروفاراد (برای هر ماژول NRF24 یک عدد).
کلیدهای فشاری: ۳ عدد تاکت سویچ ۴ پایه.
LEDها: ۴ عدد LED رنگی (سبز، قرمز، آبی، زرد) با مقاومتهای ۲۲۰-۳۳۰ اهم.
اشتباه رایج
حتماً مدل PA+LNA را تهیه کنید. مدل معمولی (بدون PA+LNA) برد بسیار کمی دارد و برای این پروژه قابل استفاده نیست.
آمادهسازیصفحه ۶ از ۲۹
آمادهسازی محیط کار
قبل از شروع کار، محیط خود را آماده کنید. این شامل فضای فیزیکی، ابزارهای مورد نیاز و همچنین آمادهسازی ذهنی است.
ابزارهای مورد نیاز
هویه (آهن لحیمکاری): برای لحیمکاری قطعات روی برد نهایی.
سیمهای جامپر: برای اتصالات موقت روی بردبورد.
بردبورد (بورد بدون لحیم): برای تست و مونتاژ اولیه مدار.
مولتیمتر: برای اندازهگیری ولتاژ و تست اتصالات.
کابل USB با قابلیت انتقال داده: برای اتصال ESP32 به کامپیوتر.
موچین و انبردست: برای جاگذاری قطعات کوچک.
نکته ایمنی
هنگام کار با هویه، حتماً از عینک ایمنی و تهویه مناسب استفاده کنید. محل کار خود را تمیز و مرتب نگه دارید.
نرمافزارصفحه ۷ از ۲۹
نصب و راهاندازی Arduino IDE
Arduino IDE محیط اصلی برنامهنویسی و آپلود کد روی میکروکنترلرهاست. در این بخش، قدمبهقدم نصب و راهاندازی آن را مرور میکنیم.
فایل config.h را بررسی کنید و مطمئن شوید پینها با اتصالات شما هماهنگ است.
برد ESP32 Dev Module را انتخاب کرده و کد را آپلود کنید.
پس از آپلود
OLED منوی اصلی مارشال را نمایش میدهد. با دکمهها میتوانید بین مودها حرکت کنید و با دکمه وسط، وضعیت را فعال/غیرفعال کنید.
فاز دومصفحه ۱۷ از ۲۹
عیبیابی فاز دوم
مشکلات رایج فاز دوم و راهحلهای آنها:
مشکل
راهحل
OLED روشن نمیشود
اتصالات SDA/SCL را بررسی کنید. آدرس I2C را در کد از 0x3C به 0x3D تغییر دهید.
دکمهها کار نمیکنند
اتصالات GPIO به GND را بررسی کنید. مطمئن شوید در کد از INPUT_PULLUP استفاده کردهاید.
فریمور آپلود نمیشود
دکمه BOOT را نگه دارید و EN را بزنید تا برد وارد حالت Download شود. پورت COM صحیح را انتخاب کنید.
فاز سومصفحه ۱۸ از ۲۹
وباینترفیس مارشال
پروژه مارشال دارای یک وباینترفیس کامل و قدرتمند است که امکان کنترل دستگاه از طریق مرورگر را فراهم میکند.
ویژگیهای وباینترفیس
نمایش وضعیت: نشان دادن ACTIVE/DEACTIVE با رنگهای سبز و قرمز.
نمایش مود فعال: نمایش نام مود انتخابشده با آیکون.
دکمههای کنترل: فعال/غیرفعال، مود بعد، مود قبل.
منوی کشویی مودها: انتخاب مستقیم هر یک از ۹ حالت.
بهروزرسانی خودکار: وضعیت هر ۲ ثانیه بهروز میشود.
طراحی واکنشگرا: نمایش بهینه روی موبایل، تبلت و دسکتاپ.
دسترسی
پس از روشن شدن دستگاه، یک شبکه وایفای با نام Marshall_Network و رمز secure123 ایجاد میشود. با اتصال به آن و باز کردن آدرس 192.168.4.1، صفحه کنترل باز میشود.
فاز سومصفحه ۱۹ از ۲۹
تنظیمات شبکه
شما میتوانید تنظیمات شبکه مدیریتی دستگاه را در کد تغییر دهید.
مقادیر را به دلخواه تغییر دهید و دوباره کد را آپلود کنید.
تغییر آدرس IP
آدرس IP پیشفرض 192.168.4.1 است. برای تغییر آن، میتوانید از کتابخانه WiFiManager استفاده کنید.
فاز سومصفحه ۲۰ از ۲۹
اتصال به وایفای و کنترل از راه دور
برای کنترل دستگاه از راه دور، کافی است به شبکه مدیریتی متصل شده و از وباینترفیس استفاده کنید.
مراحل اتصال
دستگاه را روشن کنید.
با گوشی یا لپتاپ، به شبکه Marshall_Network با رمز secure123 متصل شوید.
مرورگر را باز کرده و آدرس http://192.168.4.1 را وارد کنید.
صفحه کنترل مارشال باز میشود.
نکته مهم
این شبکه محلی است و به اینترنت متصل نیست. فقط دستگاههایی که به این شبکه متصل هستند، میتوانند دستگاه را کنترل کنند.
فاز سومصفحه ۲۱ از ۲۹
کنترل از طریق مرورگر
وباینترفیس مارشال امکان کنترل کامل دستگاه را فراهم میکند.
دکمههای کنترل
فعال/غیرفعال: شروع یا توقف عملیات جمینگ.
مود بعد / مود قبل: چرخش بین ۹ مود مختلف.
منوی کشویی: انتخاب مستقیم هر مود.
نمایش وضعیت
وضعیت فعلی (ACTIVE/DEACTIVE) و مود فعال به صورت لحظهای نمایش داده میشوند و هر ۲ ثانیه بهروز میشوند.
تکمیلیصفحه ۲۲ از ۲۹
شخصیسازی OLED
میتوانید ظاهر منوی OLED را به دلخواه تغییر دهید.
تغییر نام نمایشی
در فایل Marshall.ino، تابع drawHeaderBar() را پیدا کنید و خط زیر را تغییر دهید:
u8g2.drawStr(PAD, TXT_Y, "MARSHAL");
"MARSHAL" را با نام دلخواه خود جایگزین کنید.
تغییر آیکون مودهای خاص
در تابع drawCardAtCenter()، بخش آیکونها را میتوانید شخصیسازی کنید.
نهاییصفحه ۲۳ از ۲۹
عیبیابی پیشرفته رفع مشکلات
مشکلات پیشرفتهتر و راهحلهای آنها:
مشکل
راهحل
وبسرور باز نمیشود
آدرس IP را دقیقاً وارد کنید. مطمئن شوید به شبکه Marshall_Network متصل هستید. فایروال را موقتاً غیرفعال کنید.
برد به طور مداوم ریست میشود
تغذیه را تقویت کنید (از آداپتور ۲ آمپر استفاده کنید). یک خازن ۱۰۰۰µF به ورودی برق اضافه کنید.
OLED اطلاعات را بهروز نمیکند
اتصالات I2C را بررسی کنید. ممکن است نویز باعث قطع ارتباط شود.
ماژولهای NRF24 شناسایی نمیشوند
تغذیه جداگانه را بررسی کنید. خازنها را نزدیک به ماژولها نصب کنید.
تحلیلصفحه ۲۴ از ۲۹
مقایسه با ابزارهای مشابه Flipper Zero، HackRF و RTL-SDR
در بازار امروز، ابزارهای متنوعی برای تست و تحلیل سیگنالهای رادیویی وجود دارد. در این بخش، پروژه مارشال را با سه ابزار محبوب مقایسه میکنیم.
Flipper Zero
یک ابزار همهکاره برای تست امنیت فیزیکی است که از RFID، Infrared و Sub-GHz پشتیبانی میکند. اما در باند ۲.۴ گیگاهرتز، قدرت و انعطافپذیری مارشال را ندارد.
HackRF
یک SDR حرفهای با قیمت بالا (چند صد دلار) که نیاز به دانش تخصصی دارد. مارشال با هزینهای حدود ۵۰ دلار، یک ابزار تخصصی برای باند ۲.۴ گیگاهرتز است.
RTL-SDR
یک گیرنده SDR ارزانقیمت (حدود ۳۰ دلار) که توانایی ارسال ندارد. مارشال هم ارسال و هم دریافت را پوشش میدهد.
جایگاه پروژه مارشال
مارشال با هزینهای حدود ۵۰ دلار، یک ابزار تخصصی برای باند ۲.۴ گیگاهرتز است که هم قدرت ارسال بالایی دارد، هم کنترل از راهدور، هم کاملاً آموزشی است و هم کد آن قابل شخصیسازی است.
پرسشصفحه ۲۵ از ۲۹
پرسشهای متداول FAQ
سوال ۱: آیا میتوانم از ماژول NRF24 معمولی استفاده کنم؟
خیر، مدل معمولی (بدون PA+LNA) برد بسیار کمی دارد و برای این پروژه قابل استفاده نیست.
سوال ۲: چرا OLED من کار نمیکند؟
اتصالات SDA/SCL را بررسی کنید. آدرس I2C را در کد از 0x3C به 0x3D تغییر دهید.
سوال ۳: چرا وبسرور باز نمیشود؟
به شبکه Marshall_Network متصل شوید و آدرس 192.168.4.1 را وارد کنید. فایروال را موقتاً غیرفعال کنید.
سوال ۴: فریمور روی ESP32 آپلود نمیشود؟
دکمه BOOT را نگه دارید، EN را بزنید و رها کنید، سپس BOOT را رها کنید. پورت COM صحیح را انتخاب کنید.
سوال ۵: آیا میتوان از این پروژه برای اهداف غیرآموزشی استفاده کرد؟
خیر. این پروژه صرفاً برای اهداف آموزشی و تست امنیتی در محیطهای کنترلشده طراحی شده است.
پیشنهادصفحه ۲۶ از ۲۹
پروژههای پیشنهادی ادامه مسیر
پس از تکمیل پروژه مارشال، میتوانید پروژههای زیر را دنبال کنید:
سطح مبتدی
کنترل LED با ESP32 از طریق وب: یک وبسرور ساده روی ESP32 راهاندازی کنید.
ساخت فرستنده دما و رطوبت بیسیم: با ESP32 و NRF24 دادهها را به صورت بیسیم ارسال کنید.
سطح متوسط
سیستم هشداردهنده بیسیم: با سنسورهای PIR و NRF24 یک سیستم امنیتی بسازید.
کنترل رباتیک با ESP32 و NRF24: یک ربات ساده را از راه دور کنترل کنید.
سطح پیشرفته
طراحی شبکه مش (Mesh Network): چندین ESP32 را به صورت مش به هم متصل کنید.
پیادهسازی پروتکل MQTT: دادهها را به یک سرور مرکزی ارسال کنید.
مسیر پیشنهادی
پیشنهاد میکنم به ترتیب مبتدی → متوسط → پیشرفته پیش بروید. هر پروژه، دانش جدیدی به شما اضافه میکند.
دربارهصفحه ۲۷ از ۲۹
درباره من
سلام! من لیو (Leo) هستم، یک توسعهدهنده بکاند با بیش از ۴ سال تجربه حرفهای و علاقهمند به حوزه امنیت سایبری و الکترونیک. این پروژه حاصل تجربیات و علاقه من به دنیای ارتباطات بیسیم است.
هدف من از نوشتن این کتاب، کمک به علاقهمندان حوزه امنیت و شبکه است تا با یک پروژه عملی، درک بهتری از آسیبپذیریهای شبکههای بیسیم پیدا کنند.
از اینکه این کتاب را تا انتها همراهی کردید، صمیمانه سپاسگزارم. امیدوارم که مطالب آن برای شما مفید بوده باشد و بتوانید از دانش کسبشده در پروژههای آینده خود استفاده کنید.
اگر این کتاب برای شما مفید بود، لطفاً آن را با دوستان خود به اشتراک بگذارید. همچنین، از شما دعوت میکنم که در پروژههای آینده من مشارکت کنید.
حمایت از تولید محتوا
اگر از محتوای من لذت میبرید
با یک قهوه ☕ از من حمایت کنید تا
بتوانم محتوای باکیفیتتری تولید کنم.
پایانصفحه ۲۹ از ۲۹
جمعبندی و منابع
تبریک! شما یک پروژه جامع و پیشرفته را از صفر تا صد تکمیل کردید. در این مسیر، با مفاهیم کلیدی الکترونیک، برنامهنویسی و شبکه آشنا شدید و یک دستگاه کاربردی ساختید.
مرور دستاوردها
پروتکلهای ارتباطی: کار با SPI و I2C را به صورت عملی تجربه کردید.
سختافزار: با قطعات مختلف و نحوه تغذیه و سیمبندی آنها آشنا شدید.
نرمافزار: با Arduino IDE، نصب کتابخانهها و آپلود فریمور مسلط شدید.
شبکه: یک وبسرور راهاندازی کرده و دستگاه را از طریق وایفای کنترل کردید.
از دانش و ابزاری که به دست آوردهاید، فقط برای اهداف آموزشی و تست امنیتی در محیطهای مجاز استفاده کنید. هرگونه کاربرد مخرب، مسئولیت قانونی و اخلاقی دارد.
موفق و پیروز باشید
مارشال — سفر شما در دنیای امنیت بیسیم آغاز شده است.