نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

حالت های فعال و غیرفعال FTP. سرور FTP FileZilla برای شبکه خانگی یا اداری کوچک

FTP (پروتکل انتقال فایل) یکی از قدیمی ترین پروتکل های انتقال داده است. بیش از 40 سال پیش قبل از HTTP ایجاد شد. با این وجود، فناوری "FTP Client-Server" و "Server-Server" که استفاده از آن آسان است و نیازی به تعمیر و نگهداری خاصی ندارد، همچنان به عنوان وسیله ای قابل اعتماد برای سیستم سازی مدیریت اسناد داخلی، ایجاد آرشیوهای چند کاربره در شبکه های محلی شرکت ها عمل می کند. و توزیع رایگان نرم افزار، چند رسانه ای، اسناد و مطالب در شبکه جهانی وب.

سرور FTP را می توان بر روی هر دستگاه شبکه ای با آرایه دیسک برای ذخیره مقادیر زیادی از اطلاعات یا روی یک کامپیوتر معمولی مستقر کرد. هنگام اتصال به سرور، دستورات کنترلی رد و بدل می شوند، که طی آن مجوز (در صورت ارائه)، پورت ها اختصاص داده می شوند، قوانین تبادل تعریف می شوند و سپس یک اتصال داده برقرار می شود. اجازه دهید مبانی نظری تعامل بین سرور و کامپیوتر محلی از طریق پروتکل FTP را کنار بگذاریم. این فرآیند در یکی از دو حالت فعال و غیرفعال انجام می شود. تفاوت آنها چیست؟ در حالت فعال، مشتری درخواست های اتصال را به سرور ارسال می کند و اتصال توسط سرور انجام می شود. در حالت غیرفعال، هم دستورات کنترل و هم اتصال داده فقط توسط کلاینت آغاز می شود.

هنگامی که رایانه مشتری در یک شبکه محلی امن قرار دارد، حالت غیرفعال مورد نیاز است. اکثر مرورگرها از پروتکل FTP پشتیبانی می کنند و به شما امکان اتصال، مشاهده و کپی داده ها از سرورهای راه دور را می دهند. برای مثال، در اینترنت اکسپلورر، می‌توانید «آدرس IP سرور» را در نوار آدرس ftp:// مشخص کنید یا با استفاده از FileSearch پیوندهایی به محبوب‌ترین ذخیره‌سازی‌های فایل پیدا کنید. در برگه / "Internet Options / Advanced" / می توانید استفاده از حالت FTP غیرفعال را فعال کنید.

هیچ تنظیمات خاصی در مرورگر موزیلا فایرفاکس مورد نیاز نیست. "Total Commander" و "Far" یک سرویس گیرنده FTP داخلی دارند. در اینجا، هنگام ایجاد یک اتصال جدید، باید یک ورود و رمز عبور را نیز مشخص کنید. برای سرورهای باز، ورود پیش فرض "ناشناس" است و رمز عبور آدرس صندوق پست شما است.

همه «دانلودکننده‌های» شناخته‌شده از FlashGet (حالت غیرفعال به طور پیش‌فرض) تا ReGet Deluxe (حالت فعال به طور پیش‌فرض) دارای سیستمی برای تشخیص خودکار سناریوهای اتصال و دانلود هستند و همچنین به شتاب‌دهنده‌های مختلف اضافی برای سرعت بخشیدن به روند دانلود مجهز هستند. به عنوان یک قاعده، هنگام ایجاد یک اتصال جدید در برگه های FTP، می توانید حالت غیرفعال را فعال یا غیرفعال کنید.

برای کلاینت هایی که دائماً یا اغلب اوقات در حالت اشتراک فایل کار می کنند، نصب یک مدیر FTP ضروری است. این یک برنامه از سری FileZilla، CuteFTP، SmartFTP، FTP Voyager و غیره است. ، که در دامنه عمومی اینترنت نیز یافت می شود. این برنامه ها به شما این امکان را می دهند که اتصال به یک سرور FTP راه دور را تنظیم کنید. آنها در موارد کار با سرورهایی که فقط در "حالت فعال" کار می کنند ضروری هستند، زیرا حتی اگر مشتری یک آدرس IP ثابت نداشته باشد، برنامه می تواند آن را در طول جلسه شبیه سازی کند.

