Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Forerunner — तेज़ और विस्तार योग्य network scanning library जिसमें multithreading, ping probing, और scan fetchers शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/jasondrawdy/forerunner
टोहीनेटवर्क मैपिंगपोर्ट स्कैनिंगजानकारी एकत्र करनाउपयोगिताएँ और फ्रेमवर्क
GitHubjasondrawdy/forerunner

Forerunner

तेज़ और विस्तार योग्य network scanning library जिसमें multithreading, ping probing, और scan fetchers शामिल हैं।

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

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

सभी देखें →

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

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

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

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

Forerunner

फोररनर लाइब्रेरी एक तेज़, हल्की और विस्तार योग्य नेटवर्किंग लाइब्रेरी है जो मजबूत नेटवर्क-केंद्रित अनुप्रयोगों जैसे: IP स्कैनर, पोर्ट नॉकर, क्लाइंट, सर्वर आदि के विकास में सहायता के लिए बनाई गई है। अपनी वर्तमान स्थिति में, फोररनर लाइब्रेरी समकालिक (synchronously) और असमकालिक (asynchronously) दोनों तरीकों से IP पतों को स्कैन और पोर्ट नॉक करने में सक्षम है, ताकि उस एंडपॉइंट पर स्थित डिवाइस के बारे में जानकारी प्राप्त की जा सके जैसे: IP ऑनलाइन है या नहीं, भौतिक MAC पता, आदि। लाइब्रेरी पूरी तरह से ऑब्जेक्ट ओरिएंटेड और इवेंट-आधारित है, जिसका अर्थ है कि स्कैन डेटा विशेष रूप से तैयार किए गए "स्कैन" ऑब्जेक्ट्स में समाहित होता है जो परिणामों से लेकर अपवादों तक सभी डेटा को संभालने के लिए डिज़ाइन किए गए हैं।

आवश्यकताएँ

  • .NET Framework 4.6.1

विशेषताएँ

विधिविवरणउपयोग
Scanएक एकल IP की जानकारी स्कैन करेंScan("192.168.1.1");
ScanRangeIP की एक श्रेणी स्कैन करेंScanRange("192.168.1.1", "192.168.1.255")
ScanListIP की सूची स्कैन करेंScanList("192.168.1.1, 192.168.1.2, 192.168.1.3")
PortKnockएक एकल IP के हर पोर्ट को पिंग करेंPortKnock("192.168.1.1");
PortKnockRangeIP की श्रेणी के हर पोर्ट को पिंग करेंPortKnockRange("192.168.1.1", "192.168.1.255");
PortKnockListIP सूची का उपयोग करके हर पोर्ट को पिंग करेंPortKnockList("192.198.1.1, 192.168.1.2, 192.168.1.3");
IsHostAliveएक होस्ट को X मिलीसेकंड के लिए N बार पिंग करेंIsHostAlive("192.168.1.1", 5, 1000);
GetAveragePingResponseहोस्ट का औसत पिंग प्रतिक्रिया प्राप्त करेंGetAveragePingResponse("192.168.1.1", 5, 1000);
IsPortOpenTCP & UDP के माध्यम से व्यक्तिगत पोर्ट पिंग करेंIsPortOpen("192.168.1.1", 45000, new TimeSpan(1000), false);

उदाहरण

IP स्कैनिंग

इस डिजिटल युग में नेटवर्क को स्कैन करना एक सामान्य कार्य है, और इसलिए मैंने इसे किसी भी भविष्य के प्रोग्रामर के लिए जितना संभव हो सके उतना सरल बनाने की स्वतंत्रता ली है, जो शायद ऐसा करना चाहे। फोररनर लाइब्रेरी पूरी तरह से ऑब्जेक्ट ओरिएंटेड है, इस प्रकार यह प्लग एंड प्ले स्थितियों के लिए आदर्श है; IP स्कैनिंग के लिए ऑब्जेक्ट को IPScanObject कहा जाता है और इसमें वास्तव में काफी कुछ गुण (properties) होते हैं:

  • Address (String)
  • IP (IPAddress)
  • Ping (Long)
  • Hostname (String)
  • MAC (String)
  • isOnline (Bool)
  • Errors (Exception)

इस ऑब्जेक्ट को ध्यान में रखते हुए, आइए एक नया ऑब्जेक्ट बनाने और इसका उपयोग करके स्कैन करने का प्रयास करें। ऐसा करने के कई तरीके हैं, हालांकि, शुरू करने का सबसे सरल तरीका पहले एक नया Scanner ऑब्जेक्ट बनाना है ताकि हम अपने स्कैनिंग विधियों तक पहुँच सकें। इसके बाद, एक IPScanObject बनाएँ और इसे उस IP के साथ Scan विधि पर सेट करें जिसे आप गणना करना चाहते हैं; उदाहरण के लिए:

