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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Preferred-Network-List-Sniffer — डिवाइस की पसंदीदा नेटवर्क सूची से SSIDs को कैप्चर और प्रदर्शित करने के लिए एक रिकॉनिसेंस टूल। | Kitploit
उपकरण/GitHubGitHub/aleksamcode/preferred-network-list-sniffer
पैकेट स्निफिंग और विश्लेषणटोहीवाई-फाई ऑडिटिंगजानकारी एकत्र करनावायरलेस सुरक्षारेड टीमिंग
GitHubaleksamcode/preferred-network-list-sniffer

Preferred-Network-List-Sniffer

डिवाइस की पसंदीदा नेटवर्क सूची से SSIDs को कैप्चर और प्रदर्शित करने के लिए एक रिकॉनिसेंस टूल।

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
17597 महीने पहलेKitploit द्वारा समीक्षित

प्रिफर्ड नेटवर्क लिस्ट स्निफर - PNLS

License: MIT

प्रिफर्ड नेटवर्क लिस्ट स्निफर (PNLS) एक रेड टीम वाई-फाई ऑडिटिंग टूल है जिसमें एक सरल वेब इंटरफेस है जो डिवाइस की प्रिफर्ड नेटवर्क लिस्ट (PNL)1 से SSIDs2 को इंटरसेप्ट करने में सक्षम है। यह आस-पास के क्षेत्र में प्रोब रिक्वेस्ट को स्निफ करके प्राप्त किया जाता है, जिन्हें बाद में SSID और अन्य जानकारी के लिए पार्स किया जाता है और अंततः वेब UI पर प्रसारित किया जाता है। इस परियोजना का प्राथमिक उद्देश्य 802.11 प्रोब रिक्वेस्ट और उनके द्वारा प्रेषित डेटा से जुड़े गोपनीयता जोखिमों की जांच करना था।

PNLS सिस्टम अवलोकन

चित्र 1: PNLS सिस्टम अवलोकन

[!WARNING] इस परियोजना की सभी सामग्री केवल सुरक्षा अनुसंधान उद्देश्यों के लिए है।

[!NOTE]

  • यह परियोजना वाई-फाई नेटवर्क में गोपनीयता संरक्षण पर मेरे चल रहे शोध का हिस्सा है।

    • कार्यक्षेत्र प्रस्तुति
  • PNLS पर चल रहे कार्य की निगरानी के लिए, परियोजना का बोर्ड देखें।

विषयसूची

  • प्रिफर्ड नेटवर्क लिस्ट स्निफर - PNLS
    • विषयसूची
    • PNLS कैसे बनाएं
      • आवश्यकताएँ
      • पूर्वापेक्षाएँ
    • सेटअप
      • Docker का उपयोग करके
      • पूर्व-निर्मित Docker इमेज का उपयोग करके
      • Docker के बिना
    • प्रोब रिक्वेस्ट
    • SSID फ़िल्टरिंग
    • आर्किटेक्चर
      • असिंक्रोनस सर्वर गेटवे इंटरफ़ेस क्यों?
      • WebSockets क्यों?
      • Pub-Sub मॉडल
    • स्क्रीनशॉट
    • परिवर्णी शब्द
    • संदर्भ

PNLS कैसे बनाएं

इस परियोजना को डुप्लिकेट और तैनात करने के लिए आपको हार्डवेयर और सॉफ्टवेयर दोनों घटकों की आवश्यकता होगी। एक बार जब आपका कार्य वातावरण तैयार हो जाए, तो सेटअप अनुभाग पर जाएं।

