السلام عليكم ,,
الحمد لله هاقد بدأنا الموضوع الذي طال انتظاره ,, وأرجو الله أن يستمر بشكل جيد دون مشاكل ,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
عندما قلت شبكات فأنا أقصد بذلك كل ماله علاقه بالشبكات ,, من أي نوع يعتمد على Client/Server وال Peer To Peer ,, (" يمكن كتابة برنامج يعمل شبكة لجهاز واحد ,, بحيث يكون هو ال Client وال Server في نفس الوقت ") كل برامج الشبكات التي تعمل على شبكة LAN مثلا مربوطة بأي نوع من الاسلاك مثلا ال CAT 5 يمكن تعميمها على الانترنت ,, يعني البرامج التي سنكتبها ستعمل على الانترنت والشبكات المحلية ,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
كيف سنتعلم ؟
الطريقة التي أعتقد في نظري أنها أفضل لمثل هذا النوع هي كتابة البرامج الكاملة ,, لاأفضل من ذلك مطلقا ,, لأنه بالنسبة لبرمجة الشبكات الخبرة البرمجية لن تلعب دورا كما هو دور خبرة التعامل مع أنواع ال Servers ,, مثلا اذا أردنا كتابة برنامج لارسال E-MAIL فاننا سنتعامل مع برتكول يسمى SMTP "Simple Mail Transfer Protocol " وهو عبارة عن طريقة لتخاطب ال Client مع ال Server بحيث يستلم ال Server رسالة ال E-MAIL من ال Client ليوجهها حسب العنوان الذي طلبه المستخدم ,,
معرفة طريقة عمل برتكول ال SMTP هي المشكلة الوحيدة ,, لأننا يجب أن نعرف اننا سنقوم بارسال البيانات لسيرفر اسمه مثلا mail.arabteam2000.com للمنفذ PORT رقم 25 وهو المنفذ الخاص ب ال SMTP ,, وبعد كل هذا سنقوم بارسال أوامر خاصة للسيرفر سيقوم هو باستقبالها ويرد بأمور أخرى ,, يجب أن نجهز برنامجنا ليتعامل معها ,, الامر ليس معقدا فقط يحتاج لبعض الحذر ,,
يمكن عمل مسح للمنافذ المفتوحة في جهاز معين مثلا كما هي برامج ال Ping Flash مهمتها معرفة المنافذ التي قامت أحصنة الطروادة بفتحها للدخول على الجهاز منها ,, وهي أسس الهاكينج ,, وبالطبع يمكن كتابة Ping Flasher للفحص ععلى جهاز معين أيضا لمعرفة هل هو مصاب بنوع معين من أحصنة الطروادة أم لا واذا كان يتم اغلاق المنفذ ,, فهو لوقاية وللخراب في نفس الوقت ,,
يمكن عمل برامج WhoIs لمعرفة معلومات معينة عن موقع أو IP ADDRESS معين أو حتى E-MAIL ,, معلومات جغرافية أو أي نوع اخر من المعلومات ,,
في مضمار اخر من برمجة الشبكات سنكتب برنامجا لحساب زمن الاتصال بانترنت ,, بالطبع سيبدأ العدادا الحساب من وقت الدخول الى الانترنت مباشرة وحتى انقطاع الاتصال ,, لكن كيف يعرف الجهاز أنك متصل بانترنت ؟ توجد عدة طرق لكن أفضلها لمن يتصل بانترنت عن طريق الهاتف عليه أن يستخدم RAS Remote Access Server ,, وهو حساس يراقب عملية اتصال جهازك بالسيرفر المقدم لخدمة الانترنت ويبلغك بكل تفاصيل التخاطب لاجراء عملية الاتصال !!
البرامج التي يمكن عملها بهذا النوع من البرمجة فقط يتوقف على اختراعات البشرية في هذا المجال ,, كل برامج الشبكات على الاطلاق يمكن كتابتها بهذه الطريقة ,,لكن كما ذكرت ستواجهنا مشاكل في بعض التقنيات والاليات التي يمكن معرفتها ,,لأننا سنكتب البرامج على المستوى الادنى مطلقا ,, لن نستخدم فئات جاهزة تقوم بمهام كبيرة مثلا ارسال E-MAIL بل سنقوم نحن بكتابتها ,,
برامج التنصت والخراب في هذا المجال لاتعد ولاتحصى ,, وهذا المجال هو خطوة كبيرة جدا لأن يصبح الشخص هاكر ممن يشار اليهم بالبنان ,,
كل التقنيات التي سنكافح لنتعلمها هنا قد تكون للخير وللشر ,, وماعلينا الاالبلاغ ,,
أخيرا كما ذكرت التعلم سيكون جماعيا ,, يعني أنا لست مؤهلا بشكل كامل لأطرح دروس فقط ,, لكن بالتعلم الجماعي ومحاولة الوصول لنتيجة معينة سيكون خط التعلم أسرع وأكثر فائدة ,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
من الجلسة المقبلة سأطرح كل الاوامر الاساسية والدوال التي نحتاجها لتعلم برمجة الشبكات ,, بشكل جيد ,, وسأطرح كتابا ليكون مرجعا "وهو سهل للغاية ",, وبرنامجا صغيرا فقط لنأخذ فكرة أولية سريعة ,, وبعد الجلسة القادمة فورا سنبدأ بتطوير البرامج ,, وسأقترح عدة برامج ونرى مارأيكم فيها ,, وسأضيف الوصلات والمراجع وأماكن وجود الامثلة التي سنستفيد منها ,,
هذه المقدمة مختصرة جدا ,, لأني لاأريد الحديث كثيرا نريد الدخول في العظم مباشرة ,,
سأضيف الجلسة الثانية هذا المساء ,,
وأرجو من الاخ chik أن يتحمل معنا المأمورية لأنه مبرمج هذا المنتدى الهمام نفعنا الله به,, وبارك الله فيكم ,,
هذان كتابان للتحميل أرجو أن يفو بالغرض الأول ممتاز ومختصر سريع :
http://www.arabteam2000.com/hgb/bgnet.pdf
http://www.arabteam2000.com/BookLib/show.asp?Id=219
الثاني مفصل أكثر وأفيد للتقدم لاحقا :
