بسم الله الرحمن الرحیم
1
موضوع:
FTP در شبکه
2
رشته:
کامپیوتر نرم افزار
نام درس:
شبکه
3
آنچه در این ارائه به آن خواهیم پرداخت:
تعریف FTP
ویژگی های پروتکل FTP
راه اندازی FTP Server
قراردادن فایل ها بر روی FTP Server
اتصال به FTP Server
4
FTP چیست؟
FTP (File Transfer Protocol) یکی از قدیمی ترین پروتکل های اینترنت است که هنوز کاربرد زیادی دارد.
این پروتکل،یک پروتکل استاندارد در TCP/IP است مانند HTTP که محتوای وب را منتقل می کند یا SMPT که نامه های الکترونیکی را انتقال می دهد. FTP نیز راهی ساده برای تبادل فایل از یک کامپیوتر به کامپیوتر دیگر است که به دلیل استفاده این پروتکل از پورت شماره 21، عمل بارگیری بسیار سریع انجام می شود.
5
یادآوری:
پورت 21: پورتی است که سرویس دهنده به آن گوش فرا می دهد تا از صدور فرامین آگاه و آنان را به ترتیب پاسخ دهد . سرویس گیرنده برای برقراری ارتباط با سرویس دهنده از یک پورت تصادفی و موقتی ( بزرگتر از 1024 ) استفاده می نماید(پورت.(x
6
FTP نیز مانند آدرس وب سایت ها،آدرس مخصوص خود را دارد معمولا اگر آدرس یک وب سایت به صورتhttp://WWW.domain.com باشد آدرس FTP آن سایت به صورت ftp://ftp.domain.com است.
7
مهمترین کاربرد این پروتکل،استفاده طراحان و مدیران وب سایت ها برای انتقال محتوای سایت است.زمانی که فضایی را برای سایت خود اجاره می کنیم،یک آدرس FTP در اختیارمان قرار می گیرد تا عمل انتقال فایل ها را از کامپیوتر خود به وب سرور و بالعکس انجام دهیم.CuteFTP برنامه ای مناسب برای این کار است که نصبی راحت دارد و فقط Username و Password مربوط به FTP را باید داشته باشیم تا عمل انتقال فایل بین کامپیوتر و سرور را انجام دهیم.
8
ویژگی های پروتکل FTP
پروتکل FTP ، اولین تلاش انجام شده برای ایجاد یک استاندارد به منظور مبادله فایل بر روی شبکه های مبتنی بر پروتکل TCP/IP است که از اوایل سال 1970 مطرح و مشخصات استاندارد آن طی RFC 959 در اکتبر سال 1985 ارائه گردید .
9
پروتکل FTP دارای حداکثر انعطاف لازم و در عین حال امکان پذیر به منظور استفاده در شبکه های مختلف با توجه به نوع پروتکل شبکه است .
10
پروتکل FTP از مدل سرویس گیرنده – سرویس دهنده تبعیت می نماید . برخلاف HTTP که یک حاکم مطلق در عرصه مرورگرهای وب و سرویس دهندگان وب است ، نمی توان ادعای مشابهی را در رابطه با پروتکل FTP داشت و هم اینک مجموعه ای گسترده از سرویس گیرندگان و سرویس دهندگان FTP وجود دارد .
11
برای ارسال فایل با استفاده از پروتکل FTP به یک سرویس گیرنده FTP نیاز می باشد . ویندوز دارای یک برنامه سرویس گیرنده FTP از قبل تعبیه شده می باشد ولی دارای محدودیت های مختص به خود می باشد . در این رابطه نرم افزارهای متعددی تاکنون طراحی و پیاده سازی شده است: مانند: ulletProof FTP ، WS FTP Professional، FTP Explorer و Smart FTP نمونه هائی در این زمینه می باشند .
12
پروتکل FTP را می توان به عنوان یک سیستم پرس وجو نیز تلقی نمود چراکه سرویس گیرندگان و سرویس دهندگان گفتگوی لازم به منظور تائید یکدیگر و ارسال فایل را انجام می دهند. علاوه بر این، پروتکل فوق مشخص می نماید که سرویس گیرنده و سرویس دهنده، داده را بر روی کانال گفتگو ارسال نمی نمایند . در مقابل ، سرویس گیرنده و سرویس دهنده در خصوص نحوه ارسال فایل ها بر روی اتصالات مجزا و جداگانه ( یک اتصال برای هر ارسال داده ) با یکدیگر گفتگو خواهند کرد.
13
پروتکل FTP امکان استفاده از سیستم فایل را مشابه پوسته یونیکس و یا خط دستور ویندوز در اختیار کاربران قرار می دهد .
14
سرویس گیرنده در ابتدا یک پیام را برای سرویس دهنده ارسال و سرویس دهنده نیز به آن پاسخ خواهد داد و در ادامه ارتباط غیرفعال می گردد . وضعیت فوق با سایر پروتکل هائی که به صورت تراکنشی کار می کنند ، متفاوت می باشد ( نظیر پروتکل HTTP ) . برنامه های سرویس گیرنده زمانی قادر به شبیه سازی یک محیط تراکنشی می باشند که از مسائلی که قرار است در آینده محقق شوند ، آگاهی داشته باشند . در واقع ، پروتکل FTP یک دنباله stateful از یک و یا چندین تراکنش است.
15
پروتکل FTP دارای امکانات حمایتی لازم برای ارسال داده با نوع های مختلف می باشد . دو فرمت متداول، اسکی برای متن ( سرویس گیرنده با ارسال دستور TYPE A ، موضوع را به اطلاع سرویس دهنده می رساند ) و image برای داده های باینری است ( توسط TYPE I مشخص می گردد) . ارسال داده با فرمت اسکی در مواردی که ماشین سرویس دهنده و ماشین سرویس گیرنده از استانداردهای متفاوتی برای متن استفاده می نمایند ، مفید بوده و یک سرویس گیرنده می تواند پس از دریافت داده آن را به فرمت مورد نظر خود ترجمه و استفاده نماید .
16
مثلا" در نسخه های ویندوز از یک دنباله carriage return و linefeed برای نشان دادن انتهای خط استفاده می گردد در صورتی که در سیستم های مبتنی بر یونیکس صرفا" از یک linefeed استفاده می شود . برای ارسال هرنوع داده که به ترجمه نیاز نداشته باشد،می توان از ارسال باینری استفاده نمود.
17
یک اتصال پروتکل TCP/IP ( نسخه شماره چهار) شامل دو نقطه مجزا می باشد که هر نقطه از یک آدرس IP و یک شماره پورت استفاده می نماید . برقراری ارتباط بین یک سرویس گیرنده و یک سرویس دهنده منوط به وجود چهار عنصر اطلاعاتی است : آدرس سرویس دهنده ، پورت سرویس دهنده ، آدرس سرویس گیرنده و پورت سرویس گیرنده . در زمان برقراری یک ارتباط ، سرویس گیرنده از یک شماره پورت استفاده می نماید .
18
این شماره پورت می تواند متناسب با نوع عملکرد برنامه سرویس گیرنده به صورت اختیاری و یا اجباری باشد . مثلا" برخی برنامه های سرویس گیرنده به منظور ارتباط با سرویس دهنده ، نیازمند استفاده از یک شماره پورت خاص می باشند ( نظیر برنامه های سرویس گیرنده وب و یا مرورگرهای وب که از پورت شماره 80 به منظور ارتباط با سرویس دهنده وب استفاده می نماید)
19
در مواردی که الزامی در خصوص شماره پورت وجود ندارد از یک شماره پورت موقتی و یا ephemeral استفاده می گردد . این نوع پورت ها موقتی بوده و توسط IP stack ماشین مربوطه به متقاضیان نسبت داده شده و پس از خاتمه ارتباط ، پورت آزاد می گردد . با توجه به این که اکثر IP Stacks بلافاصله از پورت موقت آزاد شده استفاده نخواهند کرد ( تا زمانی که تمام pool تکمیل نشده باشد ) ، در صورتی که سرویس گیرنده مجددا" درخواست برقراری یک ارتباط را نماید ، یک شماره پورت موقتی دیگر به وی تخصیص داده می شود .
20
پروتکل FTP منحصرا" از پروتکل TCP استفاده می نماید( هرگز از پروتکل UDP استفاده نمی شود) . معمولا" پروتکل های لایه Application ( با توجه به مدل مرجع OSI ) از یکی از پروتکل های TCP و یا UDP استفاده می نمایند ( به جزء پروتکل DNS ) . پروتکل FTP نیز از برخی جهات شرایط خاص خود را دارد و برای انجام وظایف محوله از دو پورت استفاده می نماید . این پروتکل معمولا" از پورت شماره 20 برای ارسال داده و از پورت 21 برای گوش دادن به فرامین استفاده می نماید . توجه داشته باشید که برای ارسال داده همواره از پورت 20 استفاده نمی گردد و ممکن است در برخی موارد از پورت های دیگر استفاده شود .
21
اکثر سرویس دهندگان FTP از روش خاصی برای رمزنگاری اطلاعات استفاده نمی نمایند و در زمان login سرویس گیرنده به سرویس دهنده ، اطلاعات مربوط به نام و رمز عبور کاربر به صورت متن معمولی در شبکه ارسال می گردد . افرادی که دارای یک Packet sniffer بین سرویس گیرنده و سرویس دهنده می باشند ، می توانند به سادگی اقدام به سرقت نام و رمز عبور نمایند.
22
علاوه بر سرقت رمزهای عبور ، مهاجمان می توانند تمامی مکالمات بر روی اتصالات FTP را شنود و محتویات داده های ارسالی را مشاهده نمایند . پیشنهادات متعددی به منظور ایمن سازی سرویس دهنده FTP مطرح می گردد ولی تا زمانی که رمزنگاری و امکانات حفاظتی در سطح لایه پروتکل IP اعمال نگردد ( مثلا" رمزنگاری توسط IPsecs ) ، نمی بایست از FTP استفاده گردد خصوصا" اگر بر روی شبکه اطلاعات مهم و حیاتی ارسال و یا دریافت می گردد .
23
همانند بسیاری از پروتکل های لایه Application ، پروتکل FTP دارای کدهای وضعیت خطاء مختص به خود می باشد ( همانند HTTP ) که اطلاعات لازم در خصوص وضعیت ارتباط ایجاد شده و یا درخواستی را ارائه می نماید . زمانی که یک درخواست ( GET , PUT ) برای یک سرویس دهنده FTP ارسال می گردد ، سرویس دهنده پاسخ خود را به صورت یک رشته اعلام می نماید . اولین خط این رشته معمولا" شامل نام سرویس دهنده و نسخه نرم افزار FTP است .
24
در ادامه می توان دستورات GET و یا PUT را برای سرویس دهنده ارسال نمود . سرویس دهنده با ارائه یک پیام وضعیت به درخواست سرویس گیرندگان پاسخ می دهد . کدهای وضعیت برگردانده شده را می توان در پنج گروه متفاوت تقسیم نمود : کدهای 1xx : پاسخ اولیه کدهای 2xx : درخواست بدون خطاء اجراء گردید . کدهای 3xx : به اطلاعات بشتری نیاز است . کدهای 4xx : یک خطاء موقت ایجاد شده است . کدهای 5xx : یک خطاء دائمی ایجاد شده است .
25
راه اندازی FTP Server
سرویس FTP یکی از سرویس های ارائه شده به همرا IIS(Internet Information Services) است که به طور پیش فرض در تمام سیستم عامل ها غیرفعال است پس بایستی آن را نصب و فعال کرد.
26
برای این منظور برای نصب در ویندوز xp مراحل زیر را طی کنید:
1ـ Control Panel را باز وAdd or Remove Program را انتخاب نمایید. در پنجره باز شده از قسمت سمت چپ، بر روی آیکون Add/Remove Windows … را کلیک کنید.
27
28
2ـ پس از چند لحظه انتظار پنجره مربوطه ظاهر می شود در لیست Component مانند در مربع کنارIIS تیک بزنید بدون اینکه با زدن Next به مرحله بعد بروید، دکمه Details را انتخاب کنید.
29
30
3ـ IIS شامل چندین سرویس است که یکی از آنها FTPاست و چون هدف ما تنها نصب FTP است پس در پنجره Details در ابتدا تیک کنار همه گزینه ها را برداشته و فقط گزینه Service (FTP) File Transfer Protocol را انتخاب کنید که به همراه آن ، دو سرویس دیگر نیز فعال می شود. تغییری در این تنظیمات ندهید؛ Ok را بزنید و با بازگشت به صفحه قبل Next را انتخاب کنید.
31
32
۴ـ در اینجا نصب سرویس شروع می شود. در اواسط روند نصب، از شما درخواست CD ویندوز می شود.پس از قراردادن CD و نصب فایل های مورد نیاز ، سرویس FTP بر روی کامپیوتر فعال می گردد.
33
قراردادن فایل ها بر روی FTP Server
با طی شدن مراحل بالا اکنون سیستم به یک FTP Server تبدیل شده است برای قراردادن فایل های مورد نظرتان ، پوشه خاصی در نظر گرفته شده است که هر چیزی که در این پوشه قرار گیرد سرویس دهنده آن را در لیست فایل ها و پوشه های FTP Server قرار می دهد.
34
همانطور که در دو شکل زیر مشاهده می کنید به محض نصب FTP Server یک پوشه در درایو C کامپیوتر ایجاد می شود که Inetpub نام دارد . درون این پوشه نیز دو پوشه دیگر به نام های ftproot و AdminScripts قرار دارد، پوشه مورد بحث ما که محل قرارگیری فایل های FTP Server است ftproot است. حالا همه چیز آماده قرارگیری فایل ها است. فایل هایتان را در این مکان قراردهید، هم اکنون شما یک FTP Server آماده استفاده دارید.
35
36
37
اتصال به FTP Server
یقیناً یک FTP Client ابتدا باید به FTP Server متصل گردد تا بتواند از خدمات آن استفاده کند در یک شبکه داخلی این امر با تایپ یکی از دو نوع آدرس زیر در نوار آدرس IE یا هر Web Browser دیگری مثل Mozilla میسر می شود و کاربران شبکه با داشتن IP Address یا نام کامپیوتر سرویس دهنده FTP ، می توانند لیست فایل های موجود در آن را مشاهده و سپس نسبت به دریافت اقدام کنند.
[ftp: //[FTP Server IP address
[ftp: //[FTP Server Computer Name
38
اما کاربرانی وجود دارند که می خواهند از این سرویس توسط نوع دیگری از ارتباط استفاده کنند بدین معنی که هدف آنها از راه اندازی این سرویس دردسترس قرار دادن فایل هایی برای افراد خاصی است که با اجازه آنها قادر به اتصال به سیستم باشند نحوه ساختن این نوع ارتباط بدون نیاز به اینترنت و توسط مودم صورت می گیرد.
39
• تنظیمات کامپیوتر مقصد و یا به عبارت دیگر کامپیوتر میزبان (Host)
• تنظیمات مربوط به کامپیوتر میهمان (Guest) یعنی FTP Client
عبارت است از:
40
1 ـ در کنترل پانل بر روی Network Connection دوبار کلیک کنید تا پنجره مربوط به آن باز شود. ۲ ـ بر روی گزینه Create a New Connection کلیک و سپس Next کنید.
الف ـ تنظیم کامپیوتر میزبان ( Host )
41
۲ ـ در پنجره Network Connection Type، ابتدا گزینه چهارم یعنیSet up an advanced Connection را انتخاب و سپس Next کنید.
۳ ـ گزینه Accept incoming Connections را انتخاب و سپس Next کنید.
۴ ـ در پنجره Device for Incoming، مودم را انتخاب و سپس Next کنید
42
۵ ـ گزینه Do not allow virtual… را انتخاب و سپس Next کنید.
۶ ـ در پنجره User Permissions نام کاربری که می خواهید اجازه ورود به سیستم داشته باشد را وارد کنید. برای این کار هم می توانید یکی از Userهای موجود را انتخاب و یا اینکه یک User جدید ایجاد نمائید.
برای ایجاد User جدید بر روی گزینه Add کلیک و نام و کلمه عبور دلخواه را وارد نمائید.
43
۷ ـ پنجره مربوط به Networking Software را بدون تغییر Next کنید
۸ ـ در آخر بر روی Finish کلیک کنید.با انجام مراحل فوق یک Incoming Connection در لیست موجود در Network Connection ایجاد می شود.
44
ب ـ تنظیم کامپیوتر میهمان ( Guest )
1 ـ مراحل ۱ و ۲ قسمت (الف) را مجدداً تکرار کنید.
۲ ـ در پنجره Network Connection Type، ابتدا گزینه دوم یعنی
Connect to the Network at my… را انتخاب و سپس Next کنید.
45
۳ ـ گزینه Dial-up Connection را انتخاب و سپس Next کنید.
۴ ـ در قسمت Company Name یک اسم دلخواه ( مثلاً To FTP Server ) وارد و سپس Next کنید.
46
۵ ـ شماره تلفن مقصد را وارد و Next کنید.
۶ ـ در آخر بر روی finish کلیک نمائید. با انجام مراحل فوق یک Connection Dial Up جدید ایجاد می شود و کامپیوتر مهمان برای وصل شدن به کامپیوتر میزبان آماده است.
47
ج ـ وصل شدن به کامپیوتر میزبان
۱ ـ درکامپیوتر میهمان، بر روی کانکشنی که در مرحله دوم آنرا ایجاد
کردیم، کلیک کنید.
۲ ـ نام کاربری ( User Name ) و پسورد ( مربوط به مرحله ۶ قسمت الف ) را وارد و بر روی Dial کلیک کنید.
48
۳ ـ با این عمل پس از چند لحظه که مودم ها به تبادل اطلاعات می پردازند،کامپیوتر میهمان به کامپیوتر میزبان وصل می شود و کاربر مورد نظر در کنار Incoming Connection نمایان می شود.
49
این نوع ارتباط در کاربردهائی مثل Remote Desktop Connection و File Sharing نیز استفاده دارد , در این شماره هدف ما ایجاد این نوع Connection برای یادگیری و راه اندازی FTP است.
50
پایان