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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/h4ckforjob/dirmap
الاستطلاعماسحات الثغرات الأمنيةجمع المعلوماتأمن الويباختبار الاختراق
GitHubh4ckforjob/dirmap

dirmap

أداة متقدمة لفحص أدلة وملفات الويب ستكون أكثر قوة من DirBuster وDirsearch وcansina وYu Jian.

عرض المستودع
3.4k5551منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Dirmap

الإنجليزية

أداة متقدمة لمسح أدلة الويب، ستكون أقوى من DirBuster وDirsearch وcansina وYuJian

dirmap

تحليل الاحتياجات

بعد بحث واسع، تم تلخيص أن أداة مسح أدلة ويب ممتازة يجب أن تتوفر فيها على الأقل الوظائف التالية:

  • محرك متزامن
  • القدرة على استخدام القاموس
  • القدرة على الهجوم العنيف الخالص
  • القدرة على زحف الصفحات وإنشاء قواميس ديناميكية
  • القدرة على مسح الت模ّيش (fuzz)
  • طلبات مخصصة
  • معالجة نتائج الاستجابة المخصصة...

لنلقِ نظرة على ميزات Dirmap إذن

الميزات الوظيفية

  1. تدعم التزامن بين n من الأهداف و n من الحمولات
  2. تدعم الفحص التكراري (recursive scanning)
  3. تدعم تخصيص رموز الحالة التي تحتاج إلى فحص تكراري
  4. تدعم فحص القاموس (الفردي أو المتعدد)
  5. تدعم هجوم القوة العمياء بمجموعة أحرف مخصصة
  6. تدعم فحص القاموس الديناميكي للزواحف
  7. تدعم وضع علامات مخصصة لت模ّيش عنوان URL الهدف
  8. تخصيص User-Agent للطلب
  9. تخصيص تأخير عشوائي للطلب
  10. تخصيص مهلة الطلب
  11. تخصيص وكيل الطلب
  12. تخصيص تعبير عادي لمطابقة صفحات 404 الزائفة
  13. تخصيص رموز حالة الاستجابة المراد معالجتها
  14. تخصيص تخطي الصفحات بحجم x
  15. تخصيص عرض content-type
  16. تخصيص عرض حجم الصفحة
  17. حفظ النتائج بدون تكرار حسب اسم النطاق

طريقة الاستخدام

التحضير البيئي

root@kitploit:~
git clone https://github.com/H4ckForJob/dirmap.git && cd dirmap && python3 -m pip install -r requirement.txt

الاستخدام السريع

إدخال الهدف

هدف واحد، الافتراضي هو http

root@kitploit:~
python3 dirmap.py -i https://target.com -lcf
root@kitploit:~
python3 dirmap.py -i 192.168.1.1 -lcf

شبكة فرعية (تنسيق CIDR)

root@kitploit:~
python3 dirmap.py -i 192.168.1.0/24 -lcf

نطاق الشبكة

root@kitploit:~
python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf

قراءة الملف

root@kitploit:~
python3 dirmap.py -iF targets.txt -lcf

يدعم targets.txt التنسيقات المذكورة أعلاه

حفظ النتائج

  1. سيتم حفظ النتائج تلقائيًا في مجلد output في جذر المشروع
  2. يتم إنشاء ملف txt لكل هدف، بتنسيق تسمية نطاق_الهدف.txt
  3. يتم إزالة التكرار تلقائيًا، لا تقلق بشأن التكرار الكبير

الاستخدام المتقدم

تكوين dirmap المخصص، ابدأ في استكشاف الوظائف المتقدمة لـ dirmap

في الوقت الحالي، يتم استخدام تحميل ملف التكوين للتكوين التفصيلي، لا يدعم استخدام معلمات سطر الأوامر للتكوين التفصيلي!

قم بتحرير dirmap.conf في جذر المشروع للتكوين

dirmap.conf شرح التكوين

root@kitploit:~
#递归扫描处理配置
[RecursiveScan]
#是否开启递归扫描:关闭:0;开启:1
conf.recursive_scan = 0
#遇到这些状态码,开启递归扫描。默认配置[301,403]
conf.recursive_status_code = [301,403]
#URL超过这个长度就退出扫描
conf.recursive_scan_max_url_length = 60
#这些后缀名不递归扫
conf.recursive_blacklist_exts = ["html",'htm','shtml','png','jpg','webp','bmp','js','css','pdf','ini','mp3','mp4']
#设置排除扫描的目录。默认配置空。其他配置:e.g:['/test1','/test2']
#conf.exclude_subdirs = ['/test1','/test2']
conf.exclude_subdirs = ""