आवश्यकताएँ

  • रास्पबेरी पाई (RPi)
  • उपयुक्त RPi बिजली आपूर्ति (विवरण के लिए बिजली आपूर्ति दस्तावेज़ीकरण देखें)
  • माइक्रो SD कार्ड (विवरण के लिए SD कार्ड दस्तावेज़ीकरण देखें)
  • USB वाई-फाई एडाप्टर (वैकल्पिक)
    • पैकेट कैप्चर करते समय अधिक रेंज प्राप्त करने के लिए उपयोग किया जाता है।
  • HDMI केबल (वैकल्पिक)
    • कंप्यूटर से दूरस्थ रूप से कनेक्ट करने के बजाय RPi से वेब UI प्रदर्शित करने के लिए उपयोग किया जाता है।

पूर्वापेक्षाएँ

  • Kali Linux OS
    • मॉनिटरिंग मोड और aircrack-ng टूल का उपयोग करने के लिए आवश्यक है। आप Kali Linux ARM इमेज यहाँ से डाउनलोड कर सकते हैं।
      • वैकल्पिक रूप से, आप कोई अन्य OS उपयोग कर सकते हैं, लेकिन आपको nexmon3 का उपयोग करके कर्नेल को पैच4 करना होगा या एक वायरलेस एडाप्टर का उपयोग करना होगा जो मॉनिटरिंग मोड का समर्थन करता है। यहाँ रास्पबेरी पाई द्वारा समर्थित USB एडाप्टर की सूची है।
      • आपको aircrack-ng टूल भी इंस्टॉल करना होगा, क्योंकि यह केवल Kali Linux पर पूर्व-स्थापित आता है।
  • अपने नेटवर्क इंटरफ़ेस को मॉनिटरिंग मोड में प्रारंभ करें: sudo airmon-ng start wlan0 [2]।

[!NOTE]

Kali इमेज Re4son के कर्नेल का उपयोग करती है, जिसमें बाहरी वाई-फाई कार्ड के लिए ड्राइवर और RPi 3 और 4 [3] पर बिल्ट-इन वायरलेस कार्ड के लिए Nexmon फर्मवेयर शामिल है।

PNLS RPi 4 डिवाइस

चित्र 2: PNLS एक RPi 4 पर बाहरी एंटीना और बैटरी बैंक के साथ चल रहा है

PNLS RPi 4 डिवाइस AWUS036ACS

चित्र 3: PNLS एक RPi 4 पर AWUS036ACS एंटीना वाले केस के साथ चल रहा है

PNLS RPi 4 डिवाइस AWUS036ACM

चित्र 4: PNLS एक RPi 4 पर AWUS036ACM एंटीना के साथ चल रहा है

सेटअप

यदि आप Docker का उपयोग नहीं करना चाहते हैं, तो Docker के बिना सेटअप पर जाएं।

Docker का उपयोग करके

एक डेवलपमेंट इंस्टेंस जल्दी से सेटअप करें:

root@kitploit:~
# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Build backend and frontend image.
docker compose build
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py

पूर्व-निर्मित Docker इमेज का उपयोग करके

वर्तमान में, मल्टी-प्लेटफ़ॉर्म इमेज उपलब्ध नहीं हैं, और परियोजना केवल ARM64v8 आर्किटेक्चर का समर्थन करती है। नवीनतम पूर्व-निर्मित इमेज GitHub कंटेनर रजिस्ट्री से डाउनलोड करें और उन्हें स्थानीय रूप से चलाएं।

root@kitploit:~
# First clone this repo.
git clone https://github.com/AleksaMCode/Preferred-Network-List-Sniffer.git
# Move to the project root folder.
cd Preferred-Network-List-Sniffer
# Download the prebuild images.
docker pull ghcr.io/aleksamcode/pnls-backend-ghcr:latest
docker pull ghcr.io/aleksamcode/pnls-frontend-ghcr:latest
# Bring up both the backend and the frontend server.
docker compose up
# Move into the sniffer folder.
cd sniffer
# Run the Sniffer service.
sudo python3 sniffer.py

Docker के बिना

  • बैकएंड: ASGI और Redis सर्वर शुरू करने और आवश्यक सेवाओं को चलाने के लिए, ये निर्देश देखें।

  • फ्रंटएंड: React सर्वर चलाने के लिए, ये निर्देश देखें।

