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

بروتوكول نقل الملفات ( FTP ) هو بروتوكول اتصال قياسي يُستخدم لنقل ملفات الحاسوب من خادم إلى عميل عبر شبكة حاسوب . يعتمد FTP على بنية نموذج العميل والخادم، حيث يستخدم اتصالات تحكم وبيانات منفصلة بين العميل والخادم. [ 1 ] يمكن لمستخدمي FTP المصادقة باستخدام بروتوكول تسجيل دخول نصي عادي ، عادةً ما يكون على شكل اسم مستخدم وكلمة مرور، ولكن يمكنهم الاتصال بشكل مجهول إذا كان الخادم مُهيأً للسماح بذلك. ولضمان نقل آمن يحمي اسم المستخدم وكلمة المرور، ويُشفّر المحتوى، غالبًا ما يتم تأمين FTP باستخدام بروتوكول SSL/TLS ( FTPS ) أو استبداله ببروتوكول نقل الملفات الآمن عبر SSH (SFTP).

كانت تطبيقات عميل بروتوكول نقل الملفات (FTP) الأولى برامج سطر أوامر طُوّرت قبل أن تحتوي أنظمة التشغيل على واجهات مستخدم رسومية ، ولا تزال تُشحن مع معظم أنظمة التشغيل ويندوز والأنظمة الشبيهة بيونكس . [ 2 ] [ 3 ] ومنذ ذلك الحين، طُوّرت العديد من برامج عميل FTP المخصصة وأدوات التشغيل الآلي لأجهزة سطح المكتب والخوادم والأجهزة المحمولة والأجهزة، كما دُمج بروتوكول FTP في تطبيقات الإنتاجية مثل محررات HTML ومديري الملفات .

متصفح جوجل كروم يصل إلى خادم FTP، ويظهر ftp:// في شريط عنوان URL

كان عميل بروتوكول نقل الملفات (FTP) يُدمج عادةً في متصفحات الويب ، حيث يتم استعراض خوادم الملفات باستخدام بادئة URIftp:// " ". في عام 2021، أسقطت جوجل كروم وفايرفوكس ، وهما من أبرز موردي متصفحات الويب، دعم بروتوكول FTP ، [ 4 ] [ 5 ] نظرًا لاستبداله ببروتوكولي SFTP و FTPS الأكثر أمانًا ؛ على الرغم من أن أيًا من المتصفحين لم يُفعّل البروتوكولات الأحدث. [ 6 ] [ 7 ]

تاريخ خوادم بروتوكول نقل الملفات (FTP)

كتب أبهاي بهوشان المواصفات الأصلية لبروتوكول نقل الملفات ( FTP) ونُشرت كوثيقة RFC 114 في 16 أبريل 1971. وحتى عام 1980، كان بروتوكول FTP يعمل على بروتوكول NCP ، وهو سلف بروتوكول TCP/IP . [ 2 ] استُبدل البروتوكول لاحقًا بنسخة TCP/IP، RFC 765 (يونيو 1980) و RFC 959 (أكتوبر 1985)، وهي المواصفات الحالية. عدّلت العديد من المعايير المقترحة RFC 959 ، فعلى سبيل المثال، مكّن RFC 1579 (فبراير 1994) بروتوكول FTP المتوافق مع جدران الحماية (الوضع السلبي)، واقترح RFC 2228 (يونيو 1997) امتدادات أمنية، وأضاف RFC 2428 (سبتمبر 1998) دعمًا لبروتوكول IPv6 وعرّف نوعًا جديدًا من الوضع السلبي. [ 8 ]       

نظرة عامة على البروتوكول

الاتصالات ونقل البيانات

توضيح لبدء اتصال سلبي باستخدام المنفذ 21

قد يعمل بروتوكول نقل الملفات (FTP) في وضع نشط أو وضع سلبي ، وهو ما يحدد كيفية إنشاء اتصال البيانات. [ 9 ] (يختلف معنى "الوضع" هنا عن معنى أمر MODE في بروتوكول نقل الملفات).

  • في الوضع النشط، يبدأ العميل بالاستماع إلى اتصالات البيانات الواردة من الخادم على المنفذ M. ويرسل أمر FTP PORT M لإعلام الخادم بالمنفذ الذي يستمع إليه. ثم يقوم الخادم بإنشاء قناة بيانات إلى العميل من منفذه 20، وهو منفذ بيانات خادم FTP.
  • في الحالات التي يكون فيها العميل خلف جدار حماية ولا يستطيع استقبال اتصالات TCP الواردة، يمكن استخدام الوضع السلبي . في هذا الوضع، يستخدم العميل اتصال التحكم لإرسال أمر PASV إلى الخادم، ثم يستقبل عنوان IP الخاص بالخادم ورقم منفذ الخادم منه، [ 9 ] والذي يستخدمه العميل بعد ذلك لفتح اتصال بيانات من أي منفذ عميل إلى عنوان IP الخاص بالخادم ورقم منفذ الخادم المُستلم. [ 10 ]

تم تحديث كلا الوضعين في سبتمبر 1998 لدعم IPv6 . كما تم إدخال تغييرات إضافية على الوضع السلبي في ذلك الوقت، مما أدى إلى تحديثه إلى الوضع السلبي الموسع . [ 11 ]

