منتديات زيوس

بروتوكول نقل الملفات 626202547


انضم إلى المنتدى ، فالأمر سريع وسهل

منتديات زيوس

بروتوكول نقل الملفات 626202547

منتديات زيوس

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
منتديات زيوس

منتدى زيوس - برامج مجانية - ألعاب مجانية - كتب إلكترونية مجانية - برامج ستلايت - خلفيات وصور


    بروتوكول نقل الملفات

    زيوس
    زيوس

    بروتوكول نقل الملفات Stars13


    الجنس : ذكر
    عدد المساهمات : 1634
    تاريخ التسجيل : 12/03/2010
    المزاجشاعري

    شرح بروتوكول نقل الملفات

    مُساهمة من طرف زيوس السبت يونيو 19, 2010 3:33 am

    Telnet .. بروتوكول نقل الملفات
    --------------------------------




    بسم الله الرحمن الرحيم


    قم بقراءة النص كاملا أولا

    مقدمه :
    مرت فترة طويلة منذ الدرس السابق ولا اعرف لماذا مر كل هذا الوقت دون أن ابدأ في كتابة هذا الدرس .. ربما لصعوبة الموضوع و تشعبه .. و لكن ها قد حان الوقت لمجابهة الصعوبة و التشعب و تقديم و لو حتى فكرة بسيطة عن هذا الموضوع الممتع ..

    سأعيد تعريف Telnet من جديد و لكن بطريقه اكثر بساطه ..
    Telnet هو برنامج يستخدم في إنشاء وصله بين جهازين ،و الجهاز المتصل يستخدم عنوان الجهاز المستهدف و رقم المنفذ Port الذي سيتم الاتصال عليه ،و الجهاز المستهدف (الخادم) يشغل برنامج آخر (Daemon) يستمع على هذا المنفذ و تتم عمليه الإرسال والاستقبال باستخدام أحد البروتوكولات .
    تشبيه من حياتنا العملية : نفترض أن هناك رجل في فرنسا (المستهدف) و أنت (المتصل) تريد إقامة حوار معه (وصله) و أنت في مصر .. فلابد لك من استخدام وسيله اتصال (Telnet) و لنفرض أنها الهاتف الذي لابد للرجل أن يضعه على أذنه (Daemon) لكي يسمعك .. و لنفرض أيضا أن هذا الرجل لا يتحدث العربية .. إذن فلابد لك من استخدام الفرنسية (البروتوكول المستخدم) حتى تتحدث (الإرسال والاستقبال) بحريه .

    مما سبق نستنتج أن Telnet هو مجرد وصله (مثل الهاتف) .. و انه لابد لنا من معرفة البروتوكول المستخدم في الاتصال حتى ننجح في الإرسال و الاستقبال . كما انه لابد لنا من أن نعرف أيضا أنه لابد من برنامج Daemon يتسمع على المنفذ المراد الاتصال عليه .

    استخدام Telnet ك FTP Client
    المنفذ الذي سيتم الاتصال عليه في حاله استخدامنا بروتوكول نقل الملفات FileTransfer Protocol في الغالب سيكون 21 ..

    أين الصعوبة إذن ؟
    الصعوبة تكمن في أننا لكي نستخدم Telnet ك FTP Client يجب علينا الإلمام بقدر كبير ببروتوكول FTP !!
    و لكن هذا لن يمنعني من عرض بعض الأمثلة لإظهار كيفية التعامل مع هذا البروتوكول ..

    بدء الاتصال
    1 - قم بتشغيل Telnet و شبك على ftp.zdnet.com بالمنفذ 21
    و هذا ما سيظهر لك

    Sources Code - شفرة

    220 l19-sj-zdnet.zdnet.com NcFTPd Server (licensed copy) ready.



    و السطر السابق يسمي Banner الخاص بال FTP Daemon المستخدم في موقع zdnet و هي تختلف باختلاف الموقع الذي سيتم التشبيك عليه . و الرقم الموجود في البداية يدل على نجاح الاتصال و هو رقم ثابت .
    2 - الخطوة التالية هي الولوج باستخدام اسم المستخدم Username و كلمة السر Password .. بما أن zdnet تدعم المستخدم Anonymous سيتم استخدامه في الولوج للنظام كالتالي:
    ستكتب

    Sources Code - شفرة


    user anonymous



    و سيستجيب الخادم بالتالي

    Sources Code - شفرة


    331 Guest login ok, send your complete e-mail address as password.



    ثم تكتب أنت التالي

    Sources Code - شفرة


    pass @zorro



    و بالطبع عند الولوج بالمستخدم Anonymous تقوم بإعطاء عنوان البريد الإلكتروني الخاص بك ككلمة السر .. و إذا لم ترد إعطاء بريدك فيمكنك أن تكتب أي شئ يأخذ شكل البريد (أي يحتوي على الرمز @)
    و سيستجيب الخادم بالتالي

    Sources Code - شفرة


    230-You are user #552 of 2000 simultaneous users allowed.
    230-
    230 Logged in anonymously.



    و بالطبع تلك الإستجابه قد تختلف من موقع لآخر .. إلا في الرقم في بداية كل سطر ..
    أنت الآن قد قمت بالولوج إلى الخادم بنجاح .

    بعد أن تمت عمليه الولوج للنظام يجب إنشاء وصله لإرسال واستقبال البيانات (قائمه بالملفات الموجودة أو الملفات ذاتها) .. إذن ما الذي كنا نفعله منذ قليل ؟!! ما قد فعلناه منذ قليل هو إنشاء وصله لإرسال الأوامر للنظام و استقبال استجابة النظام على الأوامر .
    و لكي ننشئ تلك الوصلة ،هناك طريقتين
    الأولي : تنشئ هذه الطريقة الوصلة بان يرسل الزبون (أنت) رقم IP الخاص به و المنفذ المفتوح الذي يستطيع الخادم استخدامه في إرسال البيانات .
    و لكن تلك الطريقة تتطلب منك فتح أحد المنافذ على جهازك و هذا سيتطلب برنامج خاص لفتح هذا المنفذ .. و لذلك لن نستخدم تلك الطريقة .
    الثانية : تنشئ هذه الطريقة الوصلة بان يرسل الزبون الأمر PASV

    Sources Code - شفرة


    PASV



    و سيرد الخادم برقم IP الخاص به و المنفذ المفتوح (على الخادم بالطبع) الذي يستطيع الزبون (أنت) الاتصال عليه ..
    مثال

    Sources Code - شفرة


    227 Entering Passive Mode (207,189,69,61,12,41)



    و الرقم الطويل الموجود بين الأقواس تفسيره كالتالي ..
    أول أربع مجموعات (من اليسار) هو ال IP الخاص بالخادم و في هذه الحالة يكون 207,189,69,61 .. أما الرقمان التاليان فيمثلان رقم المنفذ و يتم حسابه كالتالي
    12 × 256 + 41 = 3113

    و لذلك فالخطوة التالية التي يجب على الزبون اتباعها هي فتح وصله جديده مع الخادم على المنفذ 3113 .. ولكي تقوم بمثل هذا الأمر يتوجب عليك فتح نافذة Telnet جديده و تشبك على ftp.zdnet.com بالمنفذ 3113 ..
    إذن عندما تريد أن ترسل أحد الأوامر سترسله من النافذة الأولى و النافذة الثانية ستظهر بها البيانات ..
    مثال
    عندما ترسل الأمر LIST (يستخدم لعرض محتويات الدليل) في النافذة الأولى

    Sources Code - شفرة


    LIST



    سيستجيب الخادم بالتالي في النافذة الأولى أيضا

    Sources Code - شفرة

    125 Data connection already open; Transfer starting.



    و ستظهر محتويات الدليل في النافذة الثانية ثم سيتم غلق الاتصال في النافذة الثانية بمجرد إتمام عرض محتويات الدليل .

    و هكذا كلما أردت أن ترسل أمر عرض محتويات دليل ما أو استقبال أو إرسال ملف ما ، يجب أن تبدأ بأمر PASV .. ثم تنشئ اتصالا جديدا بعد حساب رقم المنفذ باتباع الخطوات السابقة .

    إلى هنا و أظن أنني قد تماديت .. و لكنني لم استطع أن امنع نفسي من مشاركتكم بهذا الموضوع الممتع (ممتع بالنسبة إلي) .

    ملاحظات هامة
    - لربما تتساءل الآن .. ألا أستطيع بدلا من كل هذا الهراء أن استخدم برنامج جاهز مثل CuteFTP ؟!! بالطبع تستطيع و لكن لن يضرك أن تعلم شيئا عن البروتوكول الذي تستخدمه و ربما بعد تعلم البروتوكول تستطيع أن تصنع برنامجك الخاص
    - اقرأ الدرس مره و مرتين حتى تستوعب الفكرة تماما ثم اسأل فيما شئت
    - لتعلم اكثر عن هذا الموضوع قم بزيارة المواقع التالية
    http://www.vbip.com/winsock/winsock_ftp_01.asp (ينصح به بشده)
    http://www.vbip.com/winsock/winsock_ftp_ref_01.htm (ينصح به بشده)
    http://www.cis.ohio-state.edu/htbin/rfc/rfc0959.html (لمن اراد التعمق في البروتوكول)

    وإلى اللقاء في الدرس التالي



      الوقت/التاريخ الآن هو الجمعة نوفمبر 01, 2024 7:16 am