जब सब कुछ "मैन्युअल रूप से" चलाया गया था, तब का एक स्क्रीनशॉट यहाँ है:

  • ऊपर बाएँ: Redis सर्वर
  • ऊपर दाएँ: ASGI सर्वर
  • नीचे बाएँ: Sniffer सेवा
  • नीचे दाएँ: React सर्वर

PNLS Kali स्क्रीनशॉट

चित्र 5: PNLS स्क्रीनशॉट

प्रोब रिक्वेस्ट

प्रोब रिक्वेस्ट प्रबंधन 802.11 फ्रेम हैं जो डिवाइस को पहले से जुड़े वायरलेस एक्सेस पॉइंट्स (AP) से कनेक्ट करने के लिए उपयोग किए जाते हैं। जब भी किसी डिवाइस में वाई-फाई सक्षम होता है लेकिन वह नेटवर्क से कनेक्ट नहीं होता है, तो वह समय-समय पर अपनी PNL से SSIDs युक्त प्रोब रिक्वेस्ट का एक बर्स्ट भेजता है। ये फ्रेम अनएन्क्रिप्टेड भेजे जाते हैं, और कोई भी जो रेडियो फ्रीक्वेंसी (RF) मॉनिटरिंग कर रहा है, उन्हें कैप्चर और पढ़ सकता है। प्रोब ब्रॉडकास्ट DA पते (ff:ff:ff:ff:ff:ff) पर भेजे जाते हैं। एक बार भेजे जाने के बाद, डिवाइस प्रोब टाइमर शुरू करता है। टाइमर के अंत में, डिवाइस प्राप्त उत्तर को प्रोसेस करता है। यदि डिवाइस को उत्तर नहीं मिला है, तो वह अगले चैनल पर जाएगा और प्रक्रिया को दोहराएगा। प्रोब रिक्वेस्ट दो प्रकार की होती हैं:

  • डायरेक्टेड प्रोब रिक्वेस्ट: डिवाइस की PNL से विशिष्ट SSID का उपयोग करके

  • नल प्रोब रिक्वेस्ट: वाइल्डकार्ड SSID (खाली SSID) का उपयोग करके

    • रिक्त अनुरोध रेंज में उपलब्ध सभी APs से प्रतिक्रिया प्राप्त करने के लिए भेजे जाते हैं।

    • सभी कैप्चर किए गए पैकेटों में से 802.11 प्रोब रिक्वेस्ट फ्रेम को फ़िल्टर करने के अलावा, Sniffer वाइल्डकार्ड SSIDs को भी फ़िल्टर करेगा।

SSID फ़िल्टरिंग

बड़े स्थानीय नेटवर्क वाले स्थानों पर प्रोब रिक्वेस्ट कैप्चर करते समय, जहां बहुत सारे वाई-फाई क्लाइंट हैं, PNLS अनिवार्य रूप से बहुत सारी प्रोब रिक्वेस्ट कैप्चर करेगा जिनमें उक्त नेटवर्क का SSID होता है। ऐसे SSIDs को फ़िल्टर करना फायदेमंद हो सकता है, क्योंकि वे हमारे लिए किसी मूल्य के नहीं हैं और सॉकेट लोड में वृद्धि का कारण बन सकते हैं। इन SSIDs को फ़िल्टर करने से न केवल सॉकेट कनेक्शन पर लोड कम होगा, बल्कि वेब UI पर उक्त SSIDs के स्पैम को भी रोका जा सकेगा।

इस सुविधा का उपयोग करते समय, आपको स्रोत कोड में मामूली समायोजन करने की आवश्यकता होगी। सटीक रूप से, आपको settings.py फ़ाइल में SSID_FILTER सूची को उस मान के साथ अपडेट करना होगा जिसे आप Sniffer को अनदेखा करना चाहते हैं। एक बार अपडेट करने के बाद, परियोजना को पुनर्निर्माण करें और PNLS प्रारंभ करें।