يستجيب الخادم عبر اتصال التحكم برموز حالة مكونة من ثلاثة أرقام بنظام ASCII، مع رسالة نصية اختيارية. على سبيل المثال، "200" (أو "200 OK") تعني أن الأمر الأخير قد نُفِّذ بنجاح. تمثل الأرقام رمز الاستجابة، بينما يمثل النص الاختياري شرحًا أو طلبًا مفهومًا (مثل: " مطلوب حساب لتخزين الملف " ). [ 1 ] يمكن إيقاف نقل بيانات الملف الجاري عبر اتصال البيانات باستخدام رسالة مقاطعة تُرسَل عبر اتصال التحكم.

يحتاج بروتوكول نقل الملفات (FTP) إلى منفذين (أحدهما للإرسال والآخر للاستقبال) لأنه صُمم في الأصل للعمل فوق بروتوكول التحكم بالشبكة (NCP)، وهو بروتوكول أحادي الاتجاه يستخدم عنواني منفذين ، مما يُنشئ اتصالين، للاتصالات ثنائية الاتجاه. وكان يُخصص منفذ فردي وآخر زوجي لكل تطبيق أو بروتوكول على مستوى طبقة التطبيق . وقد قلل توحيد معايير بروتوكولي TCP وUDP من الحاجة إلى استخدام منفذين أحاديي الاتجاه لكل تطبيق إلى منفذ واحد ثنائي الاتجاه، [ 12 ] : 15، ولكن لم يتم تعديل بروتوكول FTP ليستخدم منفذًا واحدًا فقط، واستمر في استخدام منفذين للتوافق مع الإصدارات السابقة.

اختراق جدار الحماية وتقنية NAT

ينقل بروتوكول نقل الملفات (FTP) البيانات عادةً عن طريق اتصال الخادم بالعميل بعد إرسال العميل أمر PORT. يُشكل هذا الأمر إشكاليةً لكلٍ من تقنية ترجمة عناوين الشبكة (NAT) وجدران الحماية، التي لا تسمح بالاتصالات من الإنترنت إلى الأجهزة الداخلية. [ 13 ] بالنسبة لتقنية NAT، تكمن المشكلة الإضافية في أن تمثيل عناوين IP ورقم المنفذ في أمر PORT يشير إلى عنوان IP ومنفذ الجهاز الداخلي، وليس إلى عنوان IP ومنفذ NAT العامين.

هناك طريقتان لحل هذه المشكلة. الأولى هي استخدام عميل وخادم بروتوكول نقل الملفات (FTP) لأمر PASV، مما يؤدي إلى إنشاء اتصال بيانات من عميل FTP إلى الخادم. [ 13 ] هذه الطريقة شائعة الاستخدام في عملاء FTP الحديثة. أما الطريقة الثانية فهي استخدام تقنية NAT لتغيير قيم أمر PORT، وذلك باستخدام بوابة على مستوى التطبيق لهذا الغرض. [ 13 ]

مخطط توضيحي لكيفية عمل بروتوكول نقل الملفات (FTP)

أنواع البيانات

أثناء نقل البيانات عبر الشبكة، يتم تحديد خمسة أنواع من البيانات: [ 2 ] [ 3 ] [ 8 ]

  • ASCII (النوع A): يُستخدم للنصوص. يتم تحويل البيانات، عند الحاجة، من تمثيل الأحرف الخاص بالجهاز المُرسِل إلى "ASCII ذي 8 بت" قبل الإرسال، ثم (مرة أخرى، عند الضرورة) إلى تمثيل الأحرف الخاص بالجهاز المُستقبِل، بما في ذلك أسطر جديدة . ونتيجةً لذلك، فإن هذا الوضع غير مناسب للملفات التي تحتوي على بيانات غير ASCII.
  • نمط الصورة (النوع الأول، ويُسمى عادةً النمط الثنائي ): يقوم الجهاز المُرسِل بإرسال كل ملف بايتًا بايتًا، ويقوم المُستقبِل بتخزين سلسلة البايتات أثناء استلامها. (يُوصى بدعم نمط الصورة لجميع تطبيقات بروتوكول نقل الملفات FTP).
  • EBCDIC (النوع E): يستخدم للنصوص العادية بين المضيفين باستخدام مجموعة أحرف EBCDIC.
  • النوع المحلي (TYPE L n ): مُصمم لدعم نقل الملفات بين الأجهزة التي لا تستخدم بايتات 8 بت، مثل أنظمة 36 بت كأجهزة DEC PDP-10 . على سبيل المثال، يُستخدم "TYPE L 9" لنقل البيانات في بايتات 9 بت، أو "TYPE L 36" لنقل الكلمات 36 بت. تدعم معظم برامج عملاء/خوادم FTP الحديثة النوع L 8 فقط، وهو ما يُعادل النوع I.
  • ملفات نصية Unicode باستخدام UTF-8 (TYPE U): تم تعريفها في مسودة إنترنت منتهية الصلاحية [ 14 ] والتي لم تصبح أبدًا RFC، على الرغم من أنها تم تنفيذها بواسطة العديد من عملاء/خوادم FTP.

