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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
webscan — ब्राउज़र-आधारित नेटवर्क स्कैनर और स्थानीय-आईपी पहचान | Kitploit
उपकरण/GitHubGitHub/samyk/webscan
OSINT (खुला स्रोत खुफिया)टोहीनेटवर्क मैपिंगजानकारी एकत्र करना
GitHubsamyk/webscan

webscan

ब्राउज़र-आधारित नेटवर्क स्कैनर और स्थानीय-आईपी पहचान

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

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

सभी देखें →

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

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

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

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

webscan

webscan एक ब्राउज़र-आधारित नेटवर्क IP स्कैनर और स्थानीय IP डिटेक्टर है। यह WebRTC के माध्यम से RTP डेटा चैनल पर सुनकर और किसी भी लाइव IP पर पोर्ट पर वापस लूप करके उपयोगकर्ता/पीड़ित से बंधे IP का पता लगाता है, साथ ही मान्य सबनेट पर तत्काल टाइमआउट (TCP RST पैकेट वापस) की निगरानी करके सभी लाइव IP पतों की खोज करता है, जो fetch() कॉल या मान्य सबनेट/IP की ओर इशारा करने वाले छिपे हुए img टैग से प्राप्त होते हैं। मोबाइल और डेस्कटॉप पर सभी प्रमुख ब्राउज़रों और OS पर काम करता है। बीटा संस्करण कई तकनीकों को जोड़ने की अनुमति देने के लिए विस्तार योग्य है।

webscan इस तथ्य का लाभ उठाता है कि गैर-प्रतिक्रियाशील img टैग सॉकेट को स्रोत विशेषता को एक गैर-सॉकेट URI में बदलने से बंद किया जा सकता है (DOM से हटाने से विडंबना यह है कि सॉकेट बंद नहीं होता), या AbortController() इंटरफ़ेस के fetch() के सिग्नल समर्थन का उपयोग करके ब्राउज़र और नेटवर्क-आधारित रेट लिमिटिंग को रोका जा सकता है।

webscan को लाइव आज़माएँ यहाँ
बीटा संस्करण यहाँ

द्वारा @SamyKamkar
रिलीज़ 2020/11/07
अधिक मजेदार प्रोजेक्ट्स samy.pl पर

webscan इस प्रकार काम करता है:

  1. webscan पहले सामान्य गेटवे IP पतों की एक सूची में पुनरावृत्ति करता है
  2. प्रत्येक IP के लिए, http://common.gateway.ip:1337 पर नकली HTTP कनेक्शन बनाने के लिए fetch() का उपयोग करें
  3. यदि TCP RST वापस आता है, तो fetch() प्रॉमिस अस्वीकार हो जाएगा या img टैग onerror टाइमआउट से पहले ट्रिगर होगा, जो एक लाइव IP का संकेत देता है
  4. ब्राउज़र या नेटवर्क रेट लिमिटिंग को रोकने के लिए, गैर-प्रतिक्रियाशील fetch() सॉकेट AbortController() सिग्नल के माध्यम से बंद कर दिए जाते हैं, जबकि img-टैग का src गैर-सॉकेट URI पर रीडायरेक्ट किया जाता है, जिससे सॉकेट बंद हो जाता है
  5. जब लाइव गेटवे का पता चलता है, तो सबनेट के प्रत्येक IP (जैसे 192.168.0.[1-255]) के लिए चरण 1-3 फिर से चलाए जाते हैं
  6. ब्राउज़र पर एक WebRTC डेटा चैनल खोला जाता है, जो पीड़ित मशीन पर एक यादृच्छिक पोर्ट खोलता है
  7. सबनेट पर जीवित पाए गए किसी भी IP के लिए, उस होस्ट के लिए एक WebRTC डेटा चैनल कनेक्शन बनाया जाता है
  8. यदि WebRTC डेटा चैनल सफल होता है, तो हम जानते हैं कि हमने अपने स्वयं के स्थानीय IP से एक कनेक्शन स्थापित किया है

कार्यान्वयन

root@kitploit:~
// wait for scan to finish
let scanResults = await webScanAll()
 
// or get callbacks when ips are found with a promise
let ipsToScan = undefined // scans all pre-defined networks if null
let scanPromise = webScanAll(
  ipsToScan, // array. if undefined, scan major subnet gateways, then scan live subnets. supports wildcards
  {
    rtc: true,   // use webrtc to detect local ips
    logger: l => console.log(l),  // logger callback
    noRedirect: false, // if true, doesn't redirect from http to http - Chrome doesn't scan detect network IPs proprly on https atm
    localCallback:   function(ip) { console.log(`local ip callback: ${ip}`)   },
    subnetCallback:  function(ip) { console.log(`router ip callback: ${ip}`)  },
    networkCallback: function(ip) { console.log(`network ip callback: ${ip}`) },
  }
)

परिणाम

root@kitploit:~
scanResults = {
  "local": ["192.168.0.109"], // local ip address
  "network": { // other hosts on the network and how fast they respond
    "192.168.0.1": 97,
    "192.168.0.2": 82,
    "192.168.0.100": 46,
    "192.168.0.109": 0,
    "192.168.0.117": 74,
    "192.168.0.113": 17,
    "192.168.0.112": 21,
    "192.168.0.114": 25,
    "192.168.0.116": 25,
    "192.168.0.115": 25,
    "192.168.0.105": 57,
    "192.168.0.107": 63,
    "192.168.0.103": 64,
    "192.168.0.108": 31
  }
}

कार्य सूची

  • ब्लॉकों में स्कैन करने के लिए iframe का उपयोग करें
    • जब फ्रेम हटा दिया जाता है, तो मुझे लगता है कि इससे कनेक्शन टूटने की गारंटी मिलती है
    • कई iframes कई ब्लॉकों को स्कैन करते हैं? शायद यह हमें ब्राउज़र कनेक्शन रेट लिमिटिंग को बायपास करने की अनुमति देता है
  • स्कैनर कोर के रूप में fetch() और img दोनों को समर्थन दें (बीटा में पूरा हुआ)
    • Safari
      • नोट: img टैग कुछ ब्राउज़रों जैसे Safari में बहुत अच्छा काम करता है
      • चेतावनी: .src को बदलने से कनेक्शन रद्द नहीं होता
      • संभावित समाधान: ऊपर iframe नोट देखें
    • Chrome
      • चेतावनी: Chrome img को DOM से हटाने पर कनेक्शन रद्द नहीं करेगा
      • समाधान: Chrome img का .src बदलने पर कनेक्शन रद्द कर देगा, यह बहुत अच्छा है!
      • चेतावनी: img.src को '#' पर बदलने से उसी पैरेंट पेज पर एक और अनुरोध होता है
      • चेतावनी: img.src को 'about:' पर बदलने से कंसोल में एक चेतावनी उत्पन्न होती है, क्या कोई अन्य चीज़ है जो अनुरोध नहीं करेगी?
  • स्थानीय IP पता लगाने के तंत्र के रूप में img टाइमिंग का उपयोग करें

परीक्षण किया गया

  • Chrome 87.0.4280.47 (macOS)
  • Edge 86.0.622.63 (Windows)
  • Firefox 82.0.2 (macOS)
  • Firefox 82.0.2 (Windows 10)
  • Safari 13.1.2 (macOS)
  • mobile Safari (iOS)
  • mobile Chrome (iOS)
टूल डाउनलोड करें