Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gps-sdr-sim — محاكي إشارات GPS المعرّف برمجيًا | Kitploit
أدوات/GitHubGitHub/osqzss/gps-sdr-sim
أمان الأنظمة المدمجةأمن الشبكات اللاسلكيةاختبار الاختراقأمان الأجهزة وإنترنت الأشياءArchived
GitHubosqzss/gps-sdr-sim

gps-sdr-sim

محاكي إشارات GPS المعرّف برمجيًا

عرض المستودع
3.5k972منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

GPS-SDR-SIM

يقوم GPS-SDR-SIM بتوليد تيارات بيانات إشارة النطاق الأساسي لنظام GPS، والتي يمكن تحويلها إلى ترددات لاسلكية باستخدام منصات الراديو المعرفة بالبرمجيات (SDR)، مثل ADALM-Pluto وbladeRF وHackRF وUSRP.

تعليمات البناء في ويندوز

  1. ابدأ برنامج فيجوال ستوديو.
  2. أنشئ مشروعًا فارغًا لتطبيق وحدة التحكم.
  3. في مستكشف الحلول على اليمين، أضف "gpssim.c" و "getopt.c" إلى مجلد ملفات المصدر.
  4. اختر "Release" من القائمة المنسدلة لتكوينات الحل.
  5. قم ببناء الحل.

البناء باستخدام GCC

root@kitploit:~
$ gcc gpssim.c -lm -O3 -o gps-sdr-sim

استخدام ملفات حركة مستخدم أكبر

لاستخدام ملفات حركة مستخدم تحتوي على أكثر من 30000 عينة (بتردد 10 هرتز)، يمكن تعيين المتغير USER_MOTION_SIZE إلى أقصى وقت لملف حركة المستخدم بالثواني. يُنصح بفعل ذلك باستخدام make لكي يتمكن gps-sdr-bin من تحديث الحجم عند الحاجة. على سبيل المثال:

root@kitploit:~
$ make USER_MOTION_SIZE=4000

يمكن أيضًا تعيين هذا المتغير عند الترجمة مباشرة باستخدام GCC:

root@kitploit:~
$ gcc gpssim.c -lm -O3 -o gps-sdr-sim -DUSER_MOTION_SIZE=4000

إنشاء ملف إشارة GPS

يمكن تحديد مسار معرف من قبل المستخدم إما في ملف CSV، يحتوي على مواقع المستخدم بنظام الإحداثيات الأرضية المركزية الثابتة (ECEF)، أو في دفق NMEA GGA. يجب أن يكون معدل أخذ عينات حركة المستخدم 10 هرتز. يمكن للمستخدم أيضًا تعيين موقع ثابت مباشرة من خلال سطر الأوامر.

يحدد المستخدم كوكبة الأقمار الصناعية GPS من خلال ملف تقويم فلكي بث GPS. ملف التقويم الفلكي اليومي (brdc) هو دمج لملفات الملاحة الفردية في ملف واحد. يمكن تنزيل أرشيف الملف اليومي من: https://cddis.nasa.gov/archive/gnss/data/daily/. يتطلب الوصول إلى هذا الموقع تسجيلًا، وهو مجاني.

ثم تُستخدم هذه الملفات لتوليد المسافة الزائفة ودوبلر المحاكيين للأقمار الصناعية GPS المرئية. ثم تُستخدم بيانات المدى المحاكية هذه لتوليد عينات I/Q الرقمية لإشارة GPS.

تتطلب واجهة سطر الأوامر لـ bladeRF و ADALM-Pluto أزواج I/Q مخزنة كأعداد صحيحة موقعة 16 بت، بينما يدعم hackrf_transfer و gps-sdr-sim-uhd.py البايتات الموقعة.

يمكن لـ HackRF و bladeRF و ADALM-Pluto قبول معدل العينات الافتراضي البالغ 2.6 ميجاهرتز، بينما يتطلب USRP2 معامل عزل صحيح زوجي قدره 100 ميجاهرتز، أي 2.5 ميجاهرتز.

يمكن تحديد وقت بدء المحاكاة إذا كانت مجموعة التقاويم الفلكية المقابلة متوفرة. وإلا يتم اختيار أول وقت تقويم فلكي في ملف الملاحة RINEX.

يتم تحديد أقصى مدة للمحاكاة بواسطة USER_MOTION_SIZE لمنع ملف الإخراج من أن يصبح كبيرًا جدًا.

يمكن تقليل حجم ملف الإخراج باستخدام الخيار "-b 1" لتخزين أربع عينات I/Q بت واحد في بايت واحد. يمكنك استخدام bladeplayer لـ bladeRF لتشغيل الملف المضغوط.