لاحظ أن أنواع البيانات هذه تسمى عادةً بالأوضاع ، على الرغم من أن هذه الكلمة تستخدم بشكل غامض للإشارة إلى وضع الاتصال النشط مقابل وضع الاتصال السلبي (انظر أعلاه)، والأوضاع التي يتم تعيينها بواسطة أمر MODE الخاص ببروتوكول FTP (انظر أدناه).

بالنسبة لملفات النصوص (النوع أ والنوع هـ)، يتم توفير ثلاثة خيارات مختلفة للتحكم في تنسيق الملف للتحكم في كيفية طباعته:

  • غير قابل للطباعة (النوع AN والنوع EN) - لا يحتوي الملف على أي أحرف تحكم في النقل مخصصة للطابعة
  • Telnet (TYPE AT و TYPE ET) – يحتوي الملف على أحرف التحكم في ناقل Telnet (أو بعبارة أخرى، ASCII C0) (CR، LF، إلخ).
  • ASA (النوع AA والنوع EA) - يحتوي الملف على أحرف التحكم في النقل ASA

كانت هذه التنسيقات ذات صلة بشكل أساسي بطابعات الخطوط ؛ فمعظم عملاء/خوادم FTP المعاصرة لا تدعم سوى التحكم الافتراضي في التنسيق N.

بنية الملفات

يتم تحديد تنظيم الملفات باستخدام الأمر STRU. تم تعريف هياكل الملفات التالية في القسم 3.1.1 من RFC959:

  • بنية الملفات (F أو FILE) (موجهة نحو التدفق). تُعرض الملفات كسلسلة عشوائية من البايتات أو الأحرف أو الكلمات. هذه هي بنية الملفات المعتادة في أنظمة يونكس وأنظمة أخرى مثل CP/M وMS-DOS ومايكروسوفت ويندوز. (القسم 3.1.1.1)
  • بنية R أو RECORD (الموجهة نحو السجلات). تُعرض الملفات على أنها مقسمة إلى سجلات، قد يكون طولها ثابتًا أو متغيرًا. يُعد تنظيم الملفات هذا شائعًا في أنظمة الحواسيب المركزية والمتوسطة، مثل MVS وVM/CMS وOS/400 وVMS، التي تدعم أنظمة الملفات الموجهة نحو السجلات .
  • بنية P أو PAGE (موجهة نحو الصفحات). تُقسّم الملفات إلى صفحات، قد تحتوي على بيانات أو بيانات وصفية؛ وقد تحتوي كل صفحة أيضًا على رأس يتضمن سمات متنوعة. صُممت بنية الملفات هذه خصيصًا لأنظمة TENEX ، وهي غير مدعومة عمومًا على المنصات الأخرى. يوصي القسم 4.1.2.3 من RFC1123 بعدم تطبيق هذه البنية.

معظم عملاء وخوادم FTP المعاصرة تدعم فقط STRU F. ولا يزال STRU R قيد الاستخدام في تطبيقات نقل الملفات على الحواسيب المركزية والحواسيب الصغيرة.

طرق نقل البيانات

يمكن نقل البيانات في أي من الأوضاع الثلاثة التالية: [ 1 ] [ 2 ]

  • وضع البث المباشر (MODE S): تُرسل البيانات كتدفق مستمر، مما يُعفي بروتوكول نقل الملفات (FTP) من أي معالجة. بدلاً من ذلك، تُترك جميع عمليات المعالجة لبروتوكول التحكم بالنقل (TCP ). لا حاجة لمؤشر نهاية الملف، إلا إذا قُسّمت البيانات إلى سجلات .
  • وضع الكتل (MODE B): مصمم أساسًا لنقل الملفات ذات التوجه السجلي (STRU R)، مع إمكانية استخدامه أيضًا لنقل ملفات نصية ذات توجه تدفقي (STRU F). يقوم بروتوكول نقل الملفات (FTP) بوضع كل سجل (أو سطر) من البيانات في عدة كتل (رأس الكتلة، وعدد البايتات، وحقل البيانات) ثم يمررها إلى بروتوكول التحكم بالنقل (TCP). [ 8 ]
  • الوضع المضغوط (MODE C): يمتد الوضع B مع ضغط البيانات باستخدام ترميز طول التشغيل .

معظم عملاء وخوادم بروتوكول نقل الملفات (FTP) المعاصرة لا تنفذ الوضع B أو الوضع C؛ عملاء وخوادم بروتوكول نقل الملفات (FTP) لأنظمة تشغيل الحواسيب المركزية والحواسيب الصغيرة هي الاستثناء من ذلك.

تُطبّق بعض برامج بروتوكول نقل الملفات (FTP) وضع ضغط يعتمد على بروتوكول DEFLATE ، ويُطلق عليه أحيانًا اسم "الوضع Z" نسبةً إلى الأمر الذي يُفعّله. وقد وُصف هذا الوضع في مسودة إنترنت ، ولكنه لم يُعتمد كمعيار. [ 15 ]

يُعرّف GridFTP أوضاعًا إضافية، MODE E [ 16 ] و MODE X، [ 17 ] كامتدادات لـ MODE B.

