Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
gps-sdr-sim — Software-Defined GPS Signal Simulator | Kitploit
उपकरण/GitHubGitHub/osqzss/gps-sdr-sim
Embedded Systems SecurityWireless SecurityPenetration TestingHardware & IoT SecurityArchived
GitHubosqzss/gps-sdr-sim

gps-sdr-sim

Software-Defined GPS Signal Simulator

रिपॉजिटरी देखें
3.5k9721 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

GPS-SDR-SIM

GPS-SDR-SIM GPS बेसबैंड सिग्नल डेटा स्ट्रीम उत्पन्न करता है, जिन्हें सॉफ़्टवेयर-परिभाषित रेडियो (SDR) प्लेटफ़ॉर्मों, जैसे ADALM-Pluto, bladeRF, HackRF, और USRP का उपयोग करके RF में परिवर्तित किया जा सकता है।

Windows बिल्ड निर्देश

  1. विज़ुअल स्टूडियो प्रारंभ करें।
  2. कंसोल एप्लिकेशन के लिए एक खाली प्रोजेक्ट बनाएँ।
  3. दाईं ओर सॉल्यूशन एक्सप्लोरर में, "gpssim.c" और "getopt.c" को सोर्स फ़ाइल्स फ़ोल्डर में जोड़ें।
  4. सॉल्यूशन कॉन्फ़िगरेशन ड्रॉप-डाउन सूची में "Release" चुनें।
  5. सॉल्यूशन बनाएँ।

GCC के साथ बिल्ड करना

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

बड़ी उपयोगकर्ता मोशन फ़ाइलों का उपयोग करना

30000 से अधिक नमूनों (10Hz पर) वाली उपयोगकर्ता मोशन फ़ाइलों का उपयोग करने के लिए, 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 स्ट्रीम में निर्दिष्ट किया जा सकता है। उपयोगकर्ता मोशन की नमूना दर 10Hz होनी चाहिए। उपयोगकर्ता कमांड लाइन के माध्यम से सीधे एक स्थिर स्थान भी निर्दिष्ट कर सकता है।

उपयोगकर्ता GPS उपग्रह समूह को GPS प्रसारण एफेमेरिस फ़ाइल के माध्यम से निर्दिष्ट करता है। दैनिक GPS प्रसारण एफेमेरिस फ़ाइल (brdc) अलग-अलग साइट नेविगेशन फ़ाइलों का एकीकरण है। दैनिक फ़ाइल का संग्रह https://cddis.nasa.gov/archive/gnss/data/daily/ से डाउनलोड किया जा सकता है। इस साइट तक पहुँचने के लिए पंजीकरण आवश्यक है, जो मुफ़्त है।

इन फ़ाइलों का उपयोग दृश्यमान GPS उपग्रहों के लिए अनुकरणित छद्म-श्रेणी और डॉपलर उत्पन्न करने के लिए किया जाता है। इस अनुकरणित श्रेणी डेटा का उपयोग तब GPS सिग्नल के लिए डिजिटलीकृत I/Q नमूने उत्पन्न करने के लिए किया जाता है।

bladeRF और ADALM-Pluto कमांड लाइन इंटरफ़ेस को हस्ताक्षरित 16-बिट पूर्णांक के रूप में संग्रहीत I/Q जोड़े की आवश्यकता होती है, जबकि hackrf_transfer और gps-sdr-sim-uhd.py हस्ताक्षरित बाइट्स का समर्थन करते हैं।

HackRF, bladeRF और ADALM-Pluto 2.6MHz की डिफ़ॉल्ट नमूना दर स्वीकार कर सकते हैं, जबकि USRP2 को 100 MHz के सम अभिन्न डेसीमेटर की आवश्यकता होती है, अर्थात 2.5MHz।

यदि एफेमेरिड्स का संबंधित सेट उपलब्ध है तो अनुकरण प्रारंभ समय निर्दिष्ट किया जा सकता है। अन्यथा RINEX नेविगेशन फ़ाइल में एफेमेरिस का पहला समय चुना जाता है।

अधिकतम अनुकरण अवधि समय USER_MOTION_SIZE द्वारा परिभाषित किया गया है ताकि आउटपुट फ़ाइल बहुत बड़ी न हो।

आउटपुट फ़ाइल का आकार "-b 1" विकल्प का उपयोग करके कम किया जा सकता है, जो चार 1-बिट I/Q नमूनों को एक बाइट में संग्रहीत करता है। आप संपीड़ित फ़ाइल को चलाने के लिए bladeRF के लिए bladeplayer का उपयोग कर सकते हैं।

root@kitploit:~
Usage: gps-sdr-sim [options]
Options:
  -e <gps_nav>     RINEX navigation file for GPS ephemerides (required)
  -u <user_motion> User motion file in ECEF x, y, z format (dynamic mode)
  -x <user_motion> User motion file in lat, lon, height format (dynamic mode)
  -g <nmea_gga>    NMEA GGA stream (dynamic mode)
  -c <location>    ECEF X,Y,Z in meters (static mode) e.g. 3967283.15,1022538.18,4872414.48
  -l <location>    Lat,Lon,Hgt (static mode) e.g. 30.286502,120.032669,100
  -L <wnslf,dn,dtslf> User leap future event in GPS week number, day number, next leap second e.g. 2347,3,19
  -t <date,time>   Scenario start time YYYY/MM/DD,hh:mm:ss
  -T <date,time>   Overwrite TOC and TOE to scenario start time
  -d <duration>    Duration [sec] (dynamic mode max: 300 static mode max: 86400)
  -o <output>      I/Q sampling data file (default: gpssim.bin ; use - for stdout)
  -s <frequency>   Sampling frequency [Hz] (default: 2600000)
  -b <iq_bits>     I/Q data format [1/8/16] (default: 16)
  -i               Disable ionospheric delay for spacecraft scenario
  -p [fixed_gain]  Disable path loss and hold power level constant
  -v               Show details about simulated channels

उपयोगकर्ता मोशन को डायनामिक या स्टेटिक मोड में निर्दिष्ट किया जा सकता है:

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 प्लेटफ़ॉर्म का TX पोर्ट परीक्षणाधीन GPS रिसीवर से DC ब्लॉक और एक निश्चित 50-60dB क्षीणक के माध्यम से जोड़ा जाता है।

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:

आउटपुट डेटा 8-बिट हस्ताक्षरित I/Q नमूने होने चाहिए।

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

आप HackRF होस्ट सॉफ़्टवेयर में hackrf_transfer टूल का उपयोग कर सकते हैं।

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

आप UHD उदाहरणों में शामिल tx_samples_from_file टूल का भी उपयोग कर सकते हैं:

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

LimeSDR (1 Msps 1-बिट फ़ाइल के मामले में, पूर्ण बेसबैंड गतिशीलता और कम 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

TX क्षीणन सेट करें:

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

डिफ़ॉल्ट -20.0dB। लागू रेंज 0.0dB से -80.0dB तक 0.25dB चरणों में।

RF बैंडविड्थ सेट करें:

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

डिफ़ॉल्ट 3.0MHz। लागू रेंज 1.0MHz से 5.0MHz तक।

लाइसेंस

Copyright © 2015-2025 Takuji Ebinuma
MIT लाइसेंस के अंतर्गत वितरित।

टूल डाउनलोड करें