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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
dump1090 — Dump1090 RTLSDR डिवाइसों के लिए एक सरल Mode S डिकोडर है | Kitploit
उपकरण/GitHubGitHub/antirez/dump1090
एम्बेडेड सिस्टम सुरक्षानेटवर्क मैपिंगजानकारी एकत्र करनावायरलेस सुरक्षाउपयोगिताएँ और फ्रेमवर्कहार्डवेयर और IoT सुरक्षा
GitHubantirez/dump1090

dump1090

Dump1090 RTLSDR डिवाइसों के लिए एक सरल Mode S डिकोडर है

रिपॉजिटरी देखें
2.9k1.4k6 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Dump1090 README

Dump 1090 एक Mode S डिकोडर है जिसे विशेष रूप से RTLSDR उपकरणों के लिए डिज़ाइन किया गया है।

मुख्य विशेषताएँ हैं:

  • कमज़ोर संदेशों की मज़बूत डिकोडिंग, Dump1090 के साथ कई उपयोगकर्ताओं ने अन्य लोकप्रिय डिकोडरों की तुलना में बेहतर रेंज देखी है।
  • नेटवर्क समर्थन: TCP30003 स्ट्रीम (MSG5...), रॉ पैकेट, HTTP।
  • एम्बेडेड HTTP सर्वर जो वर्तमान में पहचाने गए विमानों को Google Map पर प्रदर्शित करता है।
  • 24 बिट CRC का उपयोग करके एकल बिट त्रुटियों का सुधार।
  • DF11, DF17 संदेशों को डिकोड करने की क्षमता।
  • DF0, DF4, DF5, DF16, DF20 और DF21 जैसे DF प्रारूपों को डिकोड करने की क्षमता, जहाँ चेकसम को ICAO पते के साथ xor किया जाता है, हाल ही में देखे गए ICAO पतों का उपयोग करके चेकसम फ़ील्ड को brute force करके।
  • फ़ाइल से रॉ IQ सैंपल डिकोड करें (--ifile कमांड लाइन स्विच का उपयोग करके)।
  • इंटरैक्टिव कमांड-लाइन-इंटरफ़ेस मोड, जहाँ वर्तमान में पहचाने गए विमानों को एक सूची के रूप में दिखाया जाता है जो अधिक डेटा आने पर रिफ्रेश होती है।
  • CPR निर्देशांक डिकोडिंग और वेग से ट्रैक गणना।
  • ज़मीन पर मौजूद विमानों के लिए सतही स्थिति डिकोडिंग (टैक्सीिंग, आदि)।
  • TCP सर्वर कनेक्टेड क्लाइंट्स से/को रॉ डेटा स्ट्रीम और प्राप्त करना (--net का उपयोग करके)।

जबकि समय-समय पर मैं अपने fork में चीज़ें जोड़ता / ठीक करता रहता हूँ, मैं कार्यान्वयन की minimalism को लक्षित करता हूँ। हालाँकि अधिक feature-complete fork उपलब्ध है, जिसे MalcolmRobb ने विकसित किया है।

स्थापना

"make" टाइप करें।

सामान्य उपयोग

अपने RTL डिवाइस से सीधे ट्रैफ़िक कैप्चर करने और कैप्चर किए गए ट्रैफ़िक को स्टैंडर्ड आउटपुट पर दिखाने के लिए, बस प्रोग्राम को बिना किसी विकल्प के चलाएँ:

root@kitploit:~
./dump1090

केवल हेक्साडेसिमल संदेश आउटपुट करने के लिए:

root@kitploit:~
./dump1090 --raw

प्रोग्राम को इंटरैक्टिव मोड में चलाने के लिए:

root@kitploit:~
./dump1090 --interactive

प्रोग्राम को इंटरैक्टिव मोड में, नेटवर्किंग समर्थन के साथ चलाने के लिए, और लाइव ट्रैफ़िक देखने के लिए अपने ब्राउज़र से http://localhost:8080 पर कनेक्ट करें:

root@kitploit:~
./dump1090 --interactive --net