أوامر إضافية

تدعم الإصدارات الأحدث من بروتوكول نقل الملفات (FTP) أمر " تعديل المعلومة: وقت التعديل " (MFMT)، الذي يسمح للعميل بتعديل سمة الملف عن بُعد، مما يُمكّن من الحفاظ على تلك السمة عند تحميل الملفات. [ 18 ] [ 19 ]

لاسترجاع الطابع الزمني لملف بعيد، يوجد أمر MDTM . تدعم بعض الخوادم (والعملاء) صيغة غير قياسية لأمر MDTM مع وسيطين، تعمل بنفس طريقة MFMT [ 20 ].

تسجيل الدخول

جهاز كمبيوتر في محطة أموندسن-سكوت بالقطب الجنوبي يقوم بتسجيل الدخول إلى خادم FTP ونقل ملف، في عام 1994

يستخدم تسجيل الدخول عبر بروتوكول نقل الملفات (FTP) نظام اسم المستخدم وكلمة المرور المعتاد لمنح الوصول. [ 2 ] يُرسل اسم المستخدم إلى الخادم باستخدام الأمر USER، وتُرسل كلمة المرور باستخدام الأمر PASS. [ 2 ] هذه السلسلة غير مشفرة أثناء نقلها، لذا قد تكون عرضة لهجوم تجسس الشبكة . [ 21 ] إذا قبل الخادم المعلومات المقدمة من العميل، فسيرسل الخادم رسالة ترحيب إلى العميل وتبدأ الجلسة. [ 2 ] إذا كان الخادم يدعم ذلك، فيمكن للمستخدمين تسجيل الدخول دون تقديم بيانات اعتماد تسجيل الدخول، ولكن قد يمنح الخادم نفسه وصولاً محدوداً فقط لهذه الجلسات. [ 2 ]

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

قد يُتيح مُضيف خدمة FTP إمكانية الوصول المجهول إلى FTP. [ 2 ] عادةً ما يُسجّل المستخدمون دخولهم إلى الخدمة باستخدام حساب "مجهول" (يُكتب بأحرف صغيرة وحساس لحالة الأحرف في بعض خوادم FTP) عند طلب اسم المستخدم. على الرغم من أنه يُطلب من المستخدمين عادةً إرسال عنوان بريدهم الإلكتروني بدلاً من كلمة المرور، [ 3 ] إلا أنه لا يتم التحقق من صحة البيانات المُقدّمة. [ 22 ] تسمح العديد من مُضيفي FTP الذين يُقدّمون تحديثات البرامج بتسجيل الدخول المجهول. [ 3 ]

دعم البرامج

FileZilla و WinSCP ، وهما برنامجان شائعان لعميل FTP يعملان على نظام التشغيل Windows

مدير الملفات

تتضمن العديد من برامج إدارة الملفات إمكانية الوصول عبر بروتوكول نقل الملفات (FTP)، مثل مستكشف الملفات (المعروف سابقًا باسم مستكشف ويندوز) على نظام التشغيل مايكروسوفت ويندوز . يُنصح باستخدام هذا البرنامج فقط لنقل الملفات الصغيرة من الخادم، نظرًا لمحدودياته مقارنةً ببرامج إدارة الملفات المخصصة. [ 23 ] وهو لا يدعم بروتوكول نقل الملفات الآمن (SFTP) . [ 24 ]

يدعم كل من مديري الملفات الأصليين لنظام KDE على لينكس ( دولفين وكونكيور ) بروتوكول FTP بالإضافة إلى بروتوكول SFTP. [ 25 ] [ 26 ]

تطبيق Primitive FTPd على نظام Android، يقوم بتشغيل خادم FTP و SFTP بشكل فعال

في نظام أندرويد ، يحتوي مدير الملفات "ملفاتي" على جهاز سامسونج جالاكسي على عميل FTP و SFTP مدمج . [ 27 ]

متصفح الويب

لفترة طويلة، كانت معظم متصفحات الويب الشائعة قادرة على استرداد الملفات المستضافة على خوادم FTP، على الرغم من أن بعضها لم يكن يدعم امتدادات البروتوكول مثل FTPS . [ 3 ] [ 28 ] عند توفير عنوان URL لبروتوكول FTP - بدلاً من HTTP - يتم عرض المحتويات المتاحة على الخادم البعيد بطريقة مشابهة لتلك المستخدمة لمحتوى الويب الآخر.

أزالت جوجل كروم دعم بروتوكول نقل الملفات (FTP) بالكامل في الإصدار 88، مما أثر أيضًا على متصفحات أخرى مبنية على كروميوم مثل مايكروسوفت إيدج . [ 29 ] عطل فايرفوكس 88 دعم بروتوكول نقل الملفات افتراضيًا، بينما أسقط فايرفوكس 90 هذا الدعم تمامًا. [ 30 ] [ 4 ]

FireFTP هو إضافة متصفح متوقفة، صُممت في الأصل كعميل FTP متكامل الميزات ليعمل داخل متصفح Firefox ، ولكن عندما توقف Firefox عن دعم FTP، أوصى مطور الإضافة باستخدام Waterfox . [ 31 ] لا تزال بعض المتصفحات، مثل Lynx النصي ، تدعم FTP. [ 32 ]