root@kitploit:~
Usage: gps-sdr-sim [options]
Options:
  -e <gps_nav>     ملف الملاحة RINEX للتقاويم الفلكية GPS (مطلوب)
  -u <user_motion> ملف حركة المستخدم بتنسيق ECEF x, y, z (الوضع الديناميكي)
  -x <user_motion> ملف حركة المستخدم بتنسيق خط العرض، خط الطول، الارتفاع (الوضع الديناميكي)
  -g <nmea_gga>    دفق NMEA GGA (الوضع الديناميكي)
  -c <location>    إحداثيات ECEF X,Y,Z بالأمتار (الوضع الثابت) مثال: 3967283.15,1022538.18,4872414.48
  -l <location>    خط العرض، خط الطول، الارتفاع (الوضع الثابت) مثال: 30.286502,120.032669,100
  -L <wnslf,dn,dtslf> حدث القفزة المستقبلي للمستخدم في رقم أسبوع GPS، رقم اليوم، الثانية الكبيسة التالية مثال: 2347,3,19
  -t <date,time>   وقت بدء السيناريو YYYY/MM/DD,hh:mm:ss
  -T <date,time>   الكتابة فوق TOC و TOE إلى وقت بدء السيناريو
  -d <duration>    المدة [ثانية] (الوضع الديناميكي كحد أقصى: 300 الوضع الثابت كحد أقصى: 86400)
  -o <output>      ملف بيانات عينات I/Q (الافتراضي: gpssim.bin ; استخدم - للإخراج القياسي)
  -s <frequency>   تردد العينات [هرتز] (الافتراضي: 2600000)
  -b <iq_bits>     تنسيق بيانات I/Q [1/8/16] (الافتراضي: 16)
  -i               تعطيل تأخير الغلاف الأيوني لسيناريو المركبة الفضائية
  -p [fixed_gain]  تعطيل فقدان المسار والحفاظ على مستوى طاقة ثابت
  -v               إظهار تفاصيل حول القنوات المحاكية

يمكن تحديد حركة المستخدم في الوضع الديناميكي أو الثابت:

root@kitploit:~
> gps-sdr-sim -e brdc3540.14n -u circle.csv
root@kitploit:~
> gps-sdr-sim -e brdc3540.14n -x circle_llh.csv
root@kitploit:~
> gps-sdr-sim -e brdc3540.14n -g triumphv3.txt
root@kitploit:~
> gps-sdr-sim -e brdc3540.14n -l 30.286502,120.032669,100

إرسال العينات

يتم توصيل منفذ الإرسال لمنصة SDR معينة بمستقبل GPS قيد الاختبار من خلال قاطع تيار مستمر ومخفف ثابت بقيمة 50-60 ديسيبل.

BladeRF:

يمكن تحميل ملف إشارة GPS المحاكي، المسمى "gpssim.bin"، إلى bladeRF للتشغيل كما هو موضح أدناه:

root@kitploit:~
set frequency 1575.42M
set samplerate 2.6M
set bandwidth 2.5M
set txvga1 -25
cal lms
cal dc tx
tx config file=gpssim.bin format=bin
tx start

يمكنك أيضًا تنفيذ هذه الأوامر عبر خيار البرنامج النصي bladeRF-cli كما يلي:

root@kitploit:~
> bladeRF-cli -s bladerf.script

HackRF:

يجب أن تكون بيانات الإخراج عينات I/Q موقعة 8 بت.

root@kitploit:~
> gps-sdr-sim -e brdc0010.22n -b 8

يمكنك استخدام أداة hackrf_transfer في برنامج المضيف لـ HackRF.

root@kitploit:~
> hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0

الأجهزة المدعومة من UHD (مختبرة مع USRP2 فقط):

root@kitploit:~
> gps-sdr-sim-uhd.py -t gpssim.bin -s 2500000 -x 0

يمكنك أيضًا استخدام أداة tx_samples_from_file المضمنة في أمثلة UHD:

root@kitploit:~
> tx_samples_from_file --file gpssim.bin --type short --rate 2500000 --freq 1575420000 --gain 0

LimeSDR (في حالة ملف 1 Msps 1-bit، للحصول على نطاق ديناميكي كامل للقاعدة وطاقة RF منخفضة):

root@kitploit:~
> limeplayer -s 1000000 -b 1 -d 2047 -g 0.1 < ../circle.1b.1M.bin

ADALM-Pluto (PlutoSDR):

من المتوقع أن تكون واجهة الشبكة لجهاز ADALM-Pluto قيد التشغيل ويمكن الوصول إليها عبر "pluto.local" بشكل افتراضي.

الإعدادات الافتراضية:

root@kitploit:~
> plutoplayer -t gpssim.bin

تعيين تخفيف الإرسال:

root@kitploit:~
> plutoplayer -t gpssim.bin -a -30.0

الافتراضي -20.0dB. النطاق القابل للتطبيق من 0.0dB إلى -80.0dB بخطوات 0.25dB.

تعيين عرض نطاق الترددات اللاسلكية:

root@kitploit:~
> plutoplayer -t gpssim.bin -b 3.0

الافتراضي 3.0MHz. النطاق القابل للتطبيق من 1.0MHz إلى 5.0MHz.

الترخيص

حقوق النشر © 2015-2025 Takuji Ebinuma
موزعة بموجب رخصة MIT.

تنزيل الأداة