#扫描模式处理配置(4个模式,1次只能选择1个)
[ScanModeHandler]
#字典模式:关闭:0;单字典:1;多字典:2
conf.dict_mode = 1
#单字典模式的路径
conf.dict_mode_load_single_dict = "dict_mode_dict.txt"
#多字典模式的路径,默认配置dictmult
conf.dict_mode_load_mult_dict = "dictmult"
#爆破模式:关闭:0;开启:1
conf.blast_mode = 0
#生成字典最小长度。默认配置3
conf.blast_mode_min = 3
#生成字典最大长度。默认配置3
conf.blast_mode_max = 3
#默认字符集:a-z。暂未使用。
conf.blast_mode_az = "abcdefghijklmnopqrstuvwxyz"
#默认字符集:0-9。暂未使用。
conf.blast_mode_num = "0123456789"
#自定义字符集。默认配置"abc"。使用abc构造字典
conf.blast_mode_custom_charset = "abc"
#自定义继续字符集。默认配置空。
conf.blast_mode_resume_charset = ""
#爬虫模式:关闭:0;开启:1
conf.crawl_mode = 0
#用于生成动态敏感文件payload的后缀字典
conf.crawl_mode_dynamic_fuzz_suffix = "crawl_mode_suffix.txt"
#解析robots.txt文件。暂未实现。
conf.crawl_mode_parse_robots = 0
#解析html页面的xpath表达式
conf.crawl_mode_parse_html = "//*/@href | //*/@src | //form/@action"
#是否进行动态爬虫字典生成。默认配置1,开启爬虫动态字典生成。其他配置:e.g:关闭:0;开启:1
conf.crawl_mode_dynamic_fuzz = 1
#Fuzz模式:关闭:0;单字典:1;多字典:2
conf.fuzz_mode = 0
#单字典模式的路径。
conf.fuzz_mode_load_single_dict = "fuzz_mode_dir.txt"
#多字典模式的路径。默认配置:fuzzmult
conf.fuzz_mode_load_mult_dict = "fuzzmult"
#设置fuzz标签。默认配置{dir}。使用{dir}标签当成字典插入点,将http://target.com/{dir}.php替换成http://target.com/字典中的每一行.php。其他配置:e.g:{dir};{ext}
#conf.fuzz_mode_label = "{ext}"
conf.fuzz_mode_label = "{dir}"

#处理payload配置。暂未实现。
[PayloadHandler]

#处理请求配置
[RequestHandler]
#自定义请求头。默认配置空。其他配置:e.g:test1=test1,test2=test2
#conf.request_headers = "test1=test1,test2=test2"
conf.request_headers = ""
#自定义请求User-Agent。默认配置chrome的ua。
conf.request_header_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
#自定义请求cookie。默认配置空,不设置cookie。其他配置e.g:cookie1=cookie1; cookie2=cookie2;
#conf.request_header_cookie = "cookie1=cookie1; cookie2=cookie2"
conf.request_header_cookie = ""
#自定义401认证。暂未实现。因为自定义请求头功能可满足该需求(懒XD)
conf.request_header_401_auth = ""
#自定义请求方法。默认配置get方法。其他配置:e.g:get;head
#conf.request_method = "head"
conf.request_method = "get"
#自定义每个请求超时时间。默认配置3秒。
conf.request_timeout = 3
#随机延迟(0-x)秒发送请求。参数必须是整数。默认配置0秒,无延迟。
conf.request_delay = 0
#自定义单个目标,请求协程线程数。默认配置30线程
conf.request_limit = 30
#自定义最大重试次数。暂未实现。
conf.request_max_retries = 1
#设置持久连接。是否使用session()。暂未实现。
conf.request_persistent_connect = 0
#302重定向。默认False,不重定向。其他配置:e.g:True;False
conf.redirection_302 = False
#payload后添加后缀。默认空,扫描时,不添加后缀。其他配置:e.g:txt;php;asp;jsp
#conf.file_extension = "txt"
conf.file_extension = ""

#处理响应配置
[ResponseHandler]
#设置要记录的响应状态。默认配置[200],记录200状态码。其他配置:e.g:[200,403,301]
#conf.response_status_code = [200,403,301]
conf.response_status_code = [200]
#是否记录content-type响应头。默认配置1记录
#conf.response_header_content_type = 0
conf.response_header_content_type = 1
#是否记录页面大小。默认配置1记录
#conf.response_size = 0
conf.response_size = 1
#是否自动检测404页面。默认配置True,开启自动检测404.其他配置参考e.g:True;False
#conf.auto_check_404_page = False
conf.auto_check_404_page = True
#自定义匹配503页面正则。暂未实现。感觉用不着,可能要废弃。
#conf.custom_503_page = "page 503"
conf.custom_503_page = ""
#自定义正则表达式,匹配页面内容
#conf.custom_response_page = "([0-9]){3}([a-z]){3}test"
conf.custom_response_page = ""
#跳过显示页面大小为x的页面,若不设置,请配置成"None",默认配置“None”。其他大小配置参考e.g:None;0b;1k;1m
#conf.skip_size = "0b"
conf.skip_size = "None"