بناء الجملة

تم وصف صيغة عنوان URL لبروتوكول نقل الملفات (FTP) في RFC 1738 ، وهي تأخذ الشكل التالي: . لا يلزم سوى اسم المضيف. ftp://user:password@host:port/path

يمكن الاطلاع على مزيد من التفاصيل حول تحديد اسم المستخدم وكلمة المرور في وثائق المتصفحات (مثل فايرفوكس [ 33 ] وإنترنت إكسبلورر [ 34 ] ). تستخدم معظم متصفحات الويب افتراضيًا الوضع السلبي (PASV)، الذي يُسهّل اختراق جدران الحماية الخاصة بالمستخدمين.

وقد وُجد بعض التباين في كيفية تعامل المتصفحات المختلفة مع تحليل المسار في الحالات التي يكون فيها دليل رئيسي غير الجذر للمستخدم. [ 35 ]

مدير التنزيل

تستطيع معظم برامج إدارة التنزيل الشائعة استقبال الملفات المستضافة على خوادم FTP، بينما يوفر بعضها أيضًا واجهة لعرض قائمة الملفات المستضافة على خوادم FTP.

آخر

أعلنت LibreOffice عن إيقاف دعم بروتوكول نقل الملفات (FTP) بدءًا من الإصدار 7.4، ثم أُزيل لاحقًا في الإصدار 24.2. [ 36 ] [ 37 ] أما Apache OpenOffice ، وهو برنامج آخر مشتق من OpenOffice.org، فلا يزال يدعم بروتوكول نقل الملفات (FTP). [ 38 ] [ 39 ] [ 40 ]

حماية

لم يُصمم بروتوكول نقل الملفات (FTP) ليكون بروتوكولًا آمنًا، ويعاني من العديد من نقاط الضعف الأمنية. [ 41 ] في مايو 1999، أدرج واضعو RFC 2577 ثغرة أمنية تتمثل في المشكلات التالية: 

لا يقوم بروتوكول نقل الملفات (FTP) بتشفير بياناته؛ فجميع عمليات الإرسال تتم كنص عادي، ويمكن لأي شخص قادر على التقاط حزم البيانات ( التنصت ) على الشبكة قراءة أسماء المستخدمين وكلمات المرور والأوامر والبيانات. [ 2 ] [ 41 ] وتُعد هذه المشكلة شائعة في العديد من مواصفات بروتوكولات الإنترنت (مثل SMTP و Telnet و POP و IMAP ) التي صُممت قبل ابتكار آليات التشفير مثل TLS أو SSL. [ 8 ]

تشمل الحلول الشائعة لهذه المشكلة ما يلي:

  1. استخدام الإصدارات الآمنة من البروتوكولات غير الآمنة، على سبيل المثال، FTPS بدلاً من FTP و TelnetS بدلاً من Telnet.
  2. باستخدام بروتوكول مختلف وأكثر أمانًا يمكنه التعامل مع المهمة، على سبيل المثال، بروتوكول نقل الملفات SSH أو بروتوكول النسخ الآمن .
  3. باستخدام نفق آمن مثل Secure Shell (SSH) أو الشبكة الخاصة الافتراضية (VPN).

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

يُعدّ بروتوكول نقل الملفات عبر SSH ممارسةً لتمرير جلسة FTP عادية عبر اتصال Secure Shell. [ 41 ] ونظرًا لأن FTP يستخدم اتصالات TCP متعددة (وهو أمر غير شائع في بروتوكول TCP/IP الذي لا يزال قيد الاستخدام)، فإن تمريره عبر SSH يُعدّ أمرًا بالغ الصعوبة. مع العديد من عملاء SSH، فإن محاولة إنشاء نفق لقناة التحكم (الاتصال الأولي بين العميل والخادم على المنفذ 21) لن تحمي سوى تلك القناة؛ فعند نقل البيانات، يقوم برنامج FTP على أي من الطرفين بإنشاء اتصالات TCP جديدة (قنوات بيانات)، وبالتالي لا يوفر أي حماية للسرية أو سلامة البيانات .

وإلا، فمن الضروري أن يمتلك برنامج عميل SSH معرفةً محددةً ببروتوكول FTP، لمراقبة رسائل قناة التحكم في FTP وإعادة كتابتها، وفتح مسارات إعادة توجيه حزم جديدة لقنوات بيانات FTP تلقائيًا. تتضمن حزم البرامج التي تدعم هذا الوضع ما يلي:

يجب عدم الخلط بين بروتوكول نقل الملفات عبر SSH وبروتوكول نقل الملفات عبر SSH (SFTP).

المشتقات

FTPS

بروتوكول FTPS الصريح هو امتداد لمعيار FTP يسمح للعملاء بطلب تشفير جلسات FTP. يتم ذلك عن طريق إرسال الأمر "AUTH TLS". يمتلك الخادم خيار السماح بالاتصالات التي لا تطلب TLS أو رفضها. تم تعريف هذا الامتداد في RFC 4217. أما بروتوكول FTPS الضمني فهو معيار قديم لبروتوكول FTP يتطلب استخدام اتصال SSL أو TLS، وقد تم تحديده لاستخدام منافذ مختلفة عن تلك المستخدمة في بروتوكول FTP العادي. 

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

