अपडेट पर वापस जाएँ
New releaseAug 27, 2026

cdncheck v1.2.50

दिए गए IP address के लिए विभिन्न प्रौद्योगिकी का पता लगाने की एक उपयोगिता।

साझा करें

cdncheck

विशेषताएँस्थापनाउपयोगडिस्कॉर्ड से जुड़ें


cdncheck एक उपकरण है जो DNS / IP नेटवर्क पतों से जुड़ी तकनीक की पहचान करने के लिए है।

image

विशेषताएँ

  • CDN, CLOUD और WAF का पता लगाना
  • लाइब्रेरी के रूप में उपयोग में आसान
  • आसानी से विस्तार योग्य प्रदाता
  • IP, DNS इनपुट समर्थन
  • टेक्स्ट, JSONL आउटपुट
  • आउटपुट पर फ़िल्टर

स्थापना

cdncheck को सफलतापूर्वक स्थापित करने के लिए go1.19 आवश्यक है। नवीनतम संस्करण स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:

go install -v github.com/projectdiscovery/cdncheck/cmd/cdncheck@latest

उपयोग

cdncheck -h

यह उपकरण के लिए सहायता प्रदर्शित करेगा। यहाँ वे सभी स्विच दिए गए हैं जिनका यह समर्थन करता है।

उपयोग:
  ./cdncheck [flags]

फ़्लैग्स:
इनपुट:
   -i, -input string[]  प्रक्रिया करने के लिए ip / dns की सूची

पता लगाना:
   -cdn    CLI आउटपुट में केवल cdn दिखाएँ
   -cloud  CLI आउटपुट में केवल cloud दिखाएँ
   -waf    CLI आउटपुट में केवल waf दिखाएँ

मिलान:
   -mcdn, -match-cdn string[]      निर्दिष्ट cdn प्रदाता (cloudfront, fastly, google, leaseweb) के साथ होस्ट का मिलान करें
   -mcloud, -match-cloud string[]  निर्दिष्ट cloud प्रदाता (aws, google, oracle) के साथ होस्ट का मिलान करें
   -mwaf, -match-waf string[]      निर्दिष्ट waf प्रदाता (cloudflare, incapsula, sucuri, akamai) के साथ होस्ट का मिलान करें

फ़िल्टर:
   -fcdn, -filter-cdn string[]      निर्दिष्ट cdn प्रदाता (cloudfront, fastly, google, leaseweb) के साथ होस्ट को फ़िल्टर करें
   -fcloud, -filter-cloud string[]  निर्दिष्ट cloud प्रदाता (aws, google, oracle) के साथ होस्ट को फ़िल्टर करें
   -fwaf, -filter-waf string[]      निर्दिष्ट waf प्रदाता (cloudflare, incapsula, sucuri, akamai) के साथ होस्ट को फ़िल्टर करें

आउटपुट:
   -resp               CLI आउटपुट में तकनीक का नाम प्रदर्शित करें
   -o, -output string  सादे प्रारूप में फ़ाइल में आउटपुट लिखें
   -v, -verbose        विस्तृत आउटपुट प्रदर्शित करें
   -j, -jsonl          आउटपुट को json(लाइन) प्रारूप में लिखें
   -nc, -no-color      CLI आउटपुट में रंग अक्षम करें
   -version            परियोजना का संस्करण प्रदर्शित करें
   -silent             आउटपुट में केवल परिणाम दिखाएँ

कॉन्फ़िग:
   -r, -resolver string[]  उपयोग करने के लिए रिज़ॉल्वर की सूची (फ़ाइल या अल्पविराम से अलग)
   -e, -exclude            पता लगाए गए ip को आउटपुट से बाहर करें
   -retry int              DNS रिज़ॉल्यूशन के लिए अधिकतम पुनर्प्रयासों की संख्या (कम से कम 1 होनी चाहिए) (डिफ़ॉल्ट 2)

अपडेट:
   -up, -update                 cdncheck को नवीनतम संस्करण में अपडेट करें
   -duc, -disable-update-check  स्वचालित cdncheck अपडेट जाँच अक्षम करें

नए प्रदाता कैसे जोड़ें?

provider.yaml फ़ाइल में CDN, WAF और Cloud प्रदाताओं की सूची है। इस सूची में URLs, ASNs और CIDRs शामिल हैं जिन्हें बाद में generate-index प्रोग्राम का उपयोग करके एक अंतिम sources_data.json फ़ाइल में संकलित किया जाता है।

provider.yaml फ़ाइल का उदाहरण -