در میان کاربران روسی زبان، محبوب ترین برنامه منبع باز رایگان FileZilla است. نصب این برنامه آسان است، رابط روسی واضحی دارد. برای تنظیم اتصالات می توانید از چندین گزینه استفاده کنید. تنظیمات عمومی - منو / ویرایش / تنظیمات /. به شکل درختی اجرا می شوند و تنظیمات همه ماژول های موجود را تحت تاثیر قرار می دهند. در همان بخش منو، می‌توانید به جادوگر ایجاد اتصال بروید، که در آن هنگام انتخاب حالت فعال یا غیرفعال، پارامترهای اتصال گام به گام ارائه می‌شوند. برخی از سرورهای FTP دانلود فایل های اسکریپت اتصال کوچکی را ارائه می دهند که می توانید آنها را به برنامه وارد کنید و یک اتصال دائمی آماده ایجاد کنید.

و در نهایت، در بین دستورات کنسول سیستم عامل ویندوز، دستور ftp.exe پشتیبانی می شود که با وارد کردن دستورات کنسول، امکان اتصال "دستی" به سرور FTP را فراهم می کند (پروتکل از 25 دستور پشتیبانی می کند). استفاده و نحو ورودی این دستورات باید به خوبی شناخته شده و درک شود، اما به مهارت و تجربه برنامه نویسی نیاز دارد.

3 پاسخ

فعال و غیرفعال دو حالتی هستند که FTP می تواند از طریق آنها کار کند. FTP از دو کانال بین کلاینت و سرور استفاده می کند، کانال فرمان و کانال داده، که در واقع اتصالات TCP مجزا هستند. کانال فرمان برای دستورات و پاسخ ها، کانال داده برای انتقال واقعی فایل است. این یک راه عالی برای ارسال دستورات به سرور بدون انتظار برای تکمیل انتقال فعلی است.

در حالت فعال، کلاینت یک کانال فرمان ایجاد می کند (از پورت مشتری X تا پورت سرور 21(b))، اما سرور یک کانال داده ایجاد می کند (از پورت سرور 20(b) تا پورت مشتری Y، جایی که Y توسط مشتری).

در حالت غیرفعال، مشتری هر دو کانال را راه اندازی می کند. در این حالت، سرور به مشتری می گوید که کدام پورت باید برای پیوند داده استفاده شود.

حالت غیرفعال معمولاً در شرایطی استفاده می شود که سرور FTP قادر به ایجاد کانال داده نیست. یکی از دلایل اصلی این امر فایروال های شبکه است. در حالی که ممکن است یک قانون فایروال داشته باشید که به شما امکان می دهد کانال های FTP را به ftp.microsoft.com باز کنید، سرورهای مایکروسافت ممکن است نتوانند کانال داده را از طریق فایروال باز کنند.

حالت غیرفعال این مشکل را با باز کردن هر دو نوع کانال از سمت مشتری حل می کند. برای اینکه به طور قابل اعتماد واضح تر شود:

حالت فعال:

  • کلاینت PORT 2001 (a) را به سرور می فرستد و سرور در کانال فرمان تایید می کند.
  • سرور یک کانال داده را از پورت سرور 20 (b) به پورت مشتری 2001 (a) باز می کند.
  • مشتری کانال داده را تأیید می کند.

حالت غیر فعال:

  • کلاینت یک کانال فرمان را از پورت مشتری 2000 (a) به پورت سرور 21 (b) باز می کند.
  • کلاینت PASV را در یک کانال فرمان به سرور ارسال می کند.
  • سرور پس از شروع به گوش دادن در آن پورت، PORT 1234 (a) را (در کانال فرمان) برمی گرداند.
  • کلاینت یک کانال داده از کلاینت 2001 (a) به پورت سرور 1234 (a) باز می کند.
  • سرور کانال داده را تأیید می کند.

در این مرحله، دستورات و کانال های داده باز هستند.

(الف) توجه داشته باشید که انتخاب پورت سمت سرویس گیرنده به مشتری وابسته است، زیرا انتخاب پورت پیوند داده سرور در حالت غیرفعال به سرور اختصاص دارد.

(ب) علاوه بر این، باید توجه داشت که استفاده از پورت های 20 و 21 فقط مشروط است (هرچند قوی). هیچ الزام مطلقی برای استفاده از این پورت ها وجود ندارد، اگرچه مشتری و سرور باید در مورد پورت هایی که باید استفاده کنند توافق می کردند. من پیاده سازی هایی را دیده ام که سعی می کنند با استفاده از پورت های مختلف از مشتریان پنهان شوند (به نظر من بیهوده).

من اخیراً در محل کارم به این موضوع برخورد کردم، بنابراین حدس می‌زنم باید در اینجا چیز بیشتری بگویم. من از یک تصویر برای توضیح نحوه عملکرد FTP به عنوان منبع اضافی برای پاسخ قبلی استفاده خواهم کرد.