بروتوكول نقل الملفات SSH (وهو ثاني بروتوكول من بين بروتوكولي FTP، ويُختصر إلى SFTP) ينقل الملفات ويستخدم مجموعة أوامر مشابهة، ولكنه يعتمد على بروتوكول Secure Shell (SSH) لنقل الملفات. على عكس FTP، يقوم SSH بتشفير كل من الأوامر والبيانات، مما يمنع نقل كلمات المرور والمعلومات الحساسة بشكل مكشوف عبر الشبكة. لا يتوافق SSH مع برامج FTP، مع أن بعض برامج عملاء FTP تدعم بروتوكول نقل الملفات SSH أيضًا.

بروتوكول نقل الملفات البسيط

بروتوكول نقل الملفات البسيط (TFTP) هو بروتوكول نقل ملفات بسيط ومتزامن يسمح للمستخدم بجلب ملف من جهاز بعيد أو تحميل ملف إليه. يُستخدم بشكل أساسي في المراحل الأولى من تشغيل النظام من شبكة محلية ، نظرًا لسهولة تطبيقه. يفتقر TFTP إلى الأمان ومعظم الميزات المتقدمة التي توفرها بروتوكولات نقل الملفات الأكثر قوة، مثل بروتوكول نقل الملفات (FTP). تم توحيد معايير TFTP لأول مرة عام 1981، ويمكن الاطلاع على المواصفات الحالية للبروتوكول في RFC 1350 . 

بروتوكول نقل الملفات البسيط

بروتوكول نقل الملفات البسيط (SFTP)، كما هو مُعرّف في RFC 913 ، طُرح كبروتوكول لنقل الملفات (غير آمن) بمستوى تعقيد متوسط ​​بين بروتوكولي TFTP وFTP. لم يحظَ هذا البروتوكول بقبول واسع على الإنترنت ، وقد صنّفته IETF ضمن البروتوكولات التاريخية . يعمل البروتوكول عبر المنفذ 115، ويُشار إليه اختصارًا بـ SFTP . يحتوي على مجموعة أوامر من 11 أمرًا، ويدعم ثلاثة أنواع من نقل البيانات: ASCII ، والثنائي ، والمستمر. بالنسبة للأنظمة التي يكون حجم الكلمة فيها من مضاعفات 8 بت، يكون تنفيذ النقل الثنائي والمستمر متطابقًا. يدعم البروتوكول أيضًا تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور، والمجلدات الهرمية، وإدارة الملفات (بما في ذلك إعادة التسمية ، والحذف ، والتحميل ، والتنزيل ، والتنزيل مع الكتابة فوق الملفات الموجودة ، والتنزيل مع الإلحاق ). 

أوامر بروتوكول نقل الملفات (FTP)

رموز الرد في بروتوكول نقل الملفات (FTP)

فيما يلي ملخص لرموز استجابة بروتوكول نقل الملفات (FTP) التي قد يُعيدها خادم FTP . وقد تم توحيد هذه الرموز في RFC 959 من قِبل فريق عمل هندسة الإنترنت (IETF). يتكون رمز الاستجابة من ثلاثة أرقام. يُستخدم الرقم الأول للإشارة إلى إحدى النتائج الثلاث المحتملة : النجاح، أو الفشل، أو الإشارة إلى وجود خطأ أو استجابة غير مكتملة.  

  • 2yz تم الرد بنجاح 
  • 4yz أو 5yz ردّ بالفشل
  • 1yz أو 3yz خطأ أو رد غير مكتمل

يُحدد الرقم الثاني نوع الخطأ:

  • x0z بناء الجملة. تشير هذه الردود إلى أخطاء في بناء الجملة.
  • x1z معلومات. الردود على طلبات المعلومات.
  • x2z الاتصالات. الردود المتعلقة باتصالات التحكم والبيانات.
  • x3z المصادقة والمحاسبة. ردود على عملية تسجيل الدخول وإجراءات المحاسبة.
  • x4z غير مُعرّف.
  • x5z نظام الملفات. تنقل هذه الردود رموز الحالة من نظام ملفات الخادم.

يُستخدم الرقم الثالث من رمز الرد لتوفير تفاصيل إضافية لكل فئة من الفئات المحددة بواسطة الرقم الثاني.

انظر أيضاً