समकालिक (Synchronous)
using System;
using Forerunner; // अपनी लाइब्रेरी आयात करना याद रखें।

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // हम जिस IP को स्कैन करना चाहते हैं।
            string ip = "192.168.1.1";

            // एक नया scanner ऑब्जेक्ट बनाएँ।
            Scanner s = new Scanner();

            // एक नया scan ऑब्जेक्ट बनाएँ और स्कैन करें।
            IPScanObject result = s.Scan(ip);

            // आउटपुट दें कि स्कैन पूरा हो गया है।
            if (result.Errors != null)
                Console.WriteLine("[x] स्कैन के दौरान एक त्रुटि हुई।");
            else
                Console.WriteLine("[+] " + ip + " सफलतापूर्वक स्कैन हो गया है!")

            // उपयोगकर्ता को किसी भी समय बाहर निकलने की अनुमति दें।
            Console.Read();
        }
    }
}

दूसरा तरीका, जो मेरा पसंदीदा तरीका है, एक Scanner ऑब्जेक्ट बनाना और ScanAsyncProgressChanged या ScanAsyncComplete जैसे इवेंट हैंडलर्स की सदस्यता लेना है, ताकि मुझे अपने async विधियों पर पूर्ण नियंत्रण मिल सके; मैं नियंत्रित कर सकता हूँ कि उनकी प्रगति स्थितियाँ मेरे एप्लिकेशन को कैसे प्रभावित करती हैं, इत्यादि; उदाहरण के लिए:

असमकालिक (Asynchronous)
using System;
using System.Threading.Tasks;
using Forerunner; // अपनी लाइब्रेरी आयात करना याद रखें।

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // हम जिस IP को स्कैन करना चाहते हैं।
            string ip = "192.168.1.1";

            // अपना scanner ऑब्जेक्ट सेटअप करें।
            Scanner s = new Scanner();
            s.ScanAsyncProgressChanged += new ScanAsyncProgressChangedHandler(ScanAsyncProgressChanged);
            s.ScanAsyncComplete += new ScanAsyncCompleteHandler(ScanAsyncComplete);

            // अपने ip के साथ एक नया स्कैन कार्य शुरू करें।
            TaskFactory task = new TaskFactory();
            task.StartNew(() => s.ScanAsync(ip));

            // उपयोगकर्ता को किसी भी समय बाहर निकलने की अनुमति दें।
            Console.Read();
        }

        static void ScanAsyncProgressChanged(object sender, ScanAsyncProgressChangedEventArgs e)
        {
            // यहाँ e.Progress के साथ कुछ करें, या आप इस इवेंट को सब्सक्राइब नहीं छोड़ सकते
            // ताकि आपको कुछ नहीं करना पड़े।
        }

        static void ScanAsyncComplete(object sender, ScanAsyncCompleteEventArgs e)
        {
           // IPScanObject उर्फ e.Result के साथ कुछ करें।
            if (e.Result.Errors != null)
                Console.WriteLine("[x] स्कैन के दौरान एक त्रुटि हुई।");
            else
                Console.WriteLine("[+] " + e.Result.IP + " सफलतापूर्वक स्कैन हो गया है!")
        }
    }
}

पोर्ट नॉकिंग

मुझे पता है आप क्या सोच रहे हैं। पोर्ट नॉकिंग? हाँ, और नहीं। यह शब्द पारंपरिक अर्थों में पोर्ट नॉकिंग का मतलब नहीं है जहाँ पूर्वनिर्धारित पोर्ट के सेट के माध्यम से कनेक्ट किया जाता है, बल्कि यह सिर्फ जाँच करना है कि क्या कोई पोर्ट वास्तव में खुला है। यह सचमुच हर अर्थ में एक पोर्ट पर "दस्तक" देना है, प्रत्येक पोर्ट से जुड़ने और डेटा भेजने का प्रयास करके। ठीक IP स्कैनिंग की तरह, पोर्ट नॉकिंग एक कस्टम ऑब्जेक्ट का उपयोग करता है जिसे "PortKnockScanObject" या संक्षेप में PKScanObject कहा जाता है। PKScanObject में वास्तव में PKServiceObjects की एक सूची होती है जो बदले में हमारे पोर्ट डेटा को रखती है; सेवा ऑब्जेक्ट में निम्नलिखित गुण (properties) होते हैं:

  • IP (String)
  • Port (Int)
  • Protocol (PortType)
  • Status (Bool)

पोर्ट नॉकिंग IP स्कैनिंग के समान तरीके से काम करता है। पहले, एक Scanner ऑब्जेक्ट बनाएँ। इसके बाद, एक नया PKScanObject बनाएँ और इसे अपनी पसंद के IP के साथ PortKnock विधि पर सेट करें, फिर अपने परिणाम प्रदर्शित करें; उदाहरण के लिए:

समकालिक (Synchronous)
using System;
using Forerunner; // अपनी लाइब्रेरी आयात करना याद रखें।

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            // हम जिस IP को स्कैन करना चाहते हैं।
            string ip = "192.168.1.1";

            // एक नया scanner ऑब्जेक्ट बनाएँ।
            Scanner s = new Scanner();

            // एक नया scan ऑब्जेक्ट बनाएँ और स्कैन करें।
            PKScanObject result = s.PortKnock(ip);
टूल डाउनलोड करें