#代理选项
[ProxyHandler]
#代理配置。默认设置“None”,不开启代理。其他配置e.g:{"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
#conf.proxy_server = {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
conf.proxy_server = None

#Debug选项
[DebugMode]
#打印payloads并退出
conf.debug = 0

#update选项
[CheckUpdate]
#github获取更新。暂未实现。
conf.update = 0

المهام المتبقية

  • تحليل وسائط سطر الأوامر للتهيئة العامة
  • تهيئة المحرك
    • تعيين عدد الخيوط
  • تهيئة الهدف
    • تحليل ومعالجة تنسيق الإدخال تلقائيًا ( -i,inputTarget)
      • IP
      • اسم النطاق
      • URL
      • IP/MASK
      • بداية ونهاية IP
    • قراءة ملف (-iF,inputLocalFile)
  • تهيئة أداة التخمين القوي (bruter)
    • طريقة تحميل التكوين ()
      • قراءة قيم وسائط سطر الأوامر
      • قراءة ملف التكوين (-lcf,loadConfigFile)

ملفات القاموس الافتراضية

يتم تخزين ملفات القاموس في مجلد data في جذر المشروع

  1. dict_mode_dict.txt قاموس "وضع القاموس"، يستخدم قاموس dirsearch الافتراضي
  2. crawl_mode_suffix.txt قاموس "وضع الزاحف"، يستخدم قاموس FileSensor الافتراضي
  3. fuzz_mode_dir.txt قاموس "وضع الت模ّيش"، يستخدم قاموس DirBuster الافتراضي
  4. fuzz_mode_ext.txt قاموس "وضع الت模ّيش"، قاموس مبني على الامتدادات الشائعة
  5. dictmult هذا الدليل هو مجلد القواميس المتعددة الافتراضي لوضع "القاموس"، يحتوي على: BAK.min.txt (قاموس صغير لملفات النسخ الاحتياطي)، BAK.txt (قاموس كبير لملفات النسخ الاحتياطي)، LEAKS.txt (قاموس ملفات تسرب المعلومات)
  6. fuzzmult هذا الدليل هو مجلد القواميس المتعددة الافتراضي لوضع "الت模ّيش"، يحتوي على: fuzz_mode_dir.txt (قاموس الدلائل الافتراضي)، fuzz_mode_ext.txt (قاموس الامتدادات الافتراضي)

العيوب المعروفة

  1. "وضع الزاحف" يزحف فقط على الصفحة الحالية للهدف، لتوليد قاموس ديناميكي. في المستقبل، سيتم فصل "وحدة الزاحف" عن "وظيفة توليد القاموس الديناميكي".
  2. بخصوص خطأ السطر 517 في bruter.py bar.log.start(). الحل: يرجى تثبيت progressbar2. قم بإلغاء تثبيت progressbar. لمنع استيراد وحدة بنفس الاسم. شكرًا لشخص ما على التذكير.
root@kitploit:~
تنفيذ الأمر:
python3 -m pip uninstall progressbar
python3 -m pip install progressbar2

أعمال الصيانة

  1. إذا واجهت مشاكل أثناء الاستخدام، نرحب بإرسال issue
  2. هذا المشروع قيد الصيانة، وفي المستقبل ستتم إضافة ميزات جديدة، راجع قائمة "TODO" للعناصر غير المحددة.

إعلان الشكر

أثناء كتابة dirmap، تم استعارة أنماط وأفكار العديد من المشاريع مفتوحة المصدر الممتازة، ويتم التوضيح والشكر بذلك.

  • Sqlmap
  • POC-T
  • Saucerframe
  • gwhatweb
  • dirsearch
  • cansina
  • weakfilescan
  • FileSensor
  • BBscan
  • werdy

الاتصال بالمؤلف

mail: [email protected]

donate