مراجع

  1. 1 2 3 فوروزان، بكالوريوس (2000). بروتوكول TCP/IP: مجموعة البروتوكولات ( الطبعة الأولى). نيودلهي، الهند: شركة تاتا ماكجرو هيل للنشر المحدودة. 
  2. 1 2 3 4 5 6 7 8 9 10 كوزيروك، تشارلز م. (2005). "دليل TCP/IP الإصدار 3.0" . Tcpipguide.com.
  3. 1 2 3 4 5 دين، تمارا (2010). دليل الشبكات+ للشبكات . ديلمار. الصفحات 168-171 . 
  4. 1 2 فوناو، مانويل (7 يوليو 2021). "فايرفوكس يحذو حذو كروم ويتخلى عن دعم بروتوكول نقل الملفات (تنزيل ملفات APK)" . موقع أندرويد بوليس . تم الاطلاع عليه بتاريخ 12 يوليو 2021 .
  5. "إزالة دعم بروتوكول نقل الملفات - حالة منصة كروم" . www.chromestatus.com . تم الاطلاع عليه بتاريخ 2 سبتمبر 2021 .
  6. بقلم، كتب (23 مارس 2020). "فايرفوكس يتخلى عن دعم بروتوكول نقل الملفات (FTP)" . أخبار سوفوس . تم الاطلاع عليه في 13 أكتوبر 2023 .
  7. إدواردز، بنج (14 يوليو 2022). "كروم وفايرفوكس أوقفا دعم بروتوكول نقل الملفات: إليك بديل سهل" . موقع How-To Geek . تم الاطلاع عليه بتاريخ 13 أكتوبر 2023 .
  8. 1 2 3 4 كلارك، عضو البرلمان (2003). شبكات البيانات، بروتوكول الإنترنت والإنترنت ( الطبعة الأولى). غرب ساسكس، إنجلترا: جون وايلي وأولاده المحدودة. 
  9. 1 2 "بروتوكول نقل الملفات النشط مقابل بروتوكول نقل الملفات السلبي، شرح نهائي" . Slacksite.com.
  10. RFC 959 (المعيار) بروتوكول نقل الملفات (FTP). بوستل، ج. و رينولدز، ج. (أكتوبر 1985). 
  11. RFC 2428 (المعيار المقترح) امتدادات IPv6 و NAT والوضع السلبي الموسع. ألمان، م. وميتز، س. وأوسترمان، س. (سبتمبر 1998). 
  12. ستيفنز، دبليو. ريتشارد (1994). بروتوكول TCP/IP المصور، المجلد الأول . المجلد 1. ريدينغ، ماساتشوستس، الولايات المتحدة الأمريكية: شركة أديسون-ويسلي للنشر. ISBN  0-201-63346-9.
  13. 1 2 3 جليسون، مايك (2005). "بروتوكول نقل الملفات وجدار الحماية/NAT الخاص بك" . Ncftp.com.
  14. كلينسين، جون. امتداد FTP TYPE للنصوص الدولية . IETF . المعرف: draft-klensin-ftpext-typeu-00 . تاريخ الاسترجاع: 9 يونيو 2020 .
  15. بريستون، ج. (يناير 2005). وضع نقل البيانات المضغوطة لبروتوكول نقل الملفات (FTP ). فريق هندسة الإنترنت (IETF ). المعرف: draft-preston-ftpext-deflate-03 . تاريخ الاسترجاع: 27 يناير 2016 .
  16. ألكوك، دبليو. (أبريل 2003). "GridFTP: امتدادات البروتوكول لـ FTP للشبكة" (PDF) .
  17. ماندريتشينكو، آي. (4 مايو 2005). "وصف بروتوكول GridFTP الإصدار 2" (ملف PDF) .
  18. "أمر MFMT FTP" . support.solarwinds.com . 11 أكتوبر 2018.
  19. "أوامر بروتوكول نقل الملفات: DSIZ، MFCT، MFMT، AVBL، PASS، XPWD، XMKD | Serv-U" . www.serv-u.com .
  20. "أمر MDTM FTP" . support.solarwinds.com . 11 أكتوبر 2018.
  21. برينس، برايان (24 يناير 2012). "هل ينبغي للمؤسسات التخلي عن بروتوكول نقل الملفات (FTP) لأسباب أمنية؟" . أسبوع الأمن . تم الاطلاع عليه بتاريخ 14 سبتمبر 2017 .
  22. RFC 1635 (معلوماتي) كيفية استخدام بروتوكول نقل الملفات المجهول. P. & Emtage, A. & Marine, A. (مايو 1994). 
  23. الوصول إلى بروتوكول نقل الملفات (FTP) عبر مستكشف ويندوز
  24. "CSC373/406: SSH [ 2011/03/27-29 ] " . fpl.cs.depaul.edu . تم الاطلاع عليه بتاريخ 13 أكتوبر 2023 .
  25. "FTP" . docs.kde.org . تم الاطلاع عليه بتاريخ 13 أكتوبر 2023 .
  26. كوهين، برنت (26 يوليو 2023). "كيفية الاتصال ببروتوكول نقل الملفات/بروتوكول نقل الملفات الآمن في دولفين | اختبارات الأجهزة" . مؤرشف من الأصل في 27 سبتمبر 2023. تم الاطلاع عليه في 13 أكتوبر 2023 .
  27. فريق مويان (28 فبراير 2022). "ملفات سامسونج مقابل ملفات جوجل: أي مدير ملفات أفضل على هواتف جالاكسي؟" . مويان آي/أو . تم الاطلاع عليه بتاريخ 13 أكتوبر 2023 .
  28. ماثيوز، ج. (2005). شبكات الحاسوب: بروتوكولات الإنترنت قيد التنفيذ ( الطبعة الأولى). دانفرز، ماساتشوستس: جون وايلي وأولاده. 
  29. سنيدون، جوي (26 يناير 2021). "ملخص إصدارات لينكس: GParted، Lightworks، جوجل كروم + المزيد" . omgubuntu.co.uk . تم الاطلاع عليه بتاريخ 30 يناير 2021 .
  30. "اطلع على الجديد في فايرفوكس: الإصدار 88.0 من فايرفوكس" . mozilla.org . 19 أبريل 2021. تم الاطلاع عليه بتاريخ 20 أبريل 2021 .
  31. "FireFTP - برنامج عميل FTP مجاني لمتصفح Waterfox" . FireFTP.net . مؤرشف من الأصل في 1 مارس 2022.
  32. "مخططات عناوين المواقع المدعومة في لينكس" . موقع لينكس الإلكتروني . تم الاطلاع عليه بتاريخ 6 يوليو 2023 .
  33. "الوصول إلى خوادم FTP | كيفية | مساعدة فايرفوكس" . Support.mozilla.com. 5 سبتمبر 2012. تم الاطلاع عليه بتاريخ 16 يناير 2013 .
  34. "كيفية إدخال كلمة مرور موقع FTP في متصفح إنترنت إكسبلورر" . مؤرشف من الأصل بتاريخ 2 يوليو 2015. تم الاطلاع عليه بتاريخ 13 فبراير 2020 .تمت كتابة هذا البرنامج لمتصفح إنترنت إكسبلورر الإصدار 6 والإصدارات الأقدم. قد يعمل مع الإصدارات الأحدث.
  35. يوكا "يوكا" كوربيلا (18 سبتمبر 1997). "عناوين مواقع FTP" . "تكنولوجيا المعلومات والاتصالات" (jkorpela.fi) . تاريخ الاسترجاع: 26 يناير 2020 .
  36. "LibreOffice 7.4: ملاحظات الإصدار" . ويكي مؤسسة الوثائق . تم الاطلاع عليه بتاريخ 10 سبتمبر 2022 .
  37. "ملاحظات الإصدار/24.2" . ويكي مؤسسة الوثائق . تم الاطلاع عليه بتاريخ 24 مارس 2024 .
  38. "مُزوّد ​​محتوى بروتوكول نقل الملفات (FTP)" . ويكي أباتشي أوبن أوفيس . تم الاطلاع عليه بتاريخ 23 يوليو 2025 .
  39. "إعدادات المسار" . ويكي أباتشي أوبن أوفيس . تم الاطلاع عليه بتاريخ 23 يوليو 2025 .
  40. "API/Samples/Java/Office/DocumentHandling" . ويكي أباتشي أوبن أوفيس . تم الاطلاع عليه بتاريخ 23 يوليو 2025 .
  41. 1 2 3 "تأمين بروتوكول نقل الملفات باستخدام SSH" . Nurdletech.com.
  42. "مكونات منصة ضمان المعلومات (قسم Tectia ConnectSecure)" . ssh.com . مؤرشف من الأصل بتاريخ 31 يوليو 2020.