आर्किटेक्चर

यह परियोजना इवेंट-ड्रिवन आर्किटेक्चर (EDA) का उपयोग करती है, जो मैसेज-ड्रिवन आर्किटेक्चर के ऊपर डिज़ाइन किया गया है। जबकि यह परियोजना एक केंद्रीकृत समाधान (सब कुछ RPi से चलता है) का उपयोग करती है, EDA के उपयोग के परिणामस्वरूप शिथिल रूप से युग्मित घटकों के कारण, यदि आवश्यक हो तो एक विकेंद्रीकृत समाधान बनाना संभव है। PNLS में एक ईवेंट प्रकाशक (स्निफर), एक ईवेंट उपभोक्ता (वेब एप्लिकेशन), और एक ईवेंट चैनल शामिल है। यहाँ, ईवेंट चैनल को मैसेज-ओरिएंटेड मिडलवेयर (MOM) के रूप में कार्यान्वित किया गया है।

PNLS सिस्टम तैनाती आरेख

चित्र 6: PNLS सिस्टम तैनाती आरेख

असिंक्रोनस सर्वर गेटवे इंटरफ़ेस क्यों?

असिंक्रोनस सर्वर गेटवे इंटरफ़ेस (ASGI) एसिंक-सक्षम Python वेब सर्वर और सेवाओं के बीच एक मानकीकृत इंटरफ़ेस प्रदान करता है [4]। ASGI को परियोजना की लंबे समय तक चलने वाले WebSocket कनेक्शन की आवश्यकता के कारण चुना गया था ताकि विभिन्न क्लाइंट के बीच एसिंक संचार की सुविधा हो सके। इसके अलावा, यह API कॉल के दौरान बैकग्राउंड कोरूटीन के उपयोग की भी अनुमति देता है। PNLS ASGI वेब सर्वर का उपयोग करने के लिए Python के लिए uvicorn कार्यान्वयन का उपयोग करता है।

WebSockets क्यों?

WebSocket संचार प्रोटोकॉल के उपयोग के माध्यम से, हम फुल-डुप्लेक्स, दो-तरफा संचार की सुविधा प्रदान करने में सक्षम हैं। जबकि इस परियोजना को दो-तरफा संचार की आवश्यकता नहीं है, इसे सिस्टम घटकों के बीच वास्तविक समय में बातचीत की आवश्यकता है। इस तरह, स्निफ किया गया डेटा कैप्चर होते ही अंतिम उपयोगकर्ता के लिए उपलब्ध होगा।

Pub-Sub मॉडल

परियोजना का MOM मैसेज ब्रोकर के माध्यम से Redis का उपयोग करके कार्यान्वित किया गया है। प्रकाशन-सदस्यता (pub-sub) मॉडल में, Sniffer संदेश उत्पन्न करने के लिए जिम्मेदार है, जबकि वेब एप्लिकेशन (सब्सक्राइबर) विशिष्ट Topic (Redis चैनल) के लिए पंजीकृत होता है। जब Sniffer किसी Topic पर एक संदेश भेजता है, तो यह सभी सब्सक्राइब किए गए उपभोक्ताओं को वितरित किया जाता है, जिससे एसिंक्रोनस और स्केलेबल संचार संभव होता है। PNLS कम विलंबता और बड़े थ्रूपुट [5][6] के साथ अल्पकालिक संदेशों को प्रसारित करने के लिए हल्के मैसेजिंग प्रोटोकॉल Redis Pub/Sub का उपयोग करता है। इस तरह, डेटा संरचनाओं को ऐसे रूप में एन्कोड करने से जुड़ी ओवरहेड से बचा गया है जिसे डिस्क पर लिखा जा सके। ऐसा करने से, इस समाधान का प्रदर्शन संभावित रूप से बेहतर होगा [7]। नीचे दिया गया चित्र ईवेंट-ड्रिवन वर्कफ़्लो के माध्यम से सरलीकृत सिस्टम गतिविधि दर्शाता है।

