بهترین روش برای انتقال فایل ها از یک هاست به هاست دیگر استفاده از FTP (File Transfer Protocol) است. اف تی پی یک پروتکل شبکه برای انتقال فایل ها بین رایانهها از طریق اتصالات پروتکل TCP/IP اینترنت است. در یک جابجایی با FTP، کامپیوتر کاربر میزبان (local host) نامیده میشود و کامپیوتر درگیر در FTP یک میزبان راه دور (remote host) که معمولا یک سرور است. هر دو کامپیوتر باید به شبکه متصل شده و به درستی پیکربندی شوند تا فایل ها از طریق FTP انتقال پیدا کنند. سرورها باید برای اجرای سرویس های FTP راه اندازی شوند و کلاینت باید نرم افزار FTP را برای دسترسی به این سرویس نصب کرده باشد.
اگرچه بسیاری از انتقال فایلها را میتوان با استفاده از پروتکل انتقال (HTTP) انجام داد اما پروتکل FTP معمولاً برای انتقال فایلها و برنامههای کاربردی مانند خدمات بانکی، استفاده میشود. همچنین گاهی اوقات برای دانلود برنامه های جدید از طریق مرورگرهای وب میتوان از این پروتکل استفاده کرد. در ادامه با کاربرد FTP بیشتر آشنا خواهیم شد.
کاربرد FTP چیست
FTP یک پروتکل سرویس گیرنده و سرویس دهنده است که به دو کانال ارتباطی بین کاربر و سرور متکی است، یک کانال فرمان برای کنترل مکالمه و یک کانال داده برای انتقال محتوای فایل. FTP یک پروتکل استاندارد شبکه است، بدون FTP انتقال فایل و دادهها را میتوان با مکانیسمهای دیگری نیز مدیریت کرد مانند: ایمیل یا سرویس وب HTTP اما این سرویس ها به سادگی و کاربردی FTP نخواهند بود و وضوح و دقت FTP را ندارند. به طور کلی FTP برای انتقال فایل بین یک سیستم با سیستم دیگر که به اینترنت متصل است استفاده میشود و به سادگی میتوان فایل ها را مدیریت کرد، چندین مورد رایج و کاربردی FTP :
- Backup : از موارد کاربردی FTP میتوان به Backup اشاره کرد که توسط کاربر یا سرویس های مختلف به صورت امن انجام میشود.
- Replication : برای سهولت در کپی کردن دادهها از یک سیستم به سیستم دیگر میتوانید از FTP استفاده کنید.
- دسترسی و بارگذاری دادهها : یک مکانیز امن و ساده برای دسترسی و بارگذاری داده ها بر روی یک سیستم راه دور که معمولا برای دسترسی به host و یا سرویس های ابری استفاده میشود.
- مدیریت دایرکتوری و فایل ها : با استفاده از پروتکل اف تی پی به سادگی میتوان دایرکتوری های مختلف را حذف کرد، تغییر نام داد و یا حتی ایجاد کرد.
جلسات FTP در حالت فعال(Active) یا غیرفعال (Passive)
FTP Active : پس از اینکه یک کلاینت session را از طریق درخواست کانال فرمان آغاز کرد، سرور یک اتصال بین خود و کاربر با مشخصات کاربر ایجاد میکند.
FTP Passive : یک حالت FTP است که میتواند توسط یک کلاینت برای کاهش مشکلات ناشی از فایروال های سمت سرویس گیرنده (client-side) درخواست شود. هم سرور و هم کلاینت باید از FTP غیرفعال پشتیبانی کنند تا این فرآیند کار کند. هنگامی که از FTP passive استفاده میشود، مشتری اتصال به سرور را آغاز می کند.
FTP Client چیست
File Transfer Protocol برای انتقال اطلاعات بین یک سرور و یک کلاینت است یعنی یک سرویس دهنده و یک سرویس گیرنده، حال برای انتقال داده بین این دو لازم است تا هر دو برای استفاده از FTP آماده سازی شوند. به ابزار جانبی که برای انتقال فایل از طریق FTP در سمت کاربر استفاده میشود ftp client گفته میشود.
FTP Server چیست
سرور FTP یک بخش مهم در معماری اف تی پی است و به تبادل فایل ها از طریق اینترنت کمک میکند، در گذشته فایل ها معمولا از یک رایانه شخصی یا سایر هارد دیسک های قابل حمل روی سرور آپلود میشدند اما امروزه با استفاده از پروتکل انتقال فایل از یک سرور به یک کلاینت از راه دور انتقال اطلاعات امکان پذیر است.
برای استفاده از FTP، لازم است بر روی سرور نرم افزار FTP Server نصب گردد تا با استفاده از آن سرور بتواند تحت پروتکل اف تی پی به کلاینت متصل شود و بتواند دستوراتی که به سرور داده میشوند را پردازش و سپس اجرا کند.
روش های استفاده از FTP
همانطور که گفتیم برای استفاده از FTP در سمت کاربر نیاز به یک ابزار جانبی خواهید داشت، برای استفاده از FTP میتوان از ابزار های زیر استفاده کرد:
- استفاده از یک command line یک رابط خط فرمان ساده که در ویندوز: CMD و در لینوکس: محیط ترمینال است، خط فرمان به دلیل عدم وجود گرافیک کمی تخصصی است به همین دلیل طرفداران زیادی ندارد.
- استفاده از مرورگر وب، در اکثر هاست ها این دسترسی محدود شده است به همین دلیل کاربرد چندانی ندارد.
- استفاده از نرم افزار های FTP که رابط کاربری سادهای دارند و کاربران بدون نیاز به تخصص خاصی میتوانند با این ابزار به FTP متصل شوند.
انواع اتصال FTP
روش های مختلفی برای اتصال FTP وجود دارد تا یک client به سرور متصل شود.
- Anonymous FTP: این روش ابتدایی ترین شکل FTP است. به FTP برای انتقال داده ها بدون رمزگذاری یا بدون نیاز به نام کاربری و رمز عبور متصل میشود و بیشتر مواقع برای دانلود مطالبی که برای توزیع نامحدود مجاز است استفاده میشود.
- Password-protected FTP یک سرویس اصلی FTP است که نیاز به استفاده از نام کاربری و رمز عبور دارد، اگرچه ممکن است این سرویس رمزگذاری شده و یا ایمن نباشد، روی پورت 21 کار میکند.
- FTP Secure (FTPS) گاهی اوقات به عنوان لایه سوکت های امن( Secure Sockets Layer) FTP (FTP-SSL) نامیده میشود، این رویکرد امنیت لایه انتقال ضمنی (TLS) را به محض برقراری اتصال FTP فعال میکند. FTPS در ابتدا برای کمک به فعال کردن یک فرم امن تر از انتقال داده FTP استفاده میشد. معمولاً به طور پیش فرض از پورت 990 استفاده میکند.
- FTP over explicit SSL/TLS (FTPES) این رویکرد با ارتقا یک اتصال FTP از طریق پورت 21 به یک اتصال رمزگذاری شده، پشتیبانی صریح TLS را امکان پذیر میکند این روشی است که معمولاً توسط وب و سرویس های اشتراک فایل برای فعال کردن انتقال امن فایل استفاده میشود.
- Secure FTP (SFTP) : در واقع SFTP زیرمجموعهای از پروتکل Secure Shell (SSH) است که روی پورت 22 اجرا میشود. SSH معمولاً توسط مدیران سیستم برای دسترسی از راه دور و ایمن به سیستم ها و برنامه ها استفاده میشود و SFTP مکانیزمی را در SSH برای انتقال امن فایل فراهم میکند.
تاریخچه FTP
اولین مشخصات برای FTP با نام RFC 114 در 16 آوریل 1971 منتشر شد و توسط Abhay Bhushan، دانشجوی آن زمان در موسسه فناوری ماساچوست نوشته شد. ایده اصلی پشت FTP، فعال کردن انتقال فایل ها از طریق ARPANET پیشرو اینترنت بود. FTP در ابتدا در سال 1971 تعریف شد، قبل از TCP و IP، و از آن زمان چندین بار برای تطبیق با فناوری های جدید، از جمله استفاده از TCP/IP، یا درخواست نظرات 765 و RFC 959، و IPv6، یا RFC 2428، دوباره تعریف شده است.
در سال 1980، نسخه جدیدی از FTP در RFC 765 توسط Jon Postel، دانشمند پژوهشی در موسسه علوم اطلاعات در دانشگاه کالیفرنیای جنوبی در آن زمان تعریف شد.
پنج سال بعد، FTP دوباره با RFC 959 تعریف شد، که قابلیت های مدیریتی جدیدی را برای این پروتکل معرفی کرد، از جمله توانایی ساخت و حذف یک فهرست فایل.
در سال 1997، RFC 959 با قابلیت های جدید تعریف شد و RFC 2228 به روز شد تا قابلیت های امنیتی را فراهم کند. دو سال بعد، FTP با RFC 2428 به روز شد تا از پروتکل IPv6 پشتیبانی کند.
FTP چندین به روز رسانی را برای افزایش امنیت انجام داده است که شامل نسخههایی است که از طریق اتصال TLS ضمنی (FTPS) یا اتصال صریح TLS (FTPES) رمزگذاری میشوند یا با SFTP کار میکنند. با رمزگذاری FTP با FTPS یا FTPES، داده ها محافظت میشود و توانایی مهاجم برای استراق سمع اتصال و سرقت داده ها را محدود میکند.
نرم افزار های FTP clients
کلاینت های FTP برای آپلود، دانلود و مدیریت فایل ها بر روی سیستم سرویس گیرنده استفاده میشوند. از بهترین نرم افزار های FTP میتوان به موارد زیر اشاره کرد.
- FileZilla این یک سرویس گیرنده FTP رایگان برای ویندوز، macOS و لینوکس است که از FTP، FTPS و SFTP پشتیبانی میکند.
-
میتوانید آموزش اتصال به هاست از طریق FTP توسط FileZilla را در بلاگ هاستیدا مطالعه فرمایید.
- Transmit: یک سرویس گیرنده FTP برای macOS است که از FTP و SSH پشتیبانی میکند.
- WinSCP : یک سرویس گیرنده FTP ویندوز است که از FTP، SSH و SFTP پشتیبانی میکند.
- IIS FTPS Server : میتوانید با استفاده از IIS (سرویس های اطلاعات اینترنتی) یک سرور پروتکل انتقال فایل امن روی ویندوز نصب کنید. دارای FTP Server Component است که میتواند به صورت مستقل یا با وب سرور نصب شود.