इंटरैक्टिव मोड में कम सूचना-सघन लेकिन अधिक "आर्केड शैली" आउटपुट प्राप्त करना संभव है, जहाँ स्क्रीन हर सेकंड रिफ्रेश होती है और प्राप्त Mode S पैकेटों से निकाली गई ऊँचाई और उड़ान संख्या जैसी कुछ अतिरिक्त जानकारी के साथ हाल ही में देखे गए सभी विमानों को प्रदर्शित करती है।

डेटा के स्रोत के रूप में फ़ाइलों का उपयोग

फ़ाइल से डेटा डिकोड करने के लिए, उपयोग करें:

root@kitploit:~
./dump1090 --ifile /path/to/binfile

बाइनरी फ़ाइल को rtl_sdr का उपयोग करके इस प्रकार बनाया जाना चाहिए (या किसी अन्य प्रोग्राम के साथ जो 2Mhz सैंपल दर पर 8-बिट unsigned IQ सैंपल आउटपुट करने में सक्षम हो)।

root@kitploit:~
rtl_sdr -f 1090000000 -s 2000000 -g 50 output.bin

उदाहरण में rtl_sdr में 50 का gain उपयोग किया गया है, आपको बस अपने tuner के लिए उपलब्ध उच्चतम gain का उपयोग करना चाहिए। Dump1090 को कॉल करते समय यह आवश्यक नहीं है क्योंकि यह स्वचालित रूप से समर्थित उच्चतम gain का चयन करने में सक्षम है।

--ifile विकल्प के साथ तर्क के रूप में "-" का उपयोग करके प्रोग्राम को स्टैंडर्ड इनपुट के माध्यम से डेटा फीड करना संभव है।

अतिरिक्त विकल्प

Dump1090 को अलग gain, फ़्रीक्वेंसी आदि सेट करने के लिए अन्य कमांड लाइन विकल्पों के साथ कॉल किया जा सकता है। विकल्पों की सूची के लिए उपयोग करें:

root@kitploit:~
./dump1090 --help

यहाँ जो कुछ भी प्रलेखित नहीं है वह स्पष्ट होना चाहिए, और अधिकांश उपयोगकर्ताओं के लिए इसे बिना किसी तर्क के कॉल करना सबसे अच्छा है।

विश्वसनीयता

डिफ़ॉल्ट रूप से Dump1090 CRC चेकसम का उपयोग करके बिट त्रुटियों को ठीक करने का प्रयास करता है। प्रोग्राम प्राप्त संदेशों में दो बिट त्रुटियों तक को शीघ्रता से पहचानने और सुधारने के लिए एक पूर्व-गणना की गई syndrome तालिका का उपयोग करता है।

यह वास्तव में त्रुटियों को ठीक करने में सक्षम है और मेरे अनुभव में विश्वसनीय रूप से काम करता है, हालाँकि यदि आप बहुत विश्वसनीय डेटा में रुचि रखते हैं तो मैं त्रुटि सुधार को अक्षम करने के लिए --no-fix कमांड लाइन स्विच का उपयोग करने का सुझाव देता हूँ।

प्रदर्शन और पहचान की संवेदनशीलता

मेरे सीमित अनुभव में Dump1090 बड़ी संख्या में संदेशों को डिकोड करने में सक्षम था, यहाँ तक कि उन परिस्थितियों में भी जहाँ मुझे अन्य प्रोग्रामों का उपयोग करते समय समस्याओं का सामना करना पड़ा, हालाँकि कोई औपचारिक परीक्षण नहीं किया गया इसलिए मैं वास्तव में यह दावा नहीं कर सकता कि यह प्रोग्राम अन्य समान प्रोग्रामों की तुलना में बेहतर या बदतर है।

यदि आप ऐसा ट्रैफ़िक कैप्चर कर सकते हैं जिसे Dump1090 ठीक से डिकोड नहीं कर पाता, तो मुझे डाउनलोड लिंक के साथ एक ईमेल भेजें। मैं अपने खाली समय में पहचान को बेहतर बनाने का प्रयास कर सकता हूँ (यह केवल एक शौकिया प्रोजेक्ट है)।

सतही स्थिति डिकोडिंग