pub-sub अनुक्रम आरेख

चित्र 7: PNLS Pub-Sub मॉडल अनुक्रम आरेख

[!NOTE] कार्यान्वित MOM डेटा संचय के लिए स्थायी भंडारण या मैसेज कतार प्रदान नहीं करता है, जिसका अर्थ है कि यदि बिना सब्सक्राइबर के किसी Topic पर संदेश प्रकाशित किए जाते हैं तो संदेश खो जाएंगे।

स्क्रीनशॉट

नीचे परीक्षण SSIDs प्रदर्शित करने वाले वेब UI का एक उदाहरण है।

PNLS वेब - परीक्षण SSIDs के साथ उदाहरण

चित्र 8: PNLS वेब - परीक्षण SSIDs के साथ उदाहरण

परिवर्णी शब्द

संदर्भ

  1. Nexmon Git रिपॉजिटरी
  2. Aircrack-ng दस्तावेज़ीकरण
  3. Kali On ARM दस्तावेज़ीकरण
  4. ASGI दस्तावेज़ीकरण
  5. कम विलंबता वाला मैसेज क्यू और ब्रोकर सॉफ्टवेयर
  6. Redis - Pub/Sub परिभाषित
  7. Stephen M. Rumble, Ankita Kejriwal, and John K. Ousterhout, “Log-Structured Memory for DRAM-Based Storage,” at 12th USENIX Conference on File and Storage Technologies (FAST)
  8. Enable Monitor Mode & Packet Injection on the Raspberry Pi

Footnotes

  1. एक प्रिफर्ड नेटवर्क लिस्ट सहेजे गए SSIDs का एक संग्रह है जिसमें अतिरिक्त सेटिंग्स शामिल हैं जो आपने पहली बार अपने डिवाइस को उन नेटवर्क से कनेक्ट करते समय बनाई थीं। ↩

  2. एक सर्विस सेट आइडेंटिफायर (SSID) एक 802.11 ID है जिसका उपयोग वाई-फाई नेटवर्क को नाम देने के लिए किया जाता है, जिसमें अधिकतम 32 वर्ण होते हैं जिनमें केस-सेंसिटिव अक्षर, संख्याएँ और विशेष वर्ण शामिल हो सकते हैं, और 32 वर्णों से अधिक लंबा नहीं होता है। ↩

  3. Broadcom/Cypress वाई-फाई चिप्स के लिए C-आधारित फर्मवेयर पैचिंग फ्रेमवर्क जो मॉनिटर मोड, फ्रेम इंजेक्शन और बहुत कुछ सक्षम करता है। ↩

  4. Broadcom ने कभी भी आधिकारिक तौर पर मॉनिटर मोड का समर्थन नहीं किया, जिसने रास्पबेरी पाई उपकरणों में वायरलेस कार्ड की उपयोगिता को सीमित कर दिया [8]। Nexmon परियोजना RPi उपकरणों में उपयोग किए जाने वाले Broadcom चिप्स के लिए एक फर्मवेयर पैच है। [1]। यह पैच आपको अपने RPi डिवाइस पर मॉनिटरिंग मोड का उपयोग करने की अनुमति देगा। ↩

टूल डाउनलोड करें
PNLप्रिफर्ड नेटवर्क लिस्ट
PNLSप्रिफर्ड नेटवर्क लिस्ट स्निफर
SSIDसर्विस सेट आइडेंटिफायर
UIयूज़र इंटरफ़ेस
RPiरास्पबेरी पाई
OSऑपरेटिंग सिस्टम
APएक्सेस पॉइंट्स
RFरेडियो फ्रीक्वेंसी
EDAईवेंट-ड्रिवन आर्किटेक्चर
MOMमैसेज-ओरिएंटेड मिडलवेयर
ASGIअसिंक्रोनस सर्वर गेटवे इंटरफ़ेस
pub-subप्रकाशन-सदस्यता