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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
nmap — नेटवर्क स्कैनर बाइनरी को आमंत्रित करने के लिए इडियोमैटिक Go लाइब्रेरी, जो होस्ट डिस्कवरी, पोर्ट स्कैनिंग, सेवा/OS पहचान, और सुरक्षा ऑडिटिंग के लिए स्क्रिप्टेड भेद्यता जाँच को सक्षम बनाती है। | Kitploit
उपकरण/GitHubGitHub/ullaakut/nmap
नेटवर्क मैपिंगपोर्ट स्कैनिंगभेद्यता विश्लेषणजानकारी एकत्र करनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंग
GitHubullaakut/nmap

nmap

नेटवर्क स्कैनर बाइनरी को आमंत्रित करने के लिए इडियोमैटिक Go लाइब्रेरी, जो होस्ट डिस्कवरी, पोर्ट स्कैनिंग, सेवा/OS पहचान, और सुरक्षा ऑडिटिंग के लिए स्क्रिप्टेड भेद्यता जाँच को सक्षम बनाती है।

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

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

सभी देखें →

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

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

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

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

nmap

PkgGoDev github.com/Ullaakut/nmap/v4 Coverage Status

इस लाइब्रेरी का उद्देश्य Go डेवलपर्स के लिए स्वाभाविक (idiomatic) nmap बाइंडिंग्स प्रदान करना है, ताकि golang का उपयोग करके सुरक्षा ऑडिट टूल लिखना आसान हो सके।

nmap क्या है

Nmap (Network Mapper) एक मुफ्त और ओपन-सोर्स नेटवर्क स्कैनर है जिसे Gordon Lyon ने बनाया है। Nmap का उपयोग कंप्यूटर नेटवर्क पर होस्ट और सेवाओं का पता लगाने के लिए किया जाता है, पैकेट भेजकर और प्रतिक्रियाओं का विश्लेषण करके।

Nmap कंप्यूटर नेटवर्क की जाँच के लिए कई सुविधाएँ प्रदान करता है, जिनमें होस्ट खोज और सेवा तथा ऑपरेटिंग सिस्टम पहचान शामिल हैं। ये सुविधाएँ स्क्रिप्ट द्वारा विस्तार योग्य हैं जो अधिक उन्नत सेवा पहचान, भेद्यता पहचान और अन्य सुविधाएँ प्रदान करती हैं। Nmap स्कैन के दौरान विलंबता और भीड़ (latency and congestion) सहित नेटवर्क स्थितियों के अनुकूल हो सकता है।

पेनिट्रेशन टेस्टिंग के लिए Go का उपयोग क्यों करें

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

यह कैसे काम करता है

यह लाइब्रेरी Go के exec पैकेज का उपयोग करके nmap बाइनरी को कॉल करती है और XML आउटपुट को पार्स करती है। इसका मतलब है कि इस लाइब्रेरी के काम करने के लिए nmap आपके PATH पर इंस्टॉल और उपलब्ध होना चाहिए।

संगतता nmap के वर्तमान नवीनतम संस्करण, 7.98, के साथ पुष्टि की गई है।

विशेषाधिकार

कुछ स्कैन प्रकारों के लिए उन्नत विशेषाधिकारों (elevated privileges) की आवश्यकता होती है (उदाहरण के लिए, SYN स्कैन, OS पहचान, या raw socket उपयोग)। यदि आप उन विकल्पों को सक्षम करते हैं, तो आपको अपने प्रोग्राम को sudo या आपके प्लेटफ़ॉर्म के लिए उपयुक्त capabilities के साथ चलाने की आवश्यकता हो सकती है।

[!TIP] अनप्रिविलेज्ड रन के लिए, connect स्कैन (जैसे -sT) को प्राथमिकता दें।

उदाहरण

सिंक्रोनस स्कैन

root@kitploit:~
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"github.com/Ullaakut/nmap/v4"
)

func main() {
	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
	defer cancel()

	// Equivalent to `/usr/local/bin/nmap -p 80,443,843 google.com facebook.com youtube.com`,
	// with a 5-minute timeout.
	scanner, err := nmap.NewScanner(
		nmap.WithTargets("scanme.nmap.org"),
		nmap.WithPorts("80,443,843"),
	)
	if err != nil {
		log.Fatalf("creating nmap scanner: %v", err)
	}

	result, err := scanner.Run(ctx)
	if err != nil {
		log.Fatalf("running network scan: %v", err)
	}

	warnings := result.Warnings()
	if len(warnings) > 0 {
		log.Printf("warning: %v\n", warnings) // Warnings are non-critical errors from nmap.
	}

	// Use the results to print an example output
	for _, host := range result.Hosts {
		if len(host.Ports) == 0 || len(host.Addresses) == 0 {
			continue
		}

		fmt.Printf("Host %q:\n", host.Addresses[0])

		for _, port := range host.Ports {
			fmt.Printf("\tPort %d/%s %s %s\n", port.ID, port.Protocol, port.State, port.Service.Name)
		}
	}

	fmt.Printf("Nmap done: %d hosts up scanned in %.2f seconds\n", len(result.Hosts), result.Stats.Finished.Elapsed)
}