Dump1090 सतही स्थिति संदेशों (Type Code 5-8) को डिकोड कर सकता है, जो ज़मीन पर रहते हुए विमानों द्वारा प्रेषित किए जाते हैं (टैक्सीिंग, गेट पर प्रतीक्षा आदि)। इन संदेशों में विमान की स्थिति, ज़मीनी गति और ज़मीनी ट्रैक शामिल होते हैं।

सतही स्थितियाँ हवाई स्थितियों से भिन्न एन्कोडिंग का उपयोग करती हैं: CPR (Compact Position Reporting) प्रारूप 360 के बजाय केवल 90 डिग्री कवर करता है, और असंदिग्ध डिकोडिंग के लिए 45 nautical miles के भीतर एक संदर्भ स्थिति की आवश्यकता होती है।

आपसे अपने रिसीवर का स्थान कॉन्फ़िगर करने की आवश्यकता के बजाय, Dump1090 सभी सफलतापूर्वक डिकोड की गई हवाई स्थितियों का औसत निकालकर स्वचालित रूप से एक संदर्भ स्थिति की गणना करता है। यह इसलिए काम करता है क्योंकि यदि आप किसी हवाई अड्डे से सतही ट्रैफ़िक प्राप्त कर सकते हैं, तो आपको लगभग निश्चित रूप से हवाई ट्रैफ़िक भी प्राप्त होता है। ऊपर से उड़ान भरने वाले विमानों की औसत स्थिति एक ऐसा संदर्भ प्रदान करती है जो सतही स्थितियों को डिकोड करने के लिए पर्याप्त निकट (45 NM आवश्यकता के भीतर) होता है।

नोट: सतही स्थितियाँ केवल तभी प्रदर्शित की जाएँगी जब संदर्भ स्थापित करने के लिए कम से कम एक हवाई स्थिति सफलतापूर्वक डिकोड की गई हो। ज़मीन पर मौजूद विमान इंटरैक्टिव डिस्प्ले में altitude 0 के साथ दिखाई देंगे।

नेटवर्क सर्वर विशेषताएँ

--net के साथ नेटवर्किंग समर्थन सक्षम करने पर Dump1090 पोर्ट 30002 और 30001 पर क्लाइंट कनेक्शन के लिए सुनना शुरू कर देता है (यदि आप चाहें तो दोनों पोर्ट बदल सकते हैं, --help आउटपुट देखें)।

पोर्ट 30002

कनेक्टेड क्लाइंट्स को डिवाइस (या यदि --ifile उपयोग किया गया है तो फ़ाइल से) से आते ही डेटा ASAP परोसा जाता है, निम्नलिखित के समान रॉ प्रारूप में:

root@kitploit:~
*8D451E8B99019699C00B0A81F36E;

प्रत्येक प्रविष्टि एक साधारण newline (LF कैरेक्टर, hex 0x0A) द्वारा अलग की जाती है।

पोर्ट 30001

पोर्ट 30001 रॉ इनपुट पोर्ट है, और इसका उपयोग Dump1090 को ऊपर निर्दिष्ट प्रारूप में डेटा फीड करने के लिए किया जा सकता है, जिसमें हेक्स संदेश * से शुरू होते हैं और ; कैरेक्टर के साथ समाप्त होते हैं।

उदाहरण के लिए, यदि कोई अन्य रिमोट Dump1090 इंस्टेंस डेटा एकत्र कर रहा है, तो इस प्रकार कुछ करके आउटपुट को स्थानीय Dump1090 इंस्टेंस में जोड़ना संभव है:

root@kitploit:~
nc remote-dump1090.example.net 30002 | nc localhost 30001

यह ध्यान रखना महत्वपूर्ण है कि पोर्ट 30001 के माध्यम से जो प्राप्त होता है वह पोर्ट 30002 पर सुनने वाले क्लाइंट्स को भी प्रसारित किया जाता है।

सामान्य तौर पर पोर्ट 30001 से प्राप्त हर चीज़ को RTL डिवाइसों से सामान्य ट्रैफ़िक या --ifile उपयोग किए जाने पर फ़ाइल से ट्रैफ़िक की तरह ही संभाला जाता है।