حالت فعال:

حالت غیر فعال:

در پیکربندی حالت فعال، سرور سعی می کند به یک پورت مشتری تصادفی متصل شود. به احتمال زیاد، این پورت یکی از آن پورت های از پیش تعریف شده نخواهد بود. در نتیجه تلاش برای اتصال به آن توسط فایروال مسدود می شود و اتصال برقرار نمی شود.

پیکربندی غیرفعال این مشکل را نخواهد داشت، زیرا مشتری آغازگر اتصال خواهد بود. البته سمت سرور هم می تواند فایروال داشته باشد. با این حال، از آنجایی که انتظار می‌رود سرور درخواست‌های اتصال بیشتری نسبت به سرویس گیرنده دریافت کند، منطقی است که مدیر سرور با شرایط سازگار شود و انتخاب پورت را برای سازگاری با تنظیمات حالت غیرفعال باز کند.

بنابراین، بهتر است سرور را برای پشتیبانی از حالت غیرفعال FTP پیکربندی کنید. با این حال، حالت غیرفعال سیستم شما را در برابر حملات آسیب پذیر می کند زیرا مشتریان باید به سرورهای تصادفی متصل شوند. بنابراین، برای پشتیبانی از این حالت، نه تنها سرور شما باید چندین پورت در دسترس داشته باشد، فایروال شما همچنین باید اجازه اتصال به همه آن پورت ها را بدهد!

برای کاهش خطرات، یک راه حل خوب این است که یک محدوده پورت را در سرور خود مشخص کنید و سپس فقط به آن محدوده پورت روی فایروال خود اجازه دهید.

برای اطلاعات بیشتر، سند رسمی را بررسی کنید.

یک نسخه خلاصه شده از مقاله من حالت های اتصال FTP (فعال در مقابل غیرفعال):

حالت اتصال FTP (فعال یا غیرفعال) نحوه برقراری ارتباط داده را تعیین می کند. در هر دو مورد، کلاینت یک اتصال کنترل TCP به پورت 21 سرور FTP ایجاد می کند. این یک اتصال خروجی استاندارد است، درست مانند هر پروتکل انتقال فایل دیگر (SFTP، SCP، WebDAV) یا هر برنامه مشتری دیگر TCP (مانند مرورگر وب). بنابراین، هنگام باز کردن یک اتصال کنترل، معمولاً مشکلی وجود ندارد.

اگر پروتکل FTP در مقایسه با سایر پروتکل های انتقال فایل پیچیده تر باشد، انتقال فایل است. در حالی که پروتکل های دیگر از همان اتصال برای مدیریت جلسه و انتقال فایل (داده) استفاده می کنند، پروتکل FTP از یک اتصال جداگانه برای انتقال فایل و دایرکتوری استفاده می کند.

در حالت فعال، کلاینت شروع به گوش دادن در یک پورت تصادفی برای اتصالات داده های ورودی از سرور می کند (کلاینت یک فرمان FTP PORT را ارسال می کند تا به سرور بگوید از چه پورتی در حال گوش دادن است). در حال حاضر، معمول است که مشتری پشت یک فایروال (مانند فایروال داخلی ویندوز) یا یک روتر NAT (مانند یک مودم ADSL) قرار دارد که قادر به پذیرش اتصالات TCP ورودی نیست.

به همین دلیل حالت غیرفعال معرفی شد و در حال حاضر بیشتر مورد استفاده قرار می گیرد. استفاده از حالت غیرفعال ترجیح داده می شود زیرا بیشتر پیکربندی پیچیده فقط یک بار در سمت سرور توسط یک مدیر مجرب انجام می شود و نه به صورت جداگانه در سمت مشتری توسط کاربران (شاید) بی تجربه.

در حالت غیرفعال، کلاینت از اتصال کنترل برای ارسال یک فرمان PASV به سرور استفاده می کند و سپس آدرس IP سرور و شماره پورت سرور را از سرور دریافت می کند، که مشتری سپس از آن برای باز کردن یک اتصال داده با آدرس IP سرور و سرور استفاده می کند. شماره پورت

پیکربندی شبکه برای حالت غیرفعال

در حالت غیرفعال، بیشتر بار پیکربندی در سمت سرور است. مدیر سرور باید سرور را مطابق شرح زیر راه اندازی کند.

فایروال و NAT در سمت سرور FTP باید نه تنها برای اجازه/مسیریابی اتصالات ورودی به پورت FTP 21، بلکه همچنین به تعدادی پورت برای اتصالات داده ورودی پیکربندی شوند. به طور معمول، نرم افزار سرور FTP دارای یک گزینه پیکربندی برای تنظیم محدوده پورت هایی است که توسط سرور استفاده می شود. و همان محدوده باید در فایروال/NAT باز/مسیر شود.

