الشبكات والـ IP Address

جارٍ التحميل…

01 / ملخص الدرس

الشبكات والـ IP Address

يعني إيه شبكة، والـ IP Address، والفرق بين Private و Public، والـ Router، والـ MAC Address.

02 / شرح الدرس مكتوبًا

نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.

أهلاً بيك. أغلب الهجمات النهاردة مابتحصلش والمهاجم قاعد قدام الجهاز. بتحصل من بعيد… عن طريق الشبكة. علشان كده لازم نفهم الشبكة كويس.

الشبكة ببساطة: جهازين أو أكتر متوصّلين ببعض. علشان يبعتوا لبعض بيانات. والإنترنت نفسه… مجرد شبكات كتير قوي متوصّلة ببعض.

وعلشان البيانات توصل للجهاز الصح، كل جهاز ليه عنوان اسمه IP Address. زي عنوان البيت بالزبط. وشكله أربع أرقام بينهم dot، كل رقم من صفر لميتين خمسة وخمسين.

وفيه نوعين من العناوين. Private، ودي عناوين جُوّه البيت أو الشركة بس، زي اللي بتبدأ بـ ten، أو one ninety two dot one sixty eight. و Public، ودي العناوين اللي على الإنترنت. والـ Router هو اللي بيوصّل الشبكة الداخلية بالإنترنت. وليه ده مهم للمهاجم؟ لأن المهاجم من برا بيشوف الـ Public IP بس. ولو قدر يدخل جهاز واحد جُوّه، ساعتها يقدر يوصل للأجهزة الـ Private كلها. وده اللي اسمه Pivoting، وهنتعلمه بالتفصيل في كورس بعدين.

وكمان كل network card ليه عنوان تاني اسمه MAC Address. ده عنوان محفور في الـ card نفسه من المصنع. الـ IP ممكن يتغير، بس الـ MAC تابت. وبيُستخدم جُوّه الشبكة المحلية بس. نجرب: Python فيها module اسمها ipaddress. هنسألها: العنوان ده Private ولا لأ؟ نشغّل… True، يعني Private.

main.py
import ipaddress

ip = ipaddress.ip_address("192.168.1.10")
print(ip.is_private)

المخرجات

True

ونجرّب على أكتر من عنوان مع بعض. نشغّل…

main.py
import ipaddress

for addr in ["192.168.1.10", "8.8.8.8", "10.0.0.5"]:
    ip = ipaddress.ip_address(addr)
    print(addr, "private" if ip.is_private else "public")

المخرجات

192.168.1.10 private
8.8.8.8 public
10.0.0.5 private

دورك: ضيف العنوان one seventy two dot sixteen dot zero dot one للـ list، وشوف هو Private ولا Public.

تمرين

ضيف "172.16.0.1" للـ list وشغّل.

الحل: نضيفه في الـ list. نشغّل… Private كمان.

main.py
import ipaddress

for addr in ["192.168.1.10", "8.8.8.8", "10.0.0.5", "172.16.0.1"]:
    ip = ipaddress.ip_address(addr)
    print(addr, "private" if ip.is_private else "public")

المخرجات

192.168.1.10 private
8.8.8.8 public
10.0.0.5 private
172.16.0.1 private

الدرس الجاي: الـ IP بيوصلنا للجهاز… طب إزاي نوصل لبرنامج معيّن جُوّه الجهاز؟ الـ Ports. يلا بينا.

03 / دروس المسار (23)
  1. 01أهلاً بيك — يعني إيه أمن سيبراني؟
  2. 02الكمبيوتر بيشتغل إزاي من جُوّه؟
  3. 03نظام التشغيل: المدير اللي بيدير كل حاجة
  4. 04الملفات والـ Users والصلاحيات
  5. 05صفر وواحد: Binary و Hex و Encoding
  6. 06الشبكات والـ IP Addressانت هنا
  7. 07الـ Ports والـ Protocols
  8. 08الـ DNS والـ HTTP: إزاي الموقع بيفتح؟
  9. 09تطبيق الويب: Client و Server و Database
  10. 10مفاهيم الحماية: CIA Triad
  11. 11Vulnerability و Threat و Risk
  12. 12Authentication و Authorization
  13. 13Least Privilege و Defense in Depth
  14. 14الـ Hashing: إزاي نحفَظ الباسورد صح
  15. 15الـ Encryption: Symmetric و Asymmetric و HTTPS
  16. 16تفكير المهاجم: الثقة والمدخلات
  17. 17الـ Attack Surface والـ Attack Vectors
  18. 18الـ Social Engineering والـ Phishing
  19. 19أنواع المهاجمين، والأخلاق، والقانون
  20. 20أنواع الاختبار والـ Scope والـ Rules of Engagement
  21. 21مراحل اختبار الاختراق
  22. 22جهّز الـ Lab بتاعك
  23. 23مراجعة نهائية: سيناريو كامل، وإنت رايح فين