cdn:
  # asn में प्रदाताओं के ASN नंबर होते हैं
  asn:
    leaseweb:
      - AS60626

  # urls में CDN प्रदाताओं के लिए URL की सूची होती है
  urls:
    cloudfront:
      - https://d7uri8nf7uskq.cloudfront.net/tools/list-cloudfront-ips
    fastly:
      - https://api.fastly.com/public-ip-list

  # cidr में प्रदाताओं के CIDR रेंज होते हैं
  cidr:
    akamai:
      - "23.235.32.0/20"
      - "43.249.72.0/22"
      - "103.244.50.0/24"
      - "103.245.222.0/23"
      - "103.245.224.0/24"
      - "104.156.80.0/20"

नए प्रदाता जिन्हें URL, ASN या स्थिर CIDR की सूची से स्क्रैप किया जा सकता है, उन्हें नीचे दिए गए सरल चरणों का पालन करके provider.yaml फ़ाइल में जोड़ा जा सकता है:

  • cmd/generate-index/provider.yaml फ़ाइल वाले GitHub रिपॉजिटरी को फ़ोर्क करें।
  • अपने फ़ोर्क किए गए रिपॉजिटरी को अपनी स्थानीय मशीन पर क्लोन करें और cmd/generate-index निर्देशिका पर जाएँ।
  • provider.yaml फ़ाइल खोलें और उस प्रदाता के प्रकार (CDN, WAF, या Cloud) के लिए अनुभाग ढूँढ़ें जिसे आप जोड़ना चाहते हैं।
  • नए प्रदाता की जानकारी provider.yaml फ़ाइल में उपयुक्त अनुभाग में जोड़ें।
  • वर्णनात्मक कमिट संदेश के साथ अपने परिवर्तनों को कमिट करें।
  • अपने परिवर्तनों को GitHub पर अपने फ़ोर्क किए गए रिपॉजिटरी में पुश करें।
  • अपने परिवर्तनों के साथ मूल रिपॉजिटरी में एक पुल रिक्वेस्ट खोलें।

अन्य प्रदाता

CNAME और Wappalyzer आधारित जोड़ other.go फ़ाइल में किए जा सकते हैं। बस वेरिएबल में मान जोड़ें और आप तैयार हैं।

// cdnCnameDomains में CNAME से डोमेन को cdns से मैप करने वाला एक मैप है
var cdnCnameDomains = map[string]string{
	"cloudfront.net":         "amazon",
	"amazonaws.com":          "amazon",
    ...
}

// cdnWappalyzerTechnologies में wappalyzer तकनीकों को cdns से मैप करने वाला एक मैप है
var cdnWappalyzerTechnologies = map[string]string{
	"imperva":    "imperva",
	"incapsula":  "incapsula",
	...
}

cdncheck एक लाइब्रेरी के रूप में

सहायक लाइब्रेरी जो जाँचती है कि कोई दिया गया IP Cloud / CDN / WAF पर चल रहा है या नहीं।

लाइब्रेरी का उपयोग github.com/projectdiscovery/cdncheck आयात करके किया जा सकता है। यहाँ एक मूल उदाहरण दिया गया है:

package main

import (
	"fmt"
	"net"
	"github.com/projectdiscovery/cdncheck"
)

func main() {
	client := cdncheck.New()
	ip := net.ParseIP("173.245.48.12")

	// जाँचता है कि IP cdn डिनीलिस्ट में शामिल है या नहीं
	matched, val, err := client.CheckCDN(ip)
	if err != nil {
		panic(err)
	}

	if matched {
		fmt.Printf("%v एक %v है\n", ip, val)
	} else {
		fmt.Printf("%v एक CDN नहीं है\n", ip)
	}

	// जाँचता है कि IP cloud डिनीलिस्ट में शामिल है या नहीं
	matched, val, err = client.CheckCloud(ip)
	if err != nil {
		panic(err)
	}

	if matched {
		fmt.Printf("%v एक %v है\n", ip, val)
	} else {
		fmt.Printf("%v एक Cloud नहीं है\n", ip)
	}

	// जाँचता है कि IP waf डिनीलिस्ट में शामिल है या नहीं
	matched, val, err = client.CheckWAF(ip)
	if err != nil {
		panic(err)
	}

	if matched {
		fmt.Printf("%v WAF %v है\n", ip, val)
	} else {
		fmt.Printf("%v एक WAF नहीं है\n", ip)
	}
}

cdncheck ❤️ के साथ projectdiscovery टीम द्वारा बनाया गया है और MIT License के तहत वितरित किया गया है।

डिस्कॉर्ड से जुड़ें

श्रेणियाँ