هنگامی که یک سرور FTP پشت یک NAT قرار دارد، باید آدرس IP خارجی خود را بداند تا بتواند آن را در پاسخ به دستور PASV در اختیار مشتری قرار دهد.

پیکربندی شبکه برای حالت فعال

در حالت فعال، بیشتر بار پیکربندی در سمت مشتری است.

فایروال (مثلاً فایروال ویندوز) و NAT (مثلاً قوانین مسیریابی مودم ADSL) در سمت سرویس گیرنده باید طوری پیکربندی شوند که محدوده پورت را برای اتصالات داده ورودی مجاز/مسیر کند. برای باز کردن پورت ها در ویندوز، به Control Panel > System and Security > Windows Firewall > Advanced Settings > Inbound Rules > New Rule بروید. برای مسیریابی پورت در NAT (در صورت وجود)، به مستندات آن مراجعه کنید.

هنگامی که NAT در شبکه شما است، مشتری FTP باید آدرس IP خارجی خود را بداند، که WinSCP باید با استفاده از دستور PORT به سرور FTP ارائه دهد. به طوری که سرور می تواند به درستی به مشتری برای باز کردن یک اتصال داده متصل شود. برخی از مشتریان FTP می توانند به طور خودکار آدرس IP خارجی را تعیین کنند، برخی از آنها باید به صورت دستی پیکربندی شوند.

فایروال هوشمند/NAT

برخی از فایروال ها/NAT ها سعی می کنند با بررسی اتصال FTP و/یا ترجمه آدرس های IP اتصال داده به ترافیک اتصال کنترلی، به طور خودکار پورت های داده را باز یا ببندند.

با چنین فایروال/NAT، پیکربندی فوق برای FTP ساده رمزگذاری نشده لازم نیست. اما این نمی تواند با FTPS کار کند زیرا ترافیک اتصال کنترل رمزگذاری شده است و فایروال/NAT نمی تواند آن را بازرسی یا اصلاح کند.

هنگام کار از طریق پروتکل FTP، دو اتصال بین مشتری و سرور برقرار می شود - یک اتصال کنترل (دستورها از طریق آن انجام می شود) و یک اتصال داده (فایل ها از طریق آن منتقل می شوند).
اتصال کنترل برای آن یکسان است فعالو منفعلحالت کلاینت یک اتصال TCP را از یک پورت پویا (1024-65535) به پورت شماره 21 در سرور FTP راه اندازی می کند و می گوید "سلام! من می خواهم با شما ارتباط برقرار کنم. اینجا نام و رمز عبور من است." اقدامات بعدی بستگی به این دارد که کدام حالت FTP (فعال یا غیرفعال) انتخاب شده باشد.

در حالت فعالوقتی مشتری می گوید "سلام!" همچنین یک شماره پورت (از محدوده دینامیکی 1024-65535) را به سرور می گوید تا سرور بتواند برای ایجاد یک اتصال داده به مشتری متصل شود. سرور FTP با استفاده از پورت TCP شماره 20 برای انتقال داده به شماره پورت مشتری مشخص شده متصل می شود.

در حالت غیرفعال، پس از اینکه کلاینت گفت "سلام!"، سرور شماره پورت TCP (از محدوده دینامیکی 1024-65535) را به مشتری می گوید که می تواند برای برقراری یک اتصال داده به آن متصل شود.

تفاوت اصلیبین حالت FTP فعال و حالت FTP غیرفعال است طرفی که اتصال داده را باز می کند. در حالت فعال، مشتری باید یک اتصال از سرور FTP را بپذیرد. در حالت غیرفعال، مشتری همیشه یک اتصال را آغاز می کند.

دستورات اساسی