निम्नलिखित उदाहरण की तरह --ifile के साथ तर्क के रूप में /dev/zero का उपयोग करके Dump1090 को केवल एक hub के रूप में उपयोग करना संभव है:

root@kitploit:~
./dump1090 --net-only

या वैकल्पिक रूप से स्क्रीन पर क्या हो रहा है यह देखने के लिए:

root@kitploit:~
./dump1090 --net-only --interactive

फिर आप इसे इंटरनेट से विभिन्न डेटा स्रोतों से फीड कर सकते हैं।

पोर्ट 30003

कनेक्टेड क्लाइंट्स को SBS1 (BaseStation) प्रारूप में संदेश परोसे जाते हैं, जो इस प्रकार हैं:

root@kitploit:~
MSG,4,,,738065,,,,,,,,420,179,,,0,,0,0,0,0
MSG,3,,,738065,,,,,,,35000,,,34.81609,34.07810,,,0,0,0,0

इसका उपयोग किसी अन्य डिकोडर का उपयोग करने की आवश्यकता के बिना विभिन्न शेयरिंग साइटों को डेटा फीड करने के लिए किया जा सकता है।

एंटीना

Mode S संदेश 1090 Mhz फ़्रीक्वेंसी पर प्रेषित होते हैं। यदि आपके पास एक अच्छा एंटीना है, तो आप अपनी स्थिति से काफी दूर के विमानों से संकेत प्राप्त कर सकेंगे, खासकर यदि आप बाहर हैं और अच्छे आसमान के दृश्य वाली स्थिति में हैं।

आप निम्नलिखित निर्देशों का पालन करके बहुत सस्ता एंटीना आसानी से बना सकते हैं:

root@kitploit:~
http://antirez.com/news/46

इस साधारण एंटीना के साथ मैं अपने से 200+ किमी दूर के विमानों के संकेत प्राप्त करने में सक्षम था।

यदि आप अधिक गंभीर एंटीना में रुचि रखते हैं तो निम्नलिखित संसाधन देखें:

  • http://gnuradio.org/data/grcon11/06-foster-adsb.pdf
  • http://www.lll.lu/~edward/edward/adsb/antenna/ADSBantenna.html
  • http://modesbeast.com/pix/adsb-ant-drawing.gif

आक्रामक मोड

--aggressive के साथ आक्रामक मोड को सक्रिय करना संभव है, जो Mode S पैकेट पहचान और डिकोडिंग का एक संशोधित संस्करण है। आक्रामक मोड आमतौर पर अधिक CPU का उपयोग करता है (विशेषकर यदि कई विमान DF17 पैकेट भेज रहे हों), लेकिन कुछ अधिक संदेशों का पता लगा सकता है।

आक्रामक मोड में एल्गोरिथ्म निम्नलिखित तरीकों से संशोधित है:

  • दो demodulation त्रुटियों तक सहन की जाती हैं (magnitude वेक्टर में समान ऊँचाई वाली आसन्न प्रविष्टियाँ)। सामान्यतः केवल त्रुटियों के बिना संदेशों की जाँच की जाती है।
  • यह हर दो-बिट संयोजन का प्रयास करके DF17 संदेशों को ठीक करने का प्रयास करता है।

आक्रामक मोड का उपयोग केवल उन स्थानों पर सलाह दी जाती है जहाँ कम ट्रैफ़िक होता है, ताकि कुछ अधिक संदेश कैप्चर करने का मौका मिल सके।

डिबग मोड

डिबग मोड पहचान एल्गोरिथ्म को बेहतर बनाने या यह समझने के लिए एक दृश्य सहायता है कि प्रोग्राम किसी दिए गए इनपुट के लिए काम क्यों नहीं कर रहा है।

इस मोड में संदेशों को ASCII-कला शैली के ग्राफिकल प्रतिनिधित्व में प्रदर्शित किया जाता है, जहाँ 2Mhz पर सैंपल किए गए व्यक्तिगत magnitude बार प्रदर्शित होते हैं।

