Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
webscan — ماسح الشبكة المستند إلى المتصفح وكشف عنوان IP المحلي | Kitploit
أدوات/GitHubGitHub/samyk/webscan
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعتخطيط الشبكةجمع المعلومات
GitHubsamyk/webscan

webscan

ماسح الشبكة المستند إلى المتصفح وكشف عنوان IP المحلي

عرض المستودعالموقع الإلكتروني
47267منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

ويب سكان

webscan هو ماسح ضوئي للشبكة قائم على المتصفح وكاشف لعناوين IP المحلية. يكتشف عناوين IP المرتبطة بالمستخدم/الضحية من خلال الاستماع على قناة بيانات RTP عبر WebRTC وإعادة التوجيه إلى المنفذ عبر أي عناوين IP حية، بالإضافة إلى اكتشاف جميع عناوين IP الحية على الشبكات الفرعية الصالحة عن طريق مراقبة انتهاء المهلة الفورية (حزم TCP RST المرتجعة) من استدعاءات fetch() أو علامات img المخفية الموجهة إلى شبكات فرعية/عناوين IP صالحة. يعمل على الأجهزة المحمولة وسطح المكتب عبر جميع المتصفحات الرئيسية وأنظمة التشغيل. الإصدار التجريبي قابل للتوسيع للسماح بإضافة تقنيات متعددة.

يستفيد webscan من حقيقة أن مآخذ علامات img غير المستجيبة يمكن إغلاقها لمنع تحديد المعدل القائم على المتصفح والشبكة عن طريق تغيير سمة src إلى URI غير مأخذ (إزالتها من DOM بشكل ساخر لا يغلق المأخذ)، أو باستخدام دعم الإشارة لـ fetch() لواجهة AbortController().

جرب webscan مباشرة هنا
الإصدار التجريبي هنا

بواسطة @SamyKamkar
تم الإصدار 2020/11/07
المزيد من المشاريع الممتعة على samy.pl

يعمل webscan على النحو التالي

  1. أولاً، يتكرر webscan عبر قائمة من عناوين IP للبوابات الشائعة
  2. لكل عنوان IP، استخدم fetch() لإنشاء اتصال HTTP وهمي إلى http://common.gateway.ip:1337
  3. إذا تم إرجاع TCP RST، سيتم رفض وعد fetch() أو سيتم تشغيل onerror لعلامة img قبل انتهاء المهلة، مما يشير إلى عنوان IP حي
  4. لمنع تحديد معدل المتصفح أو الشبكة، يتم إغلاق مآخذ fetch() غير المستجيبة عبر إشارة AbortController() بينما يتم إعادة توجيه src لعلامات img إلى URI غير مأخذ، لإغلاق المأخذ
  5. عند اكتشاف بوابة حية، يتم إعادة تشغيل الخطوات 1-3 لكل عنوان IP على الشبكة الفرعية (مثل 192.168.0.[1-255])
  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 كأنوية ماسح ضوئي (مكتمل في beta)
    • Safari
      • ملاحظة: تعمل علامة img بشكل جيد جدًا في بعض المتصفحات مثل Safari
      • تحذير: تغيير .src لا يبدو أنه يلغي الاتصال
      • حل محتمل: راجع ملاحظة iframe أعلاه
    • Chrome
      • تحذير: لن يلغي Chrome الاتصال إذا قمت بإزالة img من DOM
      • حل: سيلغي Chrome اتصال img إذا قمت بتعديل .src، هذا رائع!
      • تحذير: تغيير img.src إلى '#' يؤدي إلى طلب آخر إلى نفس الصفحة الأم
      • تحذير: تغيير img.src إلى 'about:' ينتج تحذيرًا في وحدة التحكم، هل هناك شيء آخر يمكن استخدامه دون إجراء طلب؟
  • استخدام توقيت img كآلية كشف IP محلي

تم الاختبار على

  • 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)
تنزيل الأداة