ABOR - انتقال فایل را لغو کنید
CDUP - دایرکتوری را به والد تغییر دهید.
CWD - تغییر دایرکتوری
DELE - حذف فایل (نام فایل DELE).
EPSV - وارد حالت غیرفعال توسعه یافته شوید. به جای PASV استفاده می شود.
HELP - لیستی از دستورات پذیرفته شده توسط سرور را نمایش می دهد.
LIST - فهرستی از فایل‌ها را در یک دایرکتوری برمی‌گرداند. لیست از طریق اتصال داده منتقل می شود.
MDTM - زمان اصلاح یک فایل را برمی گرداند.
MKD - ایجاد دایرکتوری.
NLST - فهرستی از فایل‌ها را در یک فهرست با فرمت کوتاه‌تر از LIST برمی‌گرداند. لیست از طریق اتصال داده منتقل می شود.
NOOP - عملیات پوچ
PASV - وارد حالت غیرفعال شوید. سرور آدرس و پورتی را که برای دریافت داده ها باید به آن متصل شوید، برمی گرداند. انتقال زمانی شروع می شود که دستورات زیر وارد شوند: RETR، LIST و غیره.
PORT - وارد حالت فعال شوید. به عنوان مثال PORT 12,34,45,56,78,89. برخلاف حالت غیرفعال برای انتقال داده، سرور خود به مشتری متصل می شود.
PWD - دایرکتوری فعلی را برمی گرداند.
QUIT - قطع کن
REIN - اتصال را دوباره شروع کنید
RETR - دانلود فایل. RETR باید قبل از دستور PASV یا PORT باشد.
RMD - دایرکتوری را حذف کنید
RNFR و RNTO - تغییر نام فایل. RNFR - چه چیزی را تغییر نام دهیم، RNTO - چه.
SIZE - اندازه فایل را برمی گرداند
STOR - یک فایل آپلود کنید. قبل از STOR باید یک دستور PASV یا PORT باشد.
SYST - نوع سیستم را برمی‌گرداند (UNIX، WIN، ...)
TYPE - تنظیم نوع انتقال فایل (باینری، متن)
USER - نام کاربری برای ورود به سرور

لیست کامل کدهای پاسخ سرور FTP

100 اقدام درخواستی آغاز شده است، قبل از صدور فرمان جدید منتظر پاسخ بعدی باشید.
110 نظر بدهید
120 تابع در nnn دقیقه پیاده سازی می شود
125 کانال باز شد، ارتباط شروع شد
150 وضعیت فایل صحیح است، آماده شدن برای باز کردن یک کانال
دستور 200 صحیح است
فرمان 202 پشتیبانی نمی شود
211 وضعیت سیستم یا پاسخ به یک پرس و جو
212 وضعیت دایرکتوری
213 وضعیت فایل
214 پیام توضیحی راهنما
215 همراه با اطلاعات سیستم در دستور SYST نمایش داده می شود
220سرویس برای کاربر جدید آماده است.
221 با خروج با موفقیت خاتمه یافت
225 کانال تشکیل شد اما ارتباطی وجود نداشت
کانال 226 بسته شد، تبادل با موفقیت انجام شد
227 حالت غیرفعال (h1,h2,h3,h4,p1,p2).
228 انتقال به حالت طولانی غیرفعال (آدرس طولانی، پورت).
229 تغییر به حالت غیرفعال توسعه یافته (|||پورت|).
230کاربر شناسایی شد، ادامه دهید
جلسه 231 کاربر به پایان رسید. سرویس خاتمه یافت.
فرمان 232End session پذیرفته شد و با تکمیل انتقال فایل پایان می یابد.
250 درخواست با موفقیت انجام شد
257 "PATH" ایجاد می شود.
331 نام کاربری صحیح است، رمز عبور لازم است
332 برای ورود به سیستم احراز هویت لازم است
350 عمل فایل درخواستی به اطلاعات بیشتری نیاز دارد
404 این سرور راه دور پیدا نشد
421روش ممکن نیست، کانال در حال بسته شدن است
425 باز کردن کانال اطلاعات امکان پذیر نیست
کانال 426 بسته شد، تبادل قطع شد
434 میزبان درخواستی موجود نیست
450 تابع درخواستی اجرا نشد، فایل موجود نیست، مثلاً مشغول است
451 خطای محلی، عملیات متوقف شد
452 خطا در نوشتن فایل (فضای کافی نیست)
خطای دستوری 500، دستور قابل تفسیر نیست (احتمالاً خیلی طولانی است)
501 خطای نحوی (پارامتر یا آرگومان بد)
502 فرمان استفاده نشده است (نوع MODE غیرقانونی)
503 توالی دستورات ناموفق
دستور 504 برای این پارامتر قابل اجرا نیست
530 ورود ناموفق بود! مجوز لازم است (ورود به سیستم وارد نشده اید)
532 برای به خاطر سپردن فایل، احراز هویت لازم است
550 تابع درخواستی اجرا نشد، فایل موجود نیست، به عنوان مثال یافت نشد
551 عملیات درخواستی متوقف شد. نوع صفحه نامشخص
552 عملیات درخواستی متوقف شد. حافظه کافی تخصیص داده نشده است
553 عملیات درخواستی پذیرفته نشد. نام فایل نامعتبر است.

برترین مقالات مرتبط