0Pricing
Cyber Security Academy · درس

برمجة نصوص لتعداد الشبكات

أتمت الاستطلاع باستخدام نصوص Nmap NSE وماسحات Python مخصصة.

برمجة نصوص لتعداد الشبكات درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

لماذا نؤتمت الاستطلاع؟

يكون الفحص اليدوي بطيئًا وعرضة للأخطاء في الشبكات الكبيرة. وتجمع البرمجة النصية بين Nmap وNetcat والأدوات الأخرى ضمن مسارات عمل قابلة للتكرار، تحلل المخرجات وتغذي بها عمليات تحليل إضافية.

نظرة عامة على نصوص NSE في Nmap

يشغّل محرك البرمجة النصية في Nmap (NSE) نصوص Lua على الخدمات المكتشفة. وتُنظّم النصوص ضمن فئات: auth وbrute وdefault وdiscovery وexploit وsafe وvuln.

# Run default safe scripts
nmap -sC 192.168.1.100

# List all scripts
ls /usr/share/nmap/scripts/ | grep http

# Run specific script
nmap --script=http-title 192.168.1.100

نصوص NSE الشائعة

النصوص الأساسية للتعداد: http-title وhttp-headers وsmb-enum-shares وftp-anon وdns-brute وssh-hostkey.

nmap --script=smb-enum-shares -p 445 192.168.1.100
nmap --script=ftp-anon -p 21 192.168.1.100
nmap --script=dns-brute --script-args dns-brute.domain=target.com 192.168.1.1

نصوص فئة Vuln

تتحقق فئة vuln من وجود ثغرات معروفة. وتسبب نصوص vuln ضجيجًا أكبر، وقد تؤدي إلى تعطل الخدمات؛ لذا لا تستخدموها إلا بتفويض صريح.

sudo nmap --script=vuln 192.168.1.100

# Specific vuln checks:
nmap --script=ms17-010 -p 445 192.168.1.100  # EternalBlue
nmap --script=http-shellshock 192.168.1.100

تحليل مخرجات Nmap بصيغة XML باستخدام Python

مخرجات Nmap بصيغة XML الناتجة عن الخيار -oX قابلة للقراءة آليًا. تحلل مكتبة Python المسماة python-libnmap هذه المخرجات بسلاسة لإعداد تقارير مخصصة أو تمريرها إلى أدوات أخرى.

# Install
pip install python-libnmap

# Parse results
from libnmap.parser import NmapParser
report = NmapParser.parse_fromfile("scan.xml")
for host in report.hosts:
    for svc in host.services:
        if svc.state == "open":
            print(f"{host.address}:{svc.port} {svc.service}")

ماسح منافذ بسيط باستخدام Python

أنشئ ماسح منافذ بسيطًا باستخدام وحدة socket في Python. يفيد ذلك عندما لا يكون Nmap متاحًا أو عندما تحتاج إلى أسلوب فحص مخصص.

import socket
from concurrent.futures import ThreadPoolExecutor

def scan_port(host, port):
    try:
        s = socket.socket()
        s.settimeout(0.5)
        s.connect((host, port))
        print(f"Open: {port}")
        s.close()
    except: pass

with ThreadPoolExecutor(100) as ex:
    for p in range(1, 1025):
        ex.submit(scan_port, "192.168.1.100", p)

أوامر Bash المختصرة للتعداد

يمكن لـ Bash إجراء تعداد سريع للمضيفين والمنافذ باستخدام الجهاز الوهمي /dev/tcp من دون أي أدوات خارجية.

# Check if port is open (bash built-in)
timeout 1 bash -c "echo >/dev/tcp/192.168.1.100/80" && echo open

# Loop over hosts
for i in $(seq 1 254); do
  ping -c1 -W1 192.168.1.$i &>/dev/null && echo "192.168.1.$i up"
done

برمجة نصية لتعداد DNS

يمكن أتمتة تعداد DNS باستخدام dnsrecon أو amass أو نصوص مخصصة تستعلم عن سجلات A وMX وNS وTXT وCNAME، وتجري التخمين الشامل للنطاقات الفرعية.

dnsrecon -d target.com -t std
amass enum -d target.com

# Manual zone transfer attempt
dig axfr target.com @ns1.target.com

تعداد SMB باستخدام enum4linux

تعمل أداة enum4linux على أتمتة تعداد SMB، بما في ذلك المشاركات والمستخدمين والمجموعات وسياسات كلمات المرور ومعلومات نظام التشغيل من مضيفي Windows أو Samba من دون مصادقة.

enum4linux -a 192.168.1.100

# -a = all enumeration
# Shows: shares, users, groups,
#        password policy, OS version

تعداد SNMP

يستخدم SNMP v1/v2c سلاسل المجتمع للمصادقة، وغالبًا ما تكون قيمتها "public". يكشف الاستعلام عبر SNMP معلومات النظام والعمليات قيد التشغيل وواجهات الشبكة والبرامج المثبتة.

# Query with default community string
snmpwalk -c public -v2c 192.168.1.100

# Get system info only
snmpget -c public -v2c 192.168.1.100 1.3.6.1.2.1.1.1.0

# Brute force community strings
onesixtyone -c community.txt 192.168.1.100

تنظيم المخرجات

تُعد المخرجات المنظمة أساسية في عمليات الاختبار واسعة النطاق. استخدم مجلدات منفصلة لكل هدف، وتسمية متسقة مثل (target_service_date)، وأدوات مثل تسجيل tmux لالتقاط جميع مخرجات الطرفية.

تحقق سريع

ما فئة NSE في Nmap التي تُجري فحوصًا بحثًا عن الثغرات المعروفة؟

ملخص: البرمجة النصية للتعداد

تحوّل البرمجة النصية أوامر الأدوات المنفردة إلى مسارات استطلاع قابلة لإعادة الإنتاج. ادمج نصوص NSE لإجراء فحوصات سريعة ومحددة، واستخدم Python للتحليل المخصص والأتمتة، وBash لاكتشاف المضيفين بسرعة، وأدوات متخصصة مثل enum4linux وdnsrecon وsnmpwalk لتعداد البروتوكولات المحددة.

الأسئلة الشائعة

هل درس «برمجة نصوص لتعداد الشبكات» مجاني؟

نعم — نص درس «برمجة نصوص لتعداد الشبكات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.

ماذا ستتعلم في «برمجة نصوص لتعداد الشبكات»؟

أتمت الاستطلاع باستخدام نصوص Nmap NSE وماسحات Python مخصصة. تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟

لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «برمجة نصوص لتعداد الشبكات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟

نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. تقنيات فحص المنافذ باستخدام Nmap
  2. بصمة الخدمات وأنظمة التشغيل
  3. Netcat: سكين الجيش السويسري
  4. برمجة نصوص لتعداد الشبكات
← العودة إلى Cyber Security Academy