للمزيد من القراءة

  • RFC 697 – قيادة CWD التابعة لـ FTP. يوليو 1975. 
  • RFC 959 – بروتوكول نقل الملفات (FTP) (المعياري). ج. بوستل، ج. رينولدز. أكتوبر 1985. 
  • RFC 1579 – (معلوماتي) بروتوكول نقل الملفات المتوافق مع جدار الحماية. فبراير 1994. 
  • RFC 1635 – (معلوماتي) كيفية استخدام بروتوكول نقل الملفات المجهول. مايو 1994. 
  • RFC 1639 – عملية FTP عبر سجلات العناوين الكبيرة (FOOBAR). يونيو 1994. 
  • RFC 1738 – محددات مواقع الموارد الموحدة (URL). ديسمبر 1994. 
  • RFC 2228 – (المعيار المقترح) ملحقات أمان بروتوكول نقل الملفات. أكتوبر 1997. 
  • RFC 2389 – (المعيار المقترح) آلية التفاوض على الميزات لبروتوكول نقل الملفات. أغسطس 1998. 
  • RFC 2428 – (المعيار المقترح) امتدادات لبروتوكول IPv6، وNAT، والوضع السلبي الموسع. سبتمبر 1998. 
  • RFC 2577 – (معلوماتي) اعتبارات أمان بروتوكول نقل الملفات. مايو 1999. 
  • RFC 2640 – (المعيار المقترح) تدويل بروتوكول نقل الملفات. يوليو 1999. 
  • RFC 3659 – (المعيار المقترح) امتدادات لبروتوكول نقل الملفات (FTP). بقلم: ب. هيثمون. مارس 2007. 
  • RFC 5797 – (المعيار المقترح) سجل أوامر وامتدادات بروتوكول نقل الملفات. مارس 2010. 
  • RFC 7151 – (المعيار المقترح) أمر HOST لبروتوكول نقل الملفات للمضيفين الظاهريين. مارس 2014. 
  • سجل أوامر وامتدادات بروتوكول نقل الملفات (FTP) التابع لهيئة IANA السجل الرسمي لأوامر وامتدادات بروتوكول نقل الملفات (FTP)