उपरोक्त प्रोग्राम का आउटपुट:

root@kitploit:~
Host "45.33.32.156":
	Port 80/tcp open http
	Port 443/tcp closed https
	Port 843/tcp closed 
Nmap done: 1 hosts up scanned in 0.42 seconds

प्रगति के साथ सिंक्रोनस स्कैन (केवल TTY)

[!IMPORTANT] यह टर्मिनल escape sequences पर निर्भर करता है और केवल तब काम करता है जब प्रक्रिया TTY से जुड़ी हो।

[!NOTE] प्रगति के monotonic रूप से बढ़ने की गारंटी नहीं है: nmap शेष समय का अनुमान लगाता है और उस अनुमान को संशोधित कर सकता है, जिससे रिपोर्ट किया गया प्रतिशत घट सकता है।

root@kitploit:~
package main

import (
	"context"
	"log"
	"time"

	"github.com/Ullaakut/nmap/v4"
)

func main() {
	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
	defer cancel()

	scanner, err := nmap.NewScanner(
		nmap.WithTargets("scanme.nmap.org"),
		nmap.WithPorts("1-1024"),
		nmap.WithTimingTemplate(nmap.TimingAggressive),
		nmap.WithProgress(time.Second, handleProgress),
	)
	if err != nil {
		log.Fatalf("creating nmap scanner: %v", err)
	}

	_, err = scanner.Run(ctx)
	if err != nil {
		log.Fatalf("running network scan: %v", err)
	}
}

func handleProgress(p nmap.TaskProgress) {
	log.Println("Current progress: ", p.Percent)
}

यह उदाहरण निम्नलिखित आउटपुट देता है:

root@kitploit:~
2026/01/27 16:13:02 task "Connect Scan": 2.59% remaining 38
2026/01/27 16:13:02 task "Connect Scan": 21.26% remaining 4
2026/01/27 16:13:04 task "Connect Scan": 42.61% remaining 5
2026/01/27 16:13:04 task "Connect Scan": 45.51% remaining 4
2026/01/27 16:13:05 task "Connect Scan": 53.44% remaining 4
2026/01/27 16:13:07 task "Connect Scan": 59.77% remaining 5
2026/01/27 16:13:07 task "Connect Scan": 62.77% remaining 4
2026/01/27 16:13:08 task "Connect Scan": 73.24% remaining 3
2026/01/27 16:13:09 task "Connect Scan": 81.71% remaining 2
2026/01/27 16:13:10 task "Connect Scan": 92.92% remaining 1
2026/01/27 16:13:11 task "Connect Scan": 100.00% remaining 0

असिंक्रोनस स्कैन

root@kitploit:~
package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"github.com/Ullaakut/nmap/v4"
)

func main() {
	ctx, cancel := context.WithTimeout(context.Background(), 2*time.Minute)
	defer cancel()

	scanner, err := nmap.NewScanner(
		nmap.WithTargets("scanme.nmap.org"),
		nmap.WithPorts("1-1024"),
	)
	if err != nil {
		log.Fatalf("creating nmap scanner: %v", err)
	}

	stdout, stderr, resultCh, err := scanner.RunAsync(ctx)
	if err != nil {
		log.Fatalf("running network scan: %v", err)
	}

	for {
		select {
		case <-ctx.Done():
			log.Fatalf("scan timed out: %v", ctx.Err())
		case out := <-stdout:
			fmt.Printf("nmap output: %s\n", out)
		case errOut := <-stderr:
			fmt.Printf("nmap error output: %s\n", errOut)
		case result := <-resultCh:
			if result.Err != nil {
				log.Fatalf("running network scan: %v", result.Err)
			}

			fmt.Printf("Nmap done: %d hosts up\n", len(result.Result.Hosts))
			return
		}
	}
}

अधिक उदाहरण

अधिक उपयोग उदाहरणों के लिए examples निर्देशिका देखें।

उन्नत उदाहरण

Cameradar पहले से ही इस लाइब्रेरी का उपयोग अपने कोर में nmap से संवाद करने, RTSP स्ट्रीम खोजने और उन्हें दूरस्थ रूप से एक्सेस करने के लिए करता है।

अधिक उदाहरण:

  • मूल स्कैन
  • नेटवर्क पर प्रत्येक ऑपरेटिंग सिस्टम के लिए होस्ट गिनें
  • सेवा पहचान
  • IP एड्रेस स्पूफिंग और डिकॉय
  • स्थानीय इंटरफ़ेस सूचीबद्ध करें

बाहरी संसाधन

  • आधिकारिक nmap दस्तावेज़ीकरण
  • Nmap संदर्भ गाइड
टूल डाउनलोड करें