एक इंडेक्स सैंपल संख्या दिखाता है, जहाँ 0 वह सैंपल है जहाँ पहला Mode S पीक पाया गया था। कुछ संदर्भ प्रदान करने के लिए पहले पीक से पहले कुछ अतिरिक्त पृष्ठभूमि शोर भी जोड़ा जाता है।

डिबग मोड सक्षम करने और यह जाँचने के लिए कि आप पैकेटों के कौन से संयोजन log कर सकते हैं, उपलब्ध डिबग फ्लैग की सूची प्राप्त करने के लिए dump1090 --help का उपयोग करें।

डिबग मोड में एक वैकल्पिक javascript आउटपुट शामिल है जिसका उपयोग वेब ब्राउज़र का उपयोग करके पैकेटों को विज़ुअलाइज़ करने के लिए किया जाता है, आप जेनरेट की गई frames.js फ़ाइल को लोड करने के लिए 'tools' निर्देशिका के अंतर्गत debug.html फ़ाइल का उपयोग कर सकते हैं।

यह प्रोग्राम कैसे काम करता है?

कोड बहुत अच्छी तरह प्रलेखित है और इसे समझने में आसान बनाने के लिए लिखा गया है। हाथ में Mode S विनिर्देश रखने वाले परिश्रमी प्रोग्रामर के लिए यह समझना आसान होना चाहिए कि यह कैसे काम करता है।

मैंने जिन एल्गोरिथ्म का उपयोग किया, वे मूल रूप से एक throw-away SDL प्रोग्राम का उपयोग करके प्रदर्शित किए गए कई संदेशों को देखकर, और संदेशों के ग्राफिकल दिखने के आधार पर एल्गोरिथ्म को मॉडल करने का प्रयास करके प्राप्त किए गए थे।

प्रोग्राम का परीक्षण कैसे करें?

यदि आपके पास RTLSDR डिवाइस है और आप ऐसे क्षेत्र में हैं जहाँ आपके सिर के ऊपर विमान उड़ रहे हैं, तो बस प्रोग्राम चलाएँ और संकेतों की जाँच करें।

हालाँकि यदि आपके पास RTLSDR डिवाइस नहीं है, या यदि आपके क्षेत्र में विमानों की उपस्थिति बहुत सीमित है, तो आप "testfiles" निर्देशिका के अंतर्गत Dump1090 वितरण के साथ वितरित सैंपल फ़ाइल आज़माना चाह सकते हैं।

बस इसे इस प्रकार चलाएँ:

root@kitploit:~
./dump1090 --ifile testfiles/modes1.bin

--snip मोड क्या है?

यह केवल एक सरल फ़िल्टर है जो इनपुट में रॉ IQ 8 बिट सैंपल लेगा और एक फ़ाइल आउटपुट करेगा जिसमें फ़ाइल के वे सभी हिस्से गायब होंगे जहाँ I और Q निर्दिष्ट से 32 से अधिक सैंपलों के लिए कम हैं।

इसे इस प्रकार उपयोग करें:

root@kitploit:~
cat big.bin | ./dump1090 --snip 25 > small.bin

मैंने इसका उपयोग इस प्रोग्राम सोर्स कोड वितरण के अंदर शामिल करने के लिए एक छोटी परीक्षण फ़ाइल बनाने के लिए किया।

योगदान

Dump1090 क्रिसमस 2012 के दौरान कुछ खाली समय में लिखा गया था, यह एक शौकिया प्रोजेक्ट है इसलिए मैं केवल खाली समय में ही मुद्दों का समाधान कर पाऊँगा और इसे बेहतर बना पाऊँगा, हालाँकि प्रोग्राम को बेहतर बनाने के लिए आपको pull request भेजने के लिए प्रोत्साहित किया जाता है। एक अच्छा प्रारंभिक बिंदु सोर्स वितरण में शामिल TODO सूची हो सकती है।

श्रेय

Dump1090 को Salvatore Sanfilippo [email protected] और समय के साथ पैच भेजने वाले अन्य योगदानकर्ताओं द्वारा लिखा गया था (अधिक जानकारी के लिए commits इतिहास देखें) और इसे BSD तीन-खंड लाइसेंस के अंतर्गत जारी किया गया है।

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