تنزيل الأداة
  • خيارات الوضع التكراري (RecursiveScan)
    • الفحص التكراري (-rs,recursive_scan)
    • رموز الحالة المطلوبة للتكرار (-rd,recursive_status_code)
    • استبعاد بعض الدلائل (-es,exclude_subdirs)
  • خيارات وضع المسح (ScanModeHandler)
    • وضع القاموس (-dm,dict_mode)
      • تحميل قاموس واحد (-dmlsd,dict_mode_load_single_dict)
      • تحميل قواميس متعددة (-dmlmd,dict_mode_load_mult_dict)
    • وضع الهجوم القوي (-bm,blast_mode)
      • نطاق طول دليل الهجوم القوي (إلزامي)
        • الحد الأدنى للطول (-bmmin,blast_mode_min)
        • الحد الأقصى للطول (-bmmax,blast_mode_max)
      • بناءً على مجموعة الأحرف الافتراضية
        • بناءً على a-z
        • بناءً على 0-9
      • بناءً على مجموعة أحرف مخصصة (-bmcc,blast_mode_custom_charset)
      • استئناف إنشاء الحمولات من نقطة التوقف (-bmrc,blast_mode_resume_charset)
    • وضع الزاحف (-cm,crawl_mode)
      • تخصيص علامات التحليل (-cmph,crawl_mode_parse_html)(a:href,img:src,form:action,script:src,iframe:src,div:src,frame:src,embed:src)
      • تحليل robots.txt(-cmpr,crawl_mode_parse_robots)
      • فحص الت模ّيش الديناميكي للزاحف (-cmdf,crawl_mode_dynamic_fuzz)
    • وضع الت模ّيش (-fm,fuzz_mode)
      • تحميل قاموس واحد للت模ّيش (-fmlsd,fuzz_mode_load_single_dict)
      • تحميل قواميس متعددة للت模ّيش (-fmlmd,fuzz_mode_load_mult_dict)
      • علامة الت模ّيش (-fml,fuzz_mode_label)
  • خيارات تحسين الطلب (RequestHandler)
    • تخصيص مهلة الطلب (-rt,request_timeout)
    • تخصيص تأخير الطلب (-rd,request_delay)
    • تقييد عدد خيوط (co-routines) الهدف الواحد في الفحص (-rl,request_limit)
    • تقييد عدد مرات إعادة المحاولة (-rmr,request_max_retries)
    • اتصال HTTP مستمر (-rpc,request_persistent_connect)
    • تخصيص طريقة الطلب (-rm,request_method)(get, head)
    • معالجة حالة 302 (-r3,redirection_302)(هل يتم إعادة التوجيه)
    • تخصيص الرأس
      • تخصيص رؤوس أخرى (-rh,request_headers)(لحل الحاجة إلى مصادقة 401)
      • تخصيص User-Agent (-rhua,request_header_ua)
      • تخصيص الكوكيز (-rhc,request_header_cookie)
  • خيارات معالجة القاموس (PayloadHandler)
    • معالجة القاموس (تعديل الحمولة - إزالة الشرطة المائلة)
    • معالجة القاموس (تعديل الحمولة - إضافة شرطة مائلة في البداية)
    • معالجة القاموس (تعديل الحمولة - تكبير الحرف الأول من الكلمة)
    • معالجة القاموس (تعديل الحمولة - إزالة الامتداد)
    • معالجة القاموس (تعديل الحمولة - إزالة غير الحروف والأرقام)
  • وحدة معالجة نتائج الاستجابة (ResponseHandler)
    • تخطي الملفات بحجم x بايت (-ss,skip_size)
    • كشف صفحة 404 تلقائيًا (-ac4p,auto_check_404_page)
    • تخصيص صفحة 503 (-c5p,custom_503_page)
    • تخصيص تعبير عادي لمطابقة محتوى الاستجابة وتنفيذ عملية معينة
      • تخصيص تعبير عادي لمطابقة الاستجابة (-crp,custom_response_page)
      • عملية معينة (لم يتم تعريفها بعد)
    • إخراج النتائج كرموز حالة مخصصة (-rsc,response_status_code)
    • إخراج الحمولة كمسار كامل (الافتراضي هو إخراج الرابط الكامل)
    • عرض content-type في النتائج
    • حفظ النتائج بإزالة التكرار تلقائيًا
  • وحدة معالجة الحالة (StatusHandler)
    • عرض الحالة (بانتظار البدء، قيد التنفيذ، متوقف مؤقتًا، استثناء، مكتمل)
    • عرض التقدم
    • التحكم في الحالة (بدء، إيقاف مؤقت، استئناف، إيقاف)
    • وحدة استئناف المسح (غير مكونة بعد)
    • استئناف المسح من نقطة التوقف
    • استئناف المسح من سطر معين
  • وحدة تسجيل السجلات (ScanLogHandler)
    • سجل المسح
    • سجل الأخطاء
  • وحدة الوكيل (ProxyHandler)
    • وكيل واحد (-ps,proxy_server)
    • مجموعة وكلاء
  • خيارات وضع التصحيح (DebugMode)
    • debug(--debug)
  • خيارات التحقق من التحديثات (CheckUpdate)
    • update(--update)