फाइल ट्रांसफर प्रोटोकॉल: Difference between revisions
(Created page with "{{Short description|Standard protocol for transferring files over TCP/IP networks}} {{Redirect|FTP}} {{Use dmy dates|date=August 2016}} {{Infobox networking protocol | t...") |
No edit summary |
||
| Line 12: | Line 12: | ||
}} | }} | ||
{{IPstack}} | {{IPstack}} | ||
फाइल ट्रांसफर प्रोटोकॉल (FTP) एक मानक [[संचार प्रोटोकॉल]] है जिसका उपयोग [[कंप्यूटर नेटवर्क|कम्प्यूटर नेटवर्क]] पर सर्वर से ग्राहक तक [[कम्प्यूटर फाइल]] के हस्तांतरण के लिए किया जाता है। FTP ग्राहक-सर्वर मॉडल वास्तुकला पर ग्राहक और सर्वर के बीच अलग-अलग नियंत्रण और डेटा संबंधो का उपयोग करके बनाया गया है।<ref name="for">{{cite book |last=Forouzan |first=B.A. |year=2000 |title=टीसीपी / आईपी: प्रोटोकॉल सूट|edition=1st |location=New Delhi, India |publisher=Tata McGraw-Hill Publishing Company Limited}}</ref> FTP उपयोगकर्ता स्वयं को एक [[स्पष्ट पाठ]] साइन-इन प्रोटोकॉल के साथ, सामान्य रूप से एक उपयोगकर्ता नाम और पासवर्ड के रूप में, प्रमाणित कर सकते हैं लेकिन अगर सर्वर इसे अनुमति देने के लिए कॉन्फ़िगर किया गया है तो यह अज्ञात रूप से जुड़ सकता है। सुरक्षित प्रसारण के लिए उपयोगकर्ता नाम और पासवर्ड की सुरक्षा की जाती है, और वहाँ उपलब्ध सामग्री को गोपनीय रखा जाता है। FTP प्रायः SSL/TLS ([[FTPS]]) से सुरक्षित किया जाता है या [[एसएसएच फाइल ट्रांसफर प्रोटोकॉल|SSH फाइल ट्रांसफर प्रोटोकॉल]] (SFTP) के साथ बदल दिया जाता है। | |||
पहले FTP ग्राहक एप्लिकेशन [[कमांड लाइन इंटरफेस]] थे। [[ऑपरेटिंग सिस्टम]] में [[ग्राफिकल यूज़र इंटरफ़ेस]] होने से पहले कमांड-लाइन प्रोग्राम विकसित किए गए थे, और अभी भी अधिकांश [[खिड़कियाँ|विंडोज]], [[यूनिक्स]] और [[लिनक्स]] ऑपरेटिंग सिस्टम के साथ भेजे जाते हैं।<ref name="tcpip">{{cite web |last=Kozierok |first=Charles M. |year=2005 |title=टीसीपी/आईपी गाइड v3.0|url=http://www.tcpipguide.com/free/t_FTPOverviewHistoryandStandards.htm |publisher=Tcpipguide.com}}</ref><ref name="net+" />[[डेस्कटॉप कंप्यूटर|डेस्कटॉप कम्प्यूटर]], सर्वर, मोबाइल डिवाइस और हार्डवेयर के लिए अनेक समर्पित FTP [[क्लाइंट (कंप्यूटिंग)|ग्राहक (कंप्यूटिंग)]] और ऑटोमेशन उपयोगिताओं को विकसित किया गया है, और FTP को HTML संपादकों और [[फ़ाइल प्रबंधकों]] जैसे उत्पादकता अनुप्रयोगों में सम्मलित किया गया है। | |||
एक FTP ग्राहक सामान्यतः [[वेब ब्राउज़र]] में एकीकृत होता था, जहाँ फ़ाइल सर्वर को [[यूनिफॉर्म रिसोर्स पहचानकर्ता]] प्रीफ़िक्स के साथ ब्राउज़ किया जाता है<code>ftp://</code>. 2021 के दौरान, दो प्रमुख वेब ब्राउज़र विक्रेताओं ने इस क्षमता को हटा दिया। FTP प्रोटोकॉल के लिए सपोर्ट सबसे पहले Google Chrome 88 में जनवरी 2021 में डिसेबल किया गया था,<ref>{{Cite web |title=Chrome 87 में बहिष्करण और निष्कासन|url=https://developer.chrome.com/blog/chrome-87-deps-rems/|access-date=November 18, 2020}}</ref> इसके बाद अप्रैल 2021 में फ़ायरफ़ॉक्स 88.0।<ref>{{Cite web |title=Firefox 88.0, सभी नई सुविधाएँ, अद्यतन और सुधार देखें|url=https://www.mozilla.org/en-US/firefox/88.0/releasenotes/ |access-date=April 23, 2021}}</ref> जुलाई 2021 में, Firefox 90 ने FTP को पूरी तरह से हटा दिया,<ref name=":0">{{Cite web|last=Vonau|first=Manuel|date=2021-07-07|title=फ़ायरफ़ॉक्स क्रोम के नक्शेकदम पर चलता है और एफ़टीपी समर्थन को छोड़ देता है (एपीके डाउनलोड)|url=https://www.androidpolice.com/2021/07/14/firefox-90-fully-removes-ftp-support-and-reorganizes-some-settings-apk-download/|url-status=live|access-date=2021-07-12|website=Android Police|language=en-US}}</ref> और Google ने अक्टूबर 2021 में सूट का पालन किया, FTP को पूरी तरह से Google Chrome 95 में हटा दिया।<ref name="chromestatus">{{Cite web|title=एफ़टीपी समर्थन हटाएं - क्रोम प्लेटफ़ॉर्म स्थिति|url=https://chromestatus.com/feature/6246151319715840|access-date=2021-09-02|website=www.chromestatus.com}}</ref> | |||
== | |||
फाइल ट्रांसफर प्रोटोकॉल के लिए मूल विनिर्देश [[अभय भूषन]] द्वारा लिखा गया था और के रूप में प्रकाशित किया गया था {{IETF RFC|114}} 16 अप्रैल 1971 को। 1980 तक, FTP [[नेटवर्क कंट्रोल प्रोटोकॉल (ARPANET)]] पर चलता था, जो इंटरनेट प्रोटोकॉल सूट के पूर्ववर्ती था। TCP/IP।<ref name="tcpip" />प्रोटोकॉल को बाद में एक टीसीपी/आईपी संस्करण द्वारा बदल दिया गया था, {{IETF RFC|765}} (जून 1980) और {{IETF RFC|959}} (अक्टूबर 1985), वर्तमान विनिर्देश। | |||
== FTP सर्वरों का इतिहास == | |||
फाइल ट्रांसफर प्रोटोकॉल के लिए मूल विनिर्देश [[अभय भूषन]] द्वारा लिखा गया था और के रूप में प्रकाशित किया गया था {{IETF RFC|114}} 16 अप्रैल 1971 को। 1980 तक, FTP [[नेटवर्क कंट्रोल प्रोटोकॉल (ARPANET)]] पर चलता था, जो इंटरनेट प्रोटोकॉल सूट के पूर्ववर्ती था। TCP/IP।<ref name="tcpip" />प्रोटोकॉल को बाद में एक टीसीपी/आईपी संस्करण द्वारा बदल दिया गया था, {{IETF RFC|765}} (जून 1980) और {{IETF RFC|959}} (अक्टूबर 1985), वर्तमान विनिर्देश। अनेक प्रस्तावित मानकों में संशोधन {{IETF RFC|959}}, उदाहरण के लिए {{IETF RFC|1579}} (फरवरी 1994) फ़ायरवॉल-फ्रेंडली FTP (निष्क्रिय मोड) को सक्षम करता है, {{IETF RFC|2228}} (जून 1997) सुरक्षा विस्तार का प्रस्ताव करता है, {{IETF RFC|2428}} (सितंबर 1998) [[IPv6]] के लिए समर्थन जोड़ता है और एक नए प्रकार के निष्क्रिय मोड को परिभाषित करता है।<ref name="clark">{{cite book |last=Clark |first=M.P. |year=2003 |title=डेटा नेटवर्क आईपी और इंटरनेट|edition=1st |location=West Sussex, England |publisher=John Wiley & Sons Ltd.}}</ref> | |||
| Line 26: | Line 28: | ||
=== संचार और डेटा स्थानांतरण === | === संचार और डेटा स्थानांतरण === | ||
[[File:Passive FTP Verbindung.svg|thumb|पोर्ट 21 का उपयोग करके निष्क्रिय कनेक्शन प्रारंभ करने का चित्रण]] | [[File:Passive FTP Verbindung.svg|thumb|पोर्ट 21 का उपयोग करके निष्क्रिय कनेक्शन प्रारंभ करने का चित्रण]]FTP सक्रिय या निष्क्रिय मोड में चल सकता है, जो निर्धारित करता है कि डेटा कनेक्शन कैसे स्थापित किया जाता है।<ref name="slack">{{cite web |title=सक्रिय एफ़टीपी बनाम निष्क्रिय एफ़टीपी, एक निश्चित व्याख्या|url=http://slacksite.com/other/ftp.html |publisher=Slacksite.com}}</ref> (मोड का यह अर्थ FTP प्रोटोकॉल में मोड कमांड से अलग है।) | ||
* सक्रिय मोड में, | * सक्रिय मोड में, ग्राहक पोर्ट एम पर सर्वर से आने वाले डेटा कनेक्शन के लिए सुनना शुरू कर देता है। यह FTP कमांड पोर्ट एम को सर्वर को सूचित करने के लिए भेजता है कि वह किस पोर्ट पर सुन रहा है। सर्वर तब अपने पोर्ट 20, FTP सर्वर डेटा पोर्ट से ग्राहक के लिए एक डेटा चैनल शुरू करता है। | ||
* उन परिस्थितियों में जहां | * उन परिस्थितियों में जहां ग्राहक [[फ़ायरवॉल (कंप्यूटिंग)]] के पीछे है और आने वाले टीसीपी कनेक्शन को स्वीकार करने में असमर्थ है, निष्क्रिय मोड का उपयोग किया जा सकता है। इस मोड में, ग्राहक सर्वर को PASV कमांड भेजने के लिए कंट्रोल कनेक्शन का उपयोग करता है और फिर सर्वर से एक सर्वर आईपी एड्रेस और सर्वर पोर्ट नंबर प्राप्त करता है,<ref name="slack"/>जिसके बाद ग्राहक एक मनमाना ग्राहक पोर्ट से सर्वर आईपी एड्रेस और सर्वर पोर्ट नंबर प्राप्त करने के लिए डेटा कनेक्शन खोलने के लिए उपयोग करता है।<ref name="postel">{{IETF RFC|959}} (Standard) File Transfer Protocol (FTP). Postel, J. & Reynolds, J. (October 1985).</ref> | ||
IPv6 का समर्थन करने के लिए सितंबर 1998 में दोनों मोड अपडेट किए गए थे। उस समय पैसिव मोड में और बदलाव किए गए, इसे विस्तारित पैसिव मोड में अपडेट किया गया।<ref>{{IETF RFC|2428}} (Proposed Standard) Extensions for IPv6, NAT, and Extended Passive Mode. Allman, M. & Metz, C. & Ostermann, S. (September 1998).</ref> | IPv6 का समर्थन करने के लिए सितंबर 1998 में दोनों मोड अपडेट किए गए थे। उस समय पैसिव मोड में और बदलाव किए गए, इसे विस्तारित पैसिव मोड में अपडेट किया गया।<ref>{{IETF RFC|2428}} (Proposed Standard) Extensions for IPv6, NAT, and Extended Passive Mode. Allman, M. & Metz, C. & Ostermann, S. (September 1998).</ref> | ||
सर्वर FTP सर्वर रिटर्न कोड की सूची के साथ नियंत्रण कनेक्शन पर प्रतिक्रिया करता है | ASCII में तीन अंकों की स्थिति कोड एक वैकल्पिक पाठ संदेश के साथ। उदाहरण के लिए, 200 (या 200 OK ) का अर्थ है कि अंतिम आदेश सफल रहा। संख्याएं प्रतिक्रिया के लिए कोड का प्रतिनिधित्व करती हैं और वैकल्पिक पाठ मानव-पठनीय स्पष्टीकरण या अनुरोध का प्रतिनिधित्व करता है (उदाहरण के लिए <फाइल को संग्रहीत करने के लिए खाते की आवश्यकता है>)।<ref name="for" />नियंत्रण कनेक्शन पर भेजे गए बाधा संदेश का उपयोग करके डेटा कनेक्शन पर फ़ाइल डेटा के चल रहे स्थानांतरण को निरस्त किया जा सकता है। | सर्वर FTP सर्वर रिटर्न कोड की सूची के साथ नियंत्रण कनेक्शन पर प्रतिक्रिया करता है | ASCII में तीन अंकों की स्थिति कोड एक वैकल्पिक पाठ संदेश के साथ। उदाहरण के लिए, 200 (या 200 OK ) का अर्थ है कि अंतिम आदेश सफल रहा। संख्याएं प्रतिक्रिया के लिए कोड का प्रतिनिधित्व करती हैं और वैकल्पिक पाठ मानव-पठनीय स्पष्टीकरण या अनुरोध का प्रतिनिधित्व करता है (उदाहरण के लिए <फाइल को संग्रहीत करने के लिए खाते की आवश्यकता है>)।<ref name="for" />नियंत्रण कनेक्शन पर भेजे गए बाधा संदेश का उपयोग करके डेटा कनेक्शन पर फ़ाइल डेटा के चल रहे स्थानांतरण को निरस्त किया जा सकता है। | ||
FTP को दो बंदरगाहों की आवश्यकता होती है (एक भेजने के लिए और एक प्राप्त करने के लिए) क्योंकि इसे मूल रूप से नेटवर्क कंट्रोल प्रोटोकॉल (एआरपीएएनईटी) (एनसीपी) के शीर्ष पर संचालित करने के लिए डिज़ाइन किया गया था, जो एक सरल संचार था जो टीसीपी और यूडीपी पोर्ट नंबरों की दो सूची का उपयोग करता था, स्थापित करता था दो तरह से संचार के लिए दो कनेक्शन। प्रत्येक [[अनुप्रयोग परत]] एप्लिकेशन या प्रोटोकॉल के लिए एक विषम और एक समान पोर्ट आरक्षित किया गया था। टीसीपी और यूडीपी के मानकीकरण ने प्रत्येक एप्लिकेशन के लिए दो सिम्प्लेक्स पोर्ट के उपयोग की आवश्यकता को एक डुप्लेक्स पोर्ट तक कम कर दिया,<ref name="stevens1994v1">{{cite book | last = Stevens | first = W. Richard | title = टीसीपी/आईपी इलस्ट्रेटेड वॉल्यूम I| location = Reading, Massachusetts, USA | publisher= Addison-Wesley Publishing Company | year = 1994 | ISBN = 0-201-63346-9 | volume = 1 }}</ref>{{Rp|15}} लेकिन FTP प्रोटोकॉल को कभी भी केवल एक पोर्ट का उपयोग करने के लिए नहीं बदला गया था, और पश्चगामी संगतता के लिए दो का उपयोग करना जारी रखा। | |||
=== एनएटी और फ़ायरवॉल ट्रैवर्सल === | === एनएटी और फ़ायरवॉल ट्रैवर्सल === | ||
ग्राहक द्वारा PORT कमांड भेजे जाने के बाद FTP सामान्य रूप से सर्वर को ग्राहक से वापस कनेक्ट करके डेटा ट्रांसफर करता है। यह [[नेवोर्क पता अनुवादन]] और फायरवॉल दोनों के लिए समस्याग्रस्त है, जो इंटरनेट से आंतरिक होस्ट की ओर कनेक्शन की अनुमति नहीं देते हैं।<ref name="ncftp">{{cite web |last=Gleason |first=Mike |year=2005 |title=फ़ाइल स्थानांतरण प्रोटोकॉल और आपका फ़ायरवॉल/NAT|url=https://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html |publisher=Ncftp.com}}</ref> NATs के लिए, एक अतिरिक्त जटिलता यह है कि PORT कमांड में IP पतों और पोर्ट नंबर का प्रतिनिधित्व सार्वजनिक IP पते और NAT के पोर्ट के बजाय आंतरिक होस्ट के IP पते और पोर्ट को संदर्भित करता है। | |||
इस समस्या को हल करने के लिए दो दृष्टिकोण हैं। एक यह है कि FTP | इस समस्या को हल करने के लिए दो दृष्टिकोण हैं। एक यह है कि FTP ग्राहक और FTP सर्वर PASV कमांड का उपयोग करते हैं, जिसके कारण FTP ग्राहक से सर्वर तक डेटा कनेक्शन स्थापित हो जाता है।<ref name="ncftp" />यह आधुनिक FTP ग्राहकों द्वारा व्यापक रूप से उपयोग किया जाता है। इस उद्देश्य के लिए एक [[एप्लिकेशन-लेवल गेटवे]] का उपयोग करते हुए NAT के लिए PORT कमांड के मूल्यों को बदलने के लिए एक और तरीका है।<ref name="ncftp" /> | ||
=== डेटा प्रकार === | === डेटा प्रकार === | ||
नेटवर्क पर डेटा स्थानांतरित करते समय, चार डेटा प्रकारों को परिभाषित किया जाता है:<ref name="tcpip" /><ref name="net+" /><ref name="clark" />* [[ASCII]] (टाइप ए): टेक्स्ट के लिए उपयोग किया जाता है। यदि आवश्यक हो, तो भेजने वाले मेजबान के चरित्र प्रतिनिधित्व से विस्तारित ASCII | में डेटा परिवर्तित किया जाता है ट्रांसमिशन से पहले 8-बिट ASCII, और (फिर से, यदि आवश्यक हो) प्राप्त करने वाले मेजबान के चरित्र प्रतिनिधित्व के लिए, [[नई पंक्ति]] सहित। परिणामस्वरूप, यह मोड उन फ़ाइलों के लिए अनुपयुक्त है जिनमें ASCII के अलावा अन्य डेटा | नेटवर्क पर डेटा स्थानांतरित करते समय, चार डेटा प्रकारों को परिभाषित किया जाता है:<ref name="tcpip" /><ref name="net+" /><ref name="clark" />* [[ASCII]] (टाइप ए): टेक्स्ट के लिए उपयोग किया जाता है। यदि आवश्यक हो, तो भेजने वाले मेजबान के चरित्र प्रतिनिधित्व से विस्तारित ASCII | में डेटा परिवर्तित किया जाता है ट्रांसमिशन से पहले 8-बिट ASCII, और (फिर से, यदि आवश्यक हो) प्राप्त करने वाले मेजबान के चरित्र प्रतिनिधित्व के लिए, [[नई पंक्ति]] सहित। परिणामस्वरूप, यह मोड उन फ़ाइलों के लिए अनुपयुक्त है जिनमें ASCII के अलावा अन्य डेटा सम्मलित है। | ||
* इमेज (टाइप I, जिसे | * इमेज (टाइप I, जिसे सामान्यतः [[बाइनरी डेटा]] मोड कहा जाता है): भेजने वाली मशीन प्रत्येक फ़ाइल को [[बाइट]] द्वारा बाइट भेजती है, और प्राप्तकर्ता इसे प्राप्त करते ही [[bytstream]] को स्टोर कर लेता है। (FTP के सभी कार्यान्वयनों के लिए छवि मोड समर्थन की सिफारिश की गई है)। | ||
* [[EBCDIC]] (टाइप ई): ईबीसीडीआईसी कैरेक्टर सेट का उपयोग कर मेजबानों के बीच सादे पाठ के लिए प्रयुक्त। | * [[EBCDIC]] (टाइप ई): ईबीसीडीआईसी कैरेक्टर सेट का उपयोग कर मेजबानों के बीच सादे पाठ के लिए प्रयुक्त। | ||
* स्थानीय (टाइप एल एन): मशीनों के बीच फ़ाइल स्थानांतरण का समर्थन करने के लिए डिज़ाइन किया गया है जो 8-बिट बाइट्स का उपयोग नहीं करते हैं, उदा। [[36-बिट कंप्यूटिंग]] | 36-बिट सिस्टम जैसे DEC [[PDP-10]]s। उदाहरण के लिए, TYPE L 9 का उपयोग 9-बिट बाइट में डेटा स्थानांतरित करने के लिए किया जाएगा, या TYPE L 36 का उपयोग 36-बिट शब्दों को स्थानांतरित करने के लिए किया जाएगा। अधिकांश समकालीन FTP | * स्थानीय (टाइप एल एन): मशीनों के बीच फ़ाइल स्थानांतरण का समर्थन करने के लिए डिज़ाइन किया गया है जो 8-बिट बाइट्स का उपयोग नहीं करते हैं, उदा। [[36-बिट कंप्यूटिंग]] | 36-बिट सिस्टम जैसे DEC [[PDP-10]]s। उदाहरण के लिए, TYPE L 9 का उपयोग 9-बिट बाइट में डेटा स्थानांतरित करने के लिए किया जाएगा, या TYPE L 36 का उपयोग 36-बिट शब्दों को स्थानांतरित करने के लिए किया जाएगा। अधिकांश समकालीन FTP ग्राहक/सर्वर केवल L 8 का समर्थन करते हैं, जो I के समतुल्य है। | ||
* [[UTF-8]] (TYPE U) का उपयोग करने वाली [[यूनिकोड]] टेक्स्ट फ़ाइलें: एक समय सीमा समाप्त [[इंटरनेट ड्राफ्ट]] में परिभाषित<ref>{{Cite IETF|last=Klensin|first=John|title=अंतर्राष्ट्रीयकृत पाठ के लिए FTP TYPE एक्सटेंशन|draft=draft-klensin-ftpext-typeu-00|access-date=2020-06-09}}</ref> जो कभी भी RFC नहीं बना, हालाँकि इसे | * [[UTF-8]] (TYPE U) का उपयोग करने वाली [[यूनिकोड]] टेक्स्ट फ़ाइलें: एक समय सीमा समाप्त [[इंटरनेट ड्राफ्ट]] में परिभाषित<ref>{{Cite IETF|last=Klensin|first=John|title=अंतर्राष्ट्रीयकृत पाठ के लिए FTP TYPE एक्सटेंशन|draft=draft-klensin-ftpext-typeu-00|access-date=2020-06-09}}</ref> जो कभी भी RFC नहीं बना, हालाँकि इसे अनेक FTP ग्राहक/सर्वर द्वारा लागू किया गया है। | ||
ध्यान दें कि इन डेटा प्रकारों को | ध्यान दें कि इन डेटा प्रकारों को सामान्यतः मोड कहा जाता है, हालांकि अस्पष्ट रूप से उस शब्द का उपयोग सक्रिय-बनाम-निष्क्रिय संचार मोड (ऊपर देखें), और FTP प्रोटोकॉल मोड कमांड द्वारा निर्धारित मोड (नीचे देखें) के संदर्भ में भी किया जाता है। | ||
पाठ फ़ाइलों (टाइप ए और टाइप ई) के लिए, फ़ाइल को प्रिंट करने के तरीके को नियंत्रित करने के लिए तीन अलग-अलग प्रारूप नियंत्रण विकल्प प्रदान किए जाते हैं: | पाठ फ़ाइलों (टाइप ए और टाइप ई) के लिए, फ़ाइल को प्रिंट करने के तरीके को नियंत्रित करने के लिए तीन अलग-अलग प्रारूप नियंत्रण विकल्प प्रदान किए जाते हैं: | ||
* गैर-प्रिंट (टाइप ए एन और टाइप ई एन) - फ़ाइल में प्रिंटर के लिए कोई कैरेज नियंत्रण वर्ण नहीं है | * गैर-प्रिंट (टाइप ए एन और टाइप ई एन) - फ़ाइल में प्रिंटर के लिए कोई कैरेज नियंत्रण वर्ण नहीं है | ||
* [[टेलनेट]] (TYPE A T और TYPE E T) - फ़ाइल में टेलनेट (या दूसरे शब्दों में, ASCII C0) कैरेज कंट्रोल कैरेक्टर (CR, LF, आदि) | * [[टेलनेट]] (TYPE A T और TYPE E T) - फ़ाइल में टेलनेट (या दूसरे शब्दों में, ASCII C0) कैरेज कंट्रोल कैरेक्टर (CR, LF, आदि) सम्मलित हैं। | ||
* [[एएसए कैरिज नियंत्रण वर्ण]] (टाइप ए ए और टाइप ईए) - फाइल में एएसए कैरिज कंट्रोल कैरेक्टर हैं | * [[एएसए कैरिज नियंत्रण वर्ण]] (टाइप ए ए और टाइप ईए) - फाइल में एएसए कैरिज कंट्रोल कैरेक्टर हैं | ||
ये प्रारूप मुख्य रूप से [[लाइन प्रिंटर]] के लिए प्रासंगिक थे; अधिकांश समकालीन | ये प्रारूप मुख्य रूप से [[लाइन प्रिंटर]] के लिए प्रासंगिक थे; अधिकांश समकालीन FTP ग्राहक/सर्वर केवल एन के डिफ़ॉल्ट प्रारूप नियंत्रण का समर्थन करते हैं। | ||
=== फ़ाइल संरचना === | === फ़ाइल संरचना === | ||
| Line 59: | Line 61: | ||
* एफ या फ़ाइल संरचना (धारा-उन्मुख)। फ़ाइलों को बाइट्स, वर्णों या शब्दों के मनमाने अनुक्रम के रूप में देखा जाता है। यूनिक्स सिस्टम और अन्य सिस्टम जैसे सीपी/एम, एमएस-डॉस और माइक्रोसॉफ्ट विंडोज पर यह सामान्य फ़ाइल संरचना है। (धारा 3.1.1.1) | * एफ या फ़ाइल संरचना (धारा-उन्मुख)। फ़ाइलों को बाइट्स, वर्णों या शब्दों के मनमाने अनुक्रम के रूप में देखा जाता है। यूनिक्स सिस्टम और अन्य सिस्टम जैसे सीपी/एम, एमएस-डॉस और माइक्रोसॉफ्ट विंडोज पर यह सामान्य फ़ाइल संरचना है। (धारा 3.1.1.1) | ||
* आर या रिकॉर्ड संरचना (रिकॉर्ड-उन्मुख)। फाइलों को रिकॉर्ड में विभाजित के रूप में देखा जाता है, जो निश्चित या परिवर्तनीय लंबाई हो सकती है। यह फाइल संगठन मेनफ्रेम और मिडरेंज सिस्टम पर आम है, जैसे एमवीएस, वीएम/सीएमएस, ओएस/400 और वीएमएस, जो [[रिकॉर्ड-उन्मुख फ़ाइल सिस्टम]] सिस्टम का समर्थन करते हैं। | * आर या रिकॉर्ड संरचना (रिकॉर्ड-उन्मुख)। फाइलों को रिकॉर्ड में विभाजित के रूप में देखा जाता है, जो निश्चित या परिवर्तनीय लंबाई हो सकती है। यह फाइल संगठन मेनफ्रेम और मिडरेंज सिस्टम पर आम है, जैसे एमवीएस, वीएम/सीएमएस, ओएस/400 और वीएमएस, जो [[रिकॉर्ड-उन्मुख फ़ाइल सिस्टम]] सिस्टम का समर्थन करते हैं। | ||
* पी या पृष्ठ संरचना (पृष्ठ-उन्मुख)। फ़ाइलें पृष्ठों में विभाजित होती हैं, जिनमें या तो डेटा या मेटाडेटा हो सकता है; प्रत्येक पृष्ठ में विभिन्न विशेषताएँ देने वाला एक हेडर भी हो सकता है। यह फ़ाइल संरचना विशेष रूप से [[टेनेक्स (ऑपरेटिंग सिस्टम)]] सिस्टम के लिए डिज़ाइन की गई थी, और | * पी या पृष्ठ संरचना (पृष्ठ-उन्मुख)। फ़ाइलें पृष्ठों में विभाजित होती हैं, जिनमें या तो डेटा या मेटाडेटा हो सकता है; प्रत्येक पृष्ठ में विभिन्न विशेषताएँ देने वाला एक हेडर भी हो सकता है। यह फ़ाइल संरचना विशेष रूप से [[टेनेक्स (ऑपरेटिंग सिस्टम)]] सिस्टम के लिए डिज़ाइन की गई थी, और सामान्यतः अन्य प्लेटफॉर्म पर समर्थित नहीं है। RFC1123 खंड 4.1.2.3 अनुशंसा करता है कि इस संरचना को लागू नहीं किया जाना चाहिए। | ||
अधिकांश समकालीन FTP | अधिकांश समकालीन FTP ग्राहक और सर्वर केवल STRU F का समर्थन करते हैं। STRU R अभी भी मेनफ्रेम और मिनीकम्प्यूटर फ़ाइल स्थानांतरण अनुप्रयोगों में उपयोग में है। | ||
=== डेटा ट्रांसफर मोड === | === डेटा ट्रांसफर मोड === | ||
डेटा ट्रांसफर तीन में से किसी भी मोड में किया जा सकता है:<ref name="for" /><ref name="tcpip" />* स्ट्रीम मोड (MODE S): डेटा को एक सतत स्ट्रीम के रूप में भेजा जाता है, जिससे FTP को कोई भी प्रोसेसिंग करने से राहत मिलती है। बल्कि, सभी प्रोसेसिंग को [[ट्रांसमिशन कंट्रोल प्रोटोकॉल]] पर छोड़ दिया गया है। जब तक डेटा को रिकॉर्ड ( | डेटा ट्रांसफर तीन में से किसी भी मोड में किया जा सकता है:<ref name="for" /><ref name="tcpip" />* स्ट्रीम मोड (MODE S): डेटा को एक सतत स्ट्रीम के रूप में भेजा जाता है, जिससे FTP को कोई भी प्रोसेसिंग करने से राहत मिलती है। बल्कि, सभी प्रोसेसिंग को [[ट्रांसमिशन कंट्रोल प्रोटोकॉल]] पर छोड़ दिया गया है। जब तक डेटा को रिकॉर्ड (कम्प्यूटर साइंस) में विभाजित नहीं किया जाता है, तब तक किसी एंड-ऑफ-फाइल इंडिकेटर की आवश्यकता नहीं होती है। | ||
* ब्लॉक मोड (मोड बी): मुख्य रूप से रिकॉर्ड-ओरिएंटेड फाइलों (एसटीआरयू आर) को स्थानांतरित करने के लिए डिज़ाइन किया गया है, हालांकि इसका उपयोग स्ट्रीम-ओरिएंटेड (एसटीआरयू एफ) टेक्स्ट फाइलों को स्थानांतरित करने के लिए भी किया जा सकता है। | * ब्लॉक मोड (मोड बी): मुख्य रूप से रिकॉर्ड-ओरिएंटेड फाइलों (एसटीआरयू आर) को स्थानांतरित करने के लिए डिज़ाइन किया गया है, हालांकि इसका उपयोग स्ट्रीम-ओरिएंटेड (एसटीआरयू एफ) टेक्स्ट फाइलों को स्थानांतरित करने के लिए भी किया जा सकता है। FTP डेटा के प्रत्येक रिकॉर्ड (या लाइन) को अनेक ब्लॉक (ब्लॉक हेडर, बाइट काउंट और डेटा फ़ील्ड) में डालता है और फिर इसे टीसीपी पर भेजता है।<ref name="clark" />* कंप्रेस्ड मोड (MODE C): [[रन-लेंथ एन्कोडिंग]] का उपयोग करके डेटा कंप्रेशन के साथ मोड B को बढ़ाता है। | ||
अधिकांश समकालीन | अधिकांश समकालीन FTP ग्राहक और सर्वर मोड बी या मोड सी लागू नहीं करते हैं; मेनफ्रेम और मिनीकम्प्यूटर ऑपरेटिंग सिस्टम के लिए FTP ग्राहक और सर्वर इसके अपवाद हैं। | ||
कुछ | कुछ FTP सॉफ़्टवेयर डिफलेट-आधारित संपीड़ित मोड को भी लागू करते हैं, जिसे कभी-कभी कमांड के बाद मोड जेड कहा जाता है जो इसे सक्षम करता है। इस मोड को इंटरनेट ड्राफ्ट में वर्णित किया गया था, लेकिन मानकीकृत नहीं किया गया था।<ref>{{cite IETF |title=एफटीपी के लिए डिफ्लेट ट्रांसमिशन मोड|draft=draft-preston-ftpext-deflate-03 |first=J. |last=Preston |date=January 2005 |publisher=[[Internet Engineering Task Force|IETF]] |access-date=27 January 2016}}</ref> | ||
[[ग्रिडएफ़टीपी]] अतिरिक्त मोड को परिभाषित करता है, मोड ई<ref>{{Cite web|last=Allcock|first=W.|date=April 2003|title=GridFTP: ग्रिड के लिए एफ़टीपी के लिए प्रोटोकॉल एक्सटेंशन|url=https://www.ogf.org/documents/GFD.20.pdf}}</ref> और मोड एक्स,<ref>{{Cite web|last=Mandrichenko|first=I.|date=May 4, 2005|title=ग्रिडएफटीपी v2 प्रोटोकॉल विवरण|url=https://www.ogf.org/documents/GFD.47.pdf}}</ref> मोड बी के विस्तार के रूप में। | [[ग्रिडएफ़टीपी|ग्रिडFTP]] अतिरिक्त मोड को परिभाषित करता है, मोड ई<ref>{{Cite web|last=Allcock|first=W.|date=April 2003|title=GridFTP: ग्रिड के लिए एफ़टीपी के लिए प्रोटोकॉल एक्सटेंशन|url=https://www.ogf.org/documents/GFD.20.pdf}}</ref> और मोड एक्स,<ref>{{Cite web|last=Mandrichenko|first=I.|date=May 4, 2005|title=ग्रिडएफटीपी v2 प्रोटोकॉल विवरण|url=https://www.ogf.org/documents/GFD.47.pdf}}</ref> मोड बी के विस्तार के रूप में। | ||
=== अतिरिक्त आदेश === | === अतिरिक्त आदेश === | ||
FTP के अधिक हालिया कार्यान्वयन संशोधित तथ्य का समर्थन करते हैं: संशोधन समय (एमएफएमटी) कमांड, जो ग्राहक को फ़ाइल अपलोड करते समय उस विशेषता के संरक्षण को सक्षम करने के लिए उस [[फ़ाइल विशेषता]] को दूरस्थ रूप से समायोजित करने की अनुमति देता है।<ref>{{cite web |title=एमएफएमटी एफ़टीपी कमांड|url=https://support.solarwinds.com/SuccessCenter/s/article/MFMT-FTP-command |website=support.solarwinds.com |date=2018-10-11}}</ref><ref>{{cite web |title=FTP कमांड: DSIZ, MFCT, MFMT, AVBL, PASS, XPWD, XMKD {{!}} Serv-U|url=https://www.serv-u.com/resources/tutorial/dsiz-mfct-mfmt-avbl-pass-xpwd-xmkd-ftp-command |website=www.serv-u.com |language=en}}</ref> | |||
दूरस्थ फ़ाइल टाइमस्टैम्प को पुनः प्राप्त करने के लिए, MDTM कमांड है। कुछ सर्वर (और | दूरस्थ फ़ाइल टाइमस्टैम्प को पुनः प्राप्त करने के लिए, MDTM कमांड है। कुछ सर्वर (और ग्राहक) दो तर्कों के साथ MDTM कमांड के गैर-मानक सिंटैक्स का समर्थन करते हैं, जो MFMT की तरह ही काम करता है<ref>{{cite web |title=एमडीटीएम एफ़टीपी कमांड|url=https://support.solarwinds.com/SuccessCenter/s/article/MDTM-FTP-command |website=support.solarwinds.com |date=2018-10-11}}</ref> | ||
== लॉगिन == | == लॉगिन == | ||
FTP लॉगिन पहुँच प्रदान करने के लिए सामान्य उपयोगकर्ता नाम और पासवर्ड योजना का उपयोग करता है।<ref name="tcpip" />उपयोगकर्ता नाम USER कमांड का उपयोग करके सर्वर को भेजा जाता है, और PASS कमांड का उपयोग करके पासवर्ड भेजा जाता है।<ref name="tcpip" />यह अनुक्रम तार पर अनएन्क्रिप्टेड है, इसलिए नेटवर्क स्नीफिंग हमले के लिए असुरक्षित हो सकता है।<ref>{{cite web|last1=Prince|first1=Brian|title=क्या संगठनों को सुरक्षा के लिए एफ़टीपी बंद कर देना चाहिए?|url=https://www.securityweek.com/should-organizations-retire-ftp-security|website=Security Week|publisher=Security Week|access-date=14 September 2017}}</ref> यदि ग्राहक द्वारा प्रदान की गई जानकारी सर्वर द्वारा स्वीकार कर ली जाती है, तो सर्वर ग्राहक को ग्रीटिंग भेजेगा और सत्र शुरू हो जाएगा।<ref name="tcpip" />यदि सर्वर इसका समर्थन करता है, तो उपयोगकर्ता लॉगिन प्रमाणिकता प्रदान किए बिना लॉग इन कर सकते हैं, लेकिन वही सर्वर ऐसे सत्रों के लिए केवल सीमित पहुंच को अधिकृत कर सकता है।<ref name="tcpip" /> | |||
=== अनाम | === अनाम FTP === | ||
एक होस्ट जो | एक होस्ट जो FTP सेवा प्रदान करता है, [[गुमनामी]] FTP एक्सेस प्रदान कर सकता है।<ref name="tcpip" />उपयोगकर्ता नाम के लिए संकेत दिए जाने पर उपयोगकर्ता सामान्यतः 'अनाम' (कुछ FTP सर्वरों में लोअर-केस और केस-संवेदी) खाते के साथ सेवा में लॉग इन करते हैं। हालांकि उपयोगकर्ताओं को सामान्यतः पासवर्ड के बजाय अपना [[ईमेल]] पता भेजने के लिए कहा जाता है,<ref name="net+">{{cite book |last=Dean |first=Tamara |title=नेटवर्क + नेटवर्क के लिए गाइड|publisher=Delmar |year=2010 |pages=168–171}}</ref> आपूर्ति किए गए डेटा पर वास्तव में कोई सत्यापन नहीं किया जाता है।<ref name="rfc16">{{IETF RFC|1635}} (Informational) How to Use Anonymous FTP. P. & Emtage, A. & Marine, A. (May 1994).</ref> अनेक FTP होस्ट जिनका उद्देश्य सॉफ़्टवेयर अपडेट प्रदान करना है, अनाम लॉगिन की अनुमति देंगे।<ref name="net+" /> | ||
== HTTP == से अंतर | == HTTP == से अंतर | ||
[[हाइपरटेक्स्ट ट्रांसफ़र प्रोटोकॉल]] अनिवार्य रूप से | [[हाइपरटेक्स्ट ट्रांसफ़र प्रोटोकॉल]] अनिवार्य रूप से FTP में उन बगों को ठीक करता है जो वेब पेजों में सामान्य रूप से अनेक छोटे अस्थायी स्थानांतरणों के लिए उपयोग करने में असुविधाजनक बनाते हैं। | ||
FTP में एक स्टेटफुल कंट्रोल कनेक्शन होता है जो एक वर्तमान कार्यशील निर्देशिका और अन्य झंडों को बनाए रखता है, और प्रत्येक स्थानांतरण के लिए एक द्वितीयक कनेक्शन की आवश्यकता होती है जिसके माध्यम से डेटा स्थानांतरित किया जाता है। निष्क्रिय मोड में यह द्वितीयक कनेक्शन ग्राहक से सर्वर तक होता है, जबकि डिफ़ॉल्ट सक्रिय मोड में यह कनेक्शन सर्वर से ग्राहक तक होता है। सक्रिय मोड में होने पर यह स्पष्ट भूमिका उलट जाती है, और सभी स्थानांतरणों के लिए यादृच्छिक पोर्ट नंबर, यही कारण है कि फायरवॉल और एनएटी गेटवे के पास FTP के साथ इतना कठिन समय है। एचटीटीपी [[स्टेटलेस प्रोटोकॉल]] है और मल्टीप्लेक्स नियंत्रण और डेटा को ग्राहक से सर्वर तक जाने-माने पोर्ट नंबरों पर एकल कनेक्शन पर रखता है, जो एनएटी गेटवे से गुजरता है और फायरवॉल के प्रबंधन के लिए सरल है। | |||
सभी आवश्यक आदेशों को भेजने और प्रतिक्रियाओं की प्रतीक्षा करने की राउंड-ट्रिप देरी के कारण एक | सभी आवश्यक आदेशों को भेजने और प्रतिक्रियाओं की प्रतीक्षा करने की राउंड-ट्रिप देरी के कारण एक FTP नियंत्रण कनेक्शन स्थापित करना काफी धीमा है, इसलिए यह एक नियंत्रण कनेक्शन लाने के लिए प्रथागत है और ड्रॉप और री के बजाय इसे अनेक फाइल ट्रांसफर के लिए खुला रखता है। -सत्र को हर बार नए सिरे से स्थापित करें। इसके विपरीत, HTTP मूल रूप से प्रत्येक स्थानांतरण के बाद कनेक्शन छोड़ देता है क्योंकि ऐसा करना इतना सस्ता था। जबकि HTTP ने बाद में एकाधिक स्थानान्तरण के लिए टीसीपी कनेक्शन का पुन: उपयोग करने की क्षमता प्राप्त की है, अवधारणात्मक मॉडल अभी भी एक सत्र के बजाय स्वतंत्र अनुरोधों का है। | ||
जब | जब FTP डेटा कनेक्शन पर स्थानांतरित हो रहा है, नियंत्रण कनेक्शन निष्क्रिय है। यदि स्थानांतरण में बहुत अधिक समय लगता है, तो फ़ायरवॉल या NAT यह तय कर सकता है कि नियंत्रण कनेक्शन मर चुका है और प्रभावी रूप से कनेक्शन को तोड़कर और डाउनलोड को भ्रमित करते हुए इसे ट्रैक करना बंद कर सकता है। एकल HTTP कनेक्शन अनुरोधों के बीच केवल निष्क्रिय है और यह सामान्य है और टाइम-आउट के बाद ऐसे कनेक्शनों को छोड़ दिया जाना अपेक्षित है। | ||
== सॉफ्टवेयर समर्थन == | == सॉफ्टवेयर समर्थन == | ||
=== वेब ब्राउज़र === | === वेब ब्राउज़र === | ||
अधिकांश सामान्य वेब ब्राउज़र FTP सर्वर पर होस्ट की गई फ़ाइलों को पुनः प्राप्त कर सकते हैं, हालाँकि वे FTPS जैसे प्रोटोकॉल एक्सटेंशन का समर्थन नहीं कर सकते हैं।<ref name="net+" /><ref name="matthews">{{cite book |last=Matthews |first=J. |year=2005 |title=कंप्यूटर नेटवर्किंग: एक्शन में इंटरनेट प्रोटोकॉल|edition=1st |location=Danvers, MA |publisher=John Wiley & Sons Inc.}}</ref> जब एक HTTP—[[URL]] के बजाय एक FTP—की आपूर्ति की जाती है, तो दूरस्थ सर्वर पर पहुंच योग्य सामग्री को अन्य वेब सामग्री के लिए उपयोग किए जाने वाले तरीके के समान प्रस्तुत किया जाता है। [[FireFTP]] एक ब्राउज़र एक्सटेंशन है जिसे एक पूर्ण विशेषताओं वाले FTP | अधिकांश सामान्य वेब ब्राउज़र FTP सर्वर पर होस्ट की गई फ़ाइलों को पुनः प्राप्त कर सकते हैं, हालाँकि वे FTPS जैसे प्रोटोकॉल एक्सटेंशन का समर्थन नहीं कर सकते हैं।<ref name="net+" /><ref name="matthews">{{cite book |last=Matthews |first=J. |year=2005 |title=कंप्यूटर नेटवर्किंग: एक्शन में इंटरनेट प्रोटोकॉल|edition=1st |location=Danvers, MA |publisher=John Wiley & Sons Inc.}}</ref> जब एक HTTP—[[URL]] के बजाय एक FTP—की आपूर्ति की जाती है, तो दूरस्थ सर्वर पर पहुंच योग्य सामग्री को अन्य वेब सामग्री के लिए उपयोग किए जाने वाले तरीके के समान प्रस्तुत किया जाता है। [[FireFTP]] एक ब्राउज़र एक्सटेंशन है जिसे एक पूर्ण विशेषताओं वाले FTP ग्राहक के रूप में डिज़ाइन किया गया है, इसे अतीत में [[फ़ायर्फ़ॉक्स]] के भीतर चलाया जा सकता था, लेकिन अब यह [[वाटरफॉक्स]] के साथ काम करने की सलाह देता है। | ||
Google क्रोम ने क्रोम 88 में पूरी तरह से | Google क्रोम ने क्रोम 88 में पूरी तरह से FTP समर्थन हटा दिया।<ref>{{cite web|url=https://www.omgubuntu.co.uk/2021/01/linux-release-roundup-chrome-lightworks-more|date=2021-01-26|access-date=2021-01-30|website=omgubuntu.co.uk|title=Linux रिलीज़ राउंडअप: GParted, Lightworks, Google Chrome + और भी बहुत कुछ|first1=Joey|last1=Sneddon}}</ref> 2019 तक, मोज़िला प्रस्तावों पर चर्चा कर रहा था, जिसमें केवल पुराने FTP कार्यान्वयन के लिए समर्थन को हटाना सम्मलित था जो अब उनके कोड को सरल बनाने के लिए उपयोग में नहीं हैं।<ref>{{Cite web | url=https://bugzilla.mozilla.org/show_bug.cgi?id=1574475 |title = 1574475 - FTP समर्थन हटाएं}}</ref><ref name="chromestatus"/>अप्रैल, 2021 में, मोज़िला ने फ़ायरफ़ॉक्स 88.0 जारी किया, जिसने डिफ़ॉल्ट रूप से FTP समर्थन को अक्षम कर दिया।<ref>{{cite web|date=2021-04-19|title=देखें कि Firefox में नया क्या है: 88.0 Firefox रिलीज़|url=https://www.mozilla.org/en-US/firefox/88.0/releasenotes/|access-date=2021-04-20|website=mozilla.org}}</ref> जुलाई 2021 में, Firefox 90 ने FTP समर्थन पूरी तरह से बंद कर दिया।<ref name=":0" /> | ||
| Line 107: | Line 109: | ||
FTP URL सिंटैक्स में वर्णित है {{IETF RFC|1738}}, रूप लेना: <code>ftp://[user[:password]@]host[:port]/url-path</code> (ब्रैकेट वाले हिस्से वैकल्पिक हैं)। | FTP URL सिंटैक्स में वर्णित है {{IETF RFC|1738}}, रूप लेना: <code>ftp://[user[:password]@]host[:port]/url-path</code> (ब्रैकेट वाले हिस्से वैकल्पिक हैं)। | ||
उदाहरण के लिए, URL <nowiki>ftp://public.ftp-servers.example.com/mydirectory/myfile.txt</nowiki> सर्वर public.ftp-server पर निर्देशिका mydirectory से फ़ाइल myfile.txt का प्रतिनिधित्व करता है। example.com एक | उदाहरण के लिए, URL <nowiki>ftp://public.ftp-servers.example.com/mydirectory/myfile.txt</nowiki> सर्वर public.ftp-server पर निर्देशिका mydirectory से फ़ाइल myfile.txt का प्रतिनिधित्व करता है। example.com एक FTP संसाधन के रूप में। URL <nowiki>ftp://user001:secretpassword@pStreet.ftp-servers.example.com/mydirectory/myfile.txt</nowiki> उपयोगकर्ता नाम और पासवर्ड का एक विनिर्देश जोड़ता है जिसका उपयोग इस संसाधन तक पहुंचने के लिए किया जाना चाहिए। | ||
उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने के बारे में अधिक विवरण ब्राउज़र के दस्तावेज़ीकरण में मिल सकते हैं (उदाहरण के लिए, Firefox<ref>{{cite web |url=https://support.mozilla.org/en-US/kb/Accessing%20FTP%20servers#w_ftp-servers-that-require-a-username-and-password |title=एफ़टीपी सर्वरों तक पहुँचना | कैसे करें | फ़ायरफ़ॉक्स सहायता|publisher=Support.mozilla.com |date=2012-09-05 |access-date=2013-01-16}}</ref> और [[इंटरनेट एक्स्प्लोरर]]<ref>{{Cite web |url=https://support.microsoft.com/en-us/kb/135975 |title=Internet Explorer में FTP साइट पासवर्ड कैसे दर्ज करें|access-date=13 February 2020 |archive-date=2 July 2015 |archive-url=https://web.archive.org/web/20150702005840/https://support.microsoft.com/en-us/kb/135975 |url-status=bot: unknown }} Written for IE versions 6 and earlier. Might work with newer versions.</ref>). डिफ़ॉल्ट रूप से, अधिकांश वेब ब्राउज़र निष्क्रिय (PASV) मोड का उपयोग करते हैं, जो एंड-यूज़र फायरवॉल को अधिक आसानी से पार करता है। | उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने के बारे में अधिक विवरण ब्राउज़र के दस्तावेज़ीकरण में मिल सकते हैं (उदाहरण के लिए, Firefox<ref>{{cite web |url=https://support.mozilla.org/en-US/kb/Accessing%20FTP%20servers#w_ftp-servers-that-require-a-username-and-password |title=एफ़टीपी सर्वरों तक पहुँचना | कैसे करें | फ़ायरफ़ॉक्स सहायता|publisher=Support.mozilla.com |date=2012-09-05 |access-date=2013-01-16}}</ref> और [[इंटरनेट एक्स्प्लोरर]]<ref>{{Cite web |url=https://support.microsoft.com/en-us/kb/135975 |title=Internet Explorer में FTP साइट पासवर्ड कैसे दर्ज करें|access-date=13 February 2020 |archive-date=2 July 2015 |archive-url=https://web.archive.org/web/20150702005840/https://support.microsoft.com/en-us/kb/135975 |url-status=bot: unknown }} Written for IE versions 6 and earlier. Might work with newer versions.</ref>). डिफ़ॉल्ट रूप से, अधिकांश वेब ब्राउज़र निष्क्रिय (PASV) मोड का उपयोग करते हैं, जो एंड-यूज़र फायरवॉल को अधिक आसानी से पार करता है। | ||
| Line 115: | Line 117: | ||
=== डाउनलोड प्रबंधक === | === डाउनलोड प्रबंधक === | ||
अधिकांश सामान्य डाउनलोड प्रबंधक | अधिकांश सामान्य डाउनलोड प्रबंधक FTP सर्वरों पर होस्ट की गई फ़ाइलों को प्राप्त कर सकते हैं, जबकि उनमें से कुछ FTP सर्वरों पर होस्ट की गई फ़ाइलों को पुनः प्राप्त करने के लिए इंटरफ़ेस भी प्रदान करते हैं। [[DownloadStudio]] न केवल FTP सर्वर से फाइल [[अधःभारण प्रबंधक]] की अनुमति देता है बल्कि FTP सर्वर पर फाइलों की सूची भी देखता है।<ref>{{cite web |url=http://www.conceiva.com/products/downloadstudio/features.asp |title=डाउनलोडस्टूडियो - इंटरनेट डाउनलोड मैनेजर और डाउनलोड एक्सेलेरेटर - विशेषताएं|author= |publisher=Conceiva |date= |access-date=2021-10-19}}</ref> | ||
=== अन्य === | === अन्य === | ||
[[लिब्रे ऑफिस]] | [[लिब्रे ऑफिस]] FTP सर्वर से फ़ाइल खोलने का समर्थन करता है, लेकिन 7.4 रिलीज़ से, इस सुविधा को बहिष्कृत कर दिया गया है, और डेवलपर्स इसे भविष्य के संस्करण में हटाने का इरादा रखते हैं।<ref>{{Cite web |url=https://wiki.documentfoundation.org/ReleaseNotes/7.4 |title=लिब्रे ऑफिस 7.4: रिलीज नोट्स|publisher=The Document Foundation's Wiki |accessdate=2022-09-10 }}</ref> | ||
== सुरक्षा == | == सुरक्षा == | ||
FTP को एक सुरक्षित प्रोटोकॉल के रूप में डिज़ाइन नहीं किया गया था, और इसमें अनेक सुरक्षा कमजोरियाँ हैं।<ref name="nurdle">{{cite web |title=SSH का उपयोग करके FTP को सुरक्षित करना|url=https://nurdletech.com/linux-notes/ftp/ssh.html |publisher=Nurdletech.com}}</ref> मई 1999 में, के लेखक {{IETF RFC|2577}} निम्नलिखित समस्याओं के लिए एक भेद्यता सूचीबद्ध: | |||
* [[पशु बल का आक्रमण]] | * [[पशु बल का आक्रमण]] | ||
* [[एफ़टीपी उछाल हमला]] | * [[एफ़टीपी उछाल हमला|FTP उछाल हमला]] | ||
* [[पैकेट कैप्चर]] | * [[पैकेट कैप्चर]] | ||
* पोर्ट चोरी (अगले खुले पोर्ट का अनुमान लगाना और वैध कनेक्शन को हड़पना) | * पोर्ट चोरी (अगले खुले पोर्ट का अनुमान लगाना और वैध कनेक्शन को हड़पना) | ||
| Line 132: | Line 134: | ||
* [[सर्विस अटैक से इनकार]] | * [[सर्विस अटैक से इनकार]] | ||
FTP अपने ट्रैफ़िक को एन्क्रिप्ट नहीं करता है; सभी प्रसारण स्पष्ट पाठ में हैं, और उपयोगकर्ता नाम, पासवर्ड, आदेश और डेटा नेटवर्क पर पैकेट कैप्चर ([[पैकेट विश्लेषक]]) करने में सक्षम किसी के द्वारा पढ़ा जा सकता है।<ref name="tcpip" /><ref name="nurdle" />यह समस्या अनेक इंटरनेट प्रोटोकॉल विनिर्देशों (जैसे [[एसएमटीपी]], टेलनेट, [[पोस्ट ऑफिस प्रोटोकॉल]] और [[इंटरनेट संदेश एक्सेस प्रोटोकॉल]]) के लिए आम है, जिन्हें [[परिवहन परत सुरक्षा]] या एसएसएल जैसे एन्क्रिप्शन तंत्र के निर्माण से पहले डिजाइन किया गया था।<ref name="clark" /> | |||
इस समस्या के सामान्य समाधानों में | इस समस्या के सामान्य समाधानों में सम्मलित हैं: | ||
# असुरक्षित प्रोटोकॉल के सुरक्षित संस्करणों का उपयोग करना, उदाहरण के लिए, FTP के बजाय FTPS और Telnet के बजाय TelnetS। | # असुरक्षित प्रोटोकॉल के सुरक्षित संस्करणों का उपयोग करना, उदाहरण के लिए, FTP के बजाय FTPS और Telnet के बजाय TelnetS। | ||
# एक अलग, अधिक सुरक्षित प्रोटोकॉल का उपयोग करना जो कार्य को संभाल सकता है, उदा। SSH फाइल ट्रांसफर प्रोटोकॉल या [[सुरक्षित कॉपी प्रोटोकॉल]]। | # एक अलग, अधिक सुरक्षित प्रोटोकॉल का उपयोग करना जो कार्य को संभाल सकता है, उदा। SSH फाइल ट्रांसफर प्रोटोकॉल या [[सुरक्षित कॉपी प्रोटोकॉल]]। | ||
# [[सुरक्षित खोल]] (एसएसएच) या [[वर्चुअल प्राइवेट नेटवर्क]] (वीपीएन) जैसी सुरक्षित सुरंग का उपयोग करना। | # [[सुरक्षित खोल]] (एसएसएच) या [[वर्चुअल प्राइवेट नेटवर्क]] (वीपीएन) जैसी सुरक्षित सुरंग का उपयोग करना। | ||
=== एसएसएच पर | === एसएसएच पर FTP === <!-- This section is linked from [[OpenSSH]] --> | ||
एसएसएच पर | एसएसएच पर FTP एक सामान्य FTP सत्र को एक सुरक्षित शेल कनेक्शन पर सुरंग बनाने का अभ्यास है।<ref name="nurdle"/>क्योंकि FTP अनेक ट्रांसमिशन कंट्रोल प्रोटोकॉल कनेक्शन (एक टीसीपी / आईपी प्रोटोकॉल के लिए असामान्य है जो अभी भी उपयोग में है) का उपयोग करता है, एसएसएच पर सुरंग बनाना विशेष रूप से कठिन है। अनेक एसएसएच ग्राहकों के साथ, नियंत्रण चैनल के लिए एक सुरंग स्थापित करने का प्रयास (पोर्ट 21 पर प्रारंभिक ग्राहक-टू-सर्वर कनेक्शन) केवल उस चैनल की रक्षा करेगा; जब डेटा स्थानांतरित किया जाता है, तो FTP सॉफ्टवेयर या तो नए टीसीपी कनेक्शन (डेटा चैनल) सेट करता है और इस प्रकार कोई [[गोपनीयता]] या अखंडता सुरक्षा नहीं होती है। | ||
अन्यथा, SSH | अन्यथा, SSH ग्राहक सॉफ़्टवेयर के लिए FTP प्रोटोकॉल का विशिष्ट ज्ञान होना, FTP नियंत्रण चैनल संदेशों की निगरानी और पुनर्लेखन करना और FTP डेटा चैनलों के लिए नए [[पैकेट अग्रेषण]] को स्वायत्त रूप से खोलना आवश्यक है। इस मोड का समर्थन करने वाले सॉफ़्टवेयर पैकेज में सम्मलित हैं: | ||
* टेक्टिया कनेक्टसिक्योर (विन/लिनक्स/यूनिक्स)<ref>{{cite web|url=https://www.ssh.com/manuals/mft-events-product/63/ssh-solutions-your-business-components.html|title=सूचना आश्वासन मंच के घटक (अनुभाग टेक्टिया कनेक्टसिक्योर)|website=ssh.com|archive-url=https://web.archive.org/web/20200731160323/https://www.ssh.com/manuals/mft-events-product/63/ssh-solutions-your-business-components.html|archive-date=2020-07-31}}</ref> SSH संचार सुरक्षा सॉफ़्टवेयर सुइट का | * टेक्टिया कनेक्टसिक्योर (विन/लिनक्स/यूनिक्स)<ref>{{cite web|url=https://www.ssh.com/manuals/mft-events-product/63/ssh-solutions-your-business-components.html|title=सूचना आश्वासन मंच के घटक (अनुभाग टेक्टिया कनेक्टसिक्योर)|website=ssh.com|archive-url=https://web.archive.org/web/20200731160323/https://www.ssh.com/manuals/mft-events-product/63/ssh-solutions-your-business-components.html|archive-date=2020-07-31}}</ref> SSH संचार सुरक्षा सॉफ़्टवेयर सुइट का | ||
| Line 149: | Line 151: | ||
=== एफटीपीएस === | === एफटीपीएस === | ||
{{Main article|FTPS}} | {{Main article|FTPS}} | ||
स्पष्ट एफटीपीएस | स्पष्ट एफटीपीएस FTP मानक का एक विस्तार है जो ग्राहकों को FTP सत्रों को एन्क्रिप्ट करने का अनुरोध करने की अनुमति देता है। यह AUTH TLS कमांड भेजकर किया जाता है। सर्वर के पास उन कनेक्शनों को अनुमति देने या अस्वीकार करने का विकल्प होता है जो टीएलएस का अनुरोध नहीं करते हैं। यह प्रोटोकॉल एक्सटेंशन में परिभाषित किया गया है {{IETF RFC|4217}}. निहित एफटीपीएस FTP के लिए एक पुराना मानक है जिसके लिए एसएसएल या टीएलएस कनेक्शन के उपयोग की आवश्यकता होती है। यह सादा FTP की तुलना में विभिन्न बंदरगाहों का उपयोग करने के लिए निर्दिष्ट किया गया था। | ||
===SSH फाइल ट्रांसफर प्रोटोकॉल === | ===SSH फाइल ट्रांसफर प्रोटोकॉल === | ||
{{Main article|SSH File Transfer Protocol}} | {{Main article|SSH File Transfer Protocol}} | ||
SSH फ़ाइल स्थानांतरण प्रोटोकॉल (कालानुक्रमिक रूप से दो प्रोटोकॉल संक्षिप्त SFTP में से दूसरा) फ़ाइलों को स्थानांतरित करता है और उपयोगकर्ताओं के लिए एक समान कमांड सेट करता है, लेकिन फ़ाइलों को स्थानांतरित करने के लिए सिक्योर शेल प्रोटोकॉल (SSH) का उपयोग करता है। | SSH फ़ाइल स्थानांतरण प्रोटोकॉल (कालानुक्रमिक रूप से दो प्रोटोकॉल संक्षिप्त SFTP में से दूसरा) फ़ाइलों को स्थानांतरित करता है और उपयोगकर्ताओं के लिए एक समान कमांड सेट करता है, लेकिन फ़ाइलों को स्थानांतरित करने के लिए सिक्योर शेल प्रोटोकॉल (SSH) का उपयोग करता है। FTP के विपरीत, यह कमांड और डेटा दोनों को एन्क्रिप्ट करता है, पासवर्ड और संवेदनशील जानकारी को नेटवर्क पर खुले तौर पर प्रसारित होने से रोकता है। यह FTP सॉफ़्टवेयर के साथ इंटरऑपरेट नहीं कर सकता है, हालाँकि कुछ FTP ग्राहक सॉफ़्टवेयर SSH फ़ाइल स्थानांतरण प्रोटोकॉल के लिए भी समर्थन प्रदान करते हैं। | ||
=== तुच्छ फ़ाइल स्थानांतरण प्रोटोकॉल === | === तुच्छ फ़ाइल स्थानांतरण प्रोटोकॉल === | ||
{{Main article|Trivial File Transfer Protocol}} | {{Main article|Trivial File Transfer Protocol}} | ||
ट्रिवियल फाइल ट्रांसफर प्रोटोकॉल (TFTP) एक सरल, लॉक-स्टेप FTP है जो | ट्रिवियल फाइल ट्रांसफर प्रोटोकॉल (TFTP) एक सरल, लॉक-स्टेप FTP है जो ग्राहक को एक फ़ाइल प्राप्त करने या एक फ़ाइल को दूरस्थ होस्ट पर रखने की अनुमति देता है। इसका एक प्राथमिक उपयोग [[नेटवर्क बूटिंग]] के शुरुआती चरणों में है, क्योंकि TFTP को लागू करना बहुत आसान है। TFTP में सुरक्षा का अभाव है और अधिक मजबूत फ़ाइल स्थानांतरण प्रोटोकॉल जैसे फ़ाइल स्थानांतरण प्रोटोकॉल द्वारा प्रदान की जाने वाली अधिकांश उन्नत सुविधाएँ। TFTP को पहली बार 1981 में मानकीकृत किया गया था और प्रोटोकॉल के लिए वर्तमान विनिर्देश में पाया जा सकता है {{IETF RFC|1350}}. | ||
=== सरल फ़ाइल स्थानांतरण प्रोटोकॉल === | === सरल फ़ाइल स्थानांतरण प्रोटोकॉल === | ||
<!--Simple File Transfer Protocol redirects here--> | <!--Simple File Transfer Protocol redirects here--> | ||
सिंपल फाइल ट्रांसफर प्रोटोकॉल (पहला प्रोटोकॉल संक्षिप्त एसएफटीपी), जैसा कि परिभाषित किया गया है {{IETF RFC|913}}, TFTP और FTP के बीच जटिलता मध्यवर्ती स्तर के साथ एक (असुरक्षित) फ़ाइल स्थानांतरण प्रोटोकॉल के रूप में प्रस्तावित किया गया था। इसे [[इंटरनेट]] पर कभी भी व्यापक रूप से स्वीकार नहीं किया गया था, और अब इसे [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] द्वारा ऐतिहासिक दर्जा दिया गया है। यह पोर्ट 115 के माध्यम से चलता है, और | सिंपल फाइल ट्रांसफर प्रोटोकॉल (पहला प्रोटोकॉल संक्षिप्त एसएफटीपी), जैसा कि परिभाषित किया गया है {{IETF RFC|913}}, TFTP और FTP के बीच जटिलता मध्यवर्ती स्तर के साथ एक (असुरक्षित) फ़ाइल स्थानांतरण प्रोटोकॉल के रूप में प्रस्तावित किया गया था। इसे [[इंटरनेट]] पर कभी भी व्यापक रूप से स्वीकार नहीं किया गया था, और अब इसे [[इंटरनेट इंजीनियरिंग टास्क फोर्स]] द्वारा ऐतिहासिक दर्जा दिया गया है। यह पोर्ट 115 के माध्यम से चलता है, और प्रायः SFTP का आद्याक्षर प्राप्त करता है। इसमें 11 कमांड का कमांड सेट है और तीन प्रकार के डेटा ट्रांसमिशन का समर्थन करता है: एएससीआईआई, [[बाइनरी फ़ाइल]] और निरंतर। एक शब्द आकार वाले सिस्टम के लिए जो कि 8 बिट्स का गुणक है, बाइनरी और निरंतर का कार्यान्वयन समान है। प्रोटोकॉल उपयोगकर्ता आईडी और पासवर्ड, पदानुक्रमित फ़ोल्डर और फ़ाइल प्रबंधन (नाम बदलने, हटाने, अपलोड करने, डाउनलोड करने, अधिलेखित करने के साथ डाउनलोड करने और संलग्न के साथ डाउनलोड करने सहित) के साथ लॉगिन का भी समर्थन करता है। | ||
== | == FTP आदेश == | ||
{{Main article|List of FTP commands}} | {{Main article|List of FTP commands}} | ||
== | == FTP उत्तर कोड == | ||
{{main article| | {{main article|FTP सर्वर वापसी कोड की सूची}} | ||
नीचे | |||
नीचे FTP सर्वर रिटर्न कोड की सूची का सारांश दिया गया है जो FTP [[सर्वर (कंप्यूटिंग)]] द्वारा वापस किया जा सकता है। इन कोडों को मानकीकृत किया गया है {{IETF RFC|959}} IETF द्वारा। उत्तर कोड तीन अंकों का मान है। पहले अंक का उपयोग तीन संभावित परिणामों में से एक को इंगित करने के लिए किया जाता है — सफलता, विफलता, या किसी त्रुटि या अपूर्ण उत्तर को इंगित करने के लिए: | |||
* 2yz – सफलता का उत्तर | * 2yz – सफलता का उत्तर | ||
* 4yz या 5yz - विफल उत्तर | * 4yz या 5yz - विफल उत्तर | ||
| Line 186: | Line 189: | ||
== यह भी देखें == | == यह भी देखें == | ||
{{columns-list|colwidth=20em| | {{columns-list|colwidth=20em| | ||
* [[ | * [[FTP ग्राहक सॉफ्टवेयर की तुलना]] | ||
* [[ | * [[FTP सर्वर सॉफ्टवेयर पैकेज की तुलना]] | ||
* [[ | * [[फ़ाइल स्थानांतरण प्रोटोकॉल की तुलना]] | ||
* [[ | * [[कर्ल-लोडर]] – FTP/S खुला स्रोत सॉफ़्टवेयर लोड करना/परीक्षण करना | ||
* [[ | * [[फ़ाइल एक्सचेंज प्रोटोकॉल]] (FXP) | ||
* [[ | * [[फ़ाइल सेवा प्रोटोकॉल]] (FSP) | ||
* [[FTAM]] | * [[FTAM]] | ||
* [[FTPFS]] | * [[FTPFS]] | ||
* [[ | * [[FTP कमांड की सूची]] | ||
* [[ | * [[FTP सर्वर वापसी कोड की सूची]] | ||
* [[ | * [[प्रबंधित फ़ाइल स्थानांतरण]] | ||
* [[OBEX]] | * [[OBEX]] | ||
* [[ | * [[साझा फ़ाइल एक्सेस]] | ||
* [[TCP | * [[TCP रैपर]] | ||
}} | }} | ||
| Line 222: | Line 225: | ||
* {{IETF RFC|5797}} – (Proposed Standard) FTP Command and Extension Registry. March 2010. | * {{IETF RFC|5797}} – (Proposed Standard) FTP Command and Extension Registry. March 2010. | ||
* {{IETF RFC|7151}} – (Proposed Standard) File Transfer Protocol HOST Command for Virtual Hosts. March 2014. | * {{IETF RFC|7151}} – (Proposed Standard) File Transfer Protocol HOST Command for Virtual Hosts. March 2014. | ||
* [https://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.xhtml IANA FTP Commands and Extensions registry] – The official registry of FTP Commands and | * [https://www.iana.org/assignments/ftp-commands-extensions/ftp-commands-extensions.xhtml IANA FTP Commands and Extensions registry] – The official registry of FTP Commands and Extension | ||
== बाहरी संबंध == | == बाहरी संबंध == | ||
* {{Wikibooks-inline|Communication Networks/File Transfer Protocol}} | * {{Wikibooks-inline|Communication Networks/File Transfer Protocol}} | ||
Revision as of 16:21, 4 December 2022
| Communication protocol | |
| Purpose | File transfer |
|---|---|
| Developer(s) | Abhay Bhushan for RFC 959 |
| Introduction | April 16, 1971 |
| OSI layer | Application layer |
| Port(s) | 21 for control, 20 for data transfer |
| RFC(s) | RFC 959 |
| Internet protocol suite |
|---|
| Application layer |
| Transport layer |
| Internet layer |
| Link layer |
फाइल ट्रांसफर प्रोटोकॉल (FTP) एक मानक संचार प्रोटोकॉल है जिसका उपयोग कम्प्यूटर नेटवर्क पर सर्वर से ग्राहक तक कम्प्यूटर फाइल के हस्तांतरण के लिए किया जाता है। FTP ग्राहक-सर्वर मॉडल वास्तुकला पर ग्राहक और सर्वर के बीच अलग-अलग नियंत्रण और डेटा संबंधो का उपयोग करके बनाया गया है।[1] FTP उपयोगकर्ता स्वयं को एक स्पष्ट पाठ साइन-इन प्रोटोकॉल के साथ, सामान्य रूप से एक उपयोगकर्ता नाम और पासवर्ड के रूप में, प्रमाणित कर सकते हैं लेकिन अगर सर्वर इसे अनुमति देने के लिए कॉन्फ़िगर किया गया है तो यह अज्ञात रूप से जुड़ सकता है। सुरक्षित प्रसारण के लिए उपयोगकर्ता नाम और पासवर्ड की सुरक्षा की जाती है, और वहाँ उपलब्ध सामग्री को गोपनीय रखा जाता है। FTP प्रायः SSL/TLS (FTPS) से सुरक्षित किया जाता है या SSH फाइल ट्रांसफर प्रोटोकॉल (SFTP) के साथ बदल दिया जाता है।
पहले FTP ग्राहक एप्लिकेशन कमांड लाइन इंटरफेस थे। ऑपरेटिंग सिस्टम में ग्राफिकल यूज़र इंटरफ़ेस होने से पहले कमांड-लाइन प्रोग्राम विकसित किए गए थे, और अभी भी अधिकांश विंडोज, यूनिक्स और लिनक्स ऑपरेटिंग सिस्टम के साथ भेजे जाते हैं।[2][3]डेस्कटॉप कम्प्यूटर, सर्वर, मोबाइल डिवाइस और हार्डवेयर के लिए अनेक समर्पित FTP ग्राहक (कंप्यूटिंग) और ऑटोमेशन उपयोगिताओं को विकसित किया गया है, और FTP को HTML संपादकों और फ़ाइल प्रबंधकों जैसे उत्पादकता अनुप्रयोगों में सम्मलित किया गया है।
एक FTP ग्राहक सामान्यतः वेब ब्राउज़र में एकीकृत होता था, जहाँ फ़ाइल सर्वर को यूनिफॉर्म रिसोर्स पहचानकर्ता प्रीफ़िक्स के साथ ब्राउज़ किया जाता हैftp://. 2021 के दौरान, दो प्रमुख वेब ब्राउज़र विक्रेताओं ने इस क्षमता को हटा दिया। FTP प्रोटोकॉल के लिए सपोर्ट सबसे पहले Google Chrome 88 में जनवरी 2021 में डिसेबल किया गया था,[4] इसके बाद अप्रैल 2021 में फ़ायरफ़ॉक्स 88.0।[5] जुलाई 2021 में, Firefox 90 ने FTP को पूरी तरह से हटा दिया,[6] और Google ने अक्टूबर 2021 में सूट का पालन किया, FTP को पूरी तरह से Google Chrome 95 में हटा दिया।[7]
FTP सर्वरों का इतिहास
फाइल ट्रांसफर प्रोटोकॉल के लिए मूल विनिर्देश अभय भूषन द्वारा लिखा गया था और के रूप में प्रकाशित किया गया था RFC 114 16 अप्रैल 1971 को। 1980 तक, FTP नेटवर्क कंट्रोल प्रोटोकॉल (ARPANET) पर चलता था, जो इंटरनेट प्रोटोकॉल सूट के पूर्ववर्ती था। TCP/IP।[2]प्रोटोकॉल को बाद में एक टीसीपी/आईपी संस्करण द्वारा बदल दिया गया था, RFC 765 (जून 1980) और RFC 959 (अक्टूबर 1985), वर्तमान विनिर्देश। अनेक प्रस्तावित मानकों में संशोधन RFC 959, उदाहरण के लिए RFC 1579 (फरवरी 1994) फ़ायरवॉल-फ्रेंडली FTP (निष्क्रिय मोड) को सक्षम करता है, RFC 2228 (जून 1997) सुरक्षा विस्तार का प्रस्ताव करता है, RFC 2428 (सितंबर 1998) IPv6 के लिए समर्थन जोड़ता है और एक नए प्रकार के निष्क्रिय मोड को परिभाषित करता है।[8]
प्रोटोकॉल अवलोकन
संचार और डेटा स्थानांतरण
FTP सक्रिय या निष्क्रिय मोड में चल सकता है, जो निर्धारित करता है कि डेटा कनेक्शन कैसे स्थापित किया जाता है।[9] (मोड का यह अर्थ FTP प्रोटोकॉल में मोड कमांड से अलग है।)
- सक्रिय मोड में, ग्राहक पोर्ट एम पर सर्वर से आने वाले डेटा कनेक्शन के लिए सुनना शुरू कर देता है। यह FTP कमांड पोर्ट एम को सर्वर को सूचित करने के लिए भेजता है कि वह किस पोर्ट पर सुन रहा है। सर्वर तब अपने पोर्ट 20, FTP सर्वर डेटा पोर्ट से ग्राहक के लिए एक डेटा चैनल शुरू करता है।
- उन परिस्थितियों में जहां ग्राहक फ़ायरवॉल (कंप्यूटिंग) के पीछे है और आने वाले टीसीपी कनेक्शन को स्वीकार करने में असमर्थ है, निष्क्रिय मोड का उपयोग किया जा सकता है। इस मोड में, ग्राहक सर्वर को PASV कमांड भेजने के लिए कंट्रोल कनेक्शन का उपयोग करता है और फिर सर्वर से एक सर्वर आईपी एड्रेस और सर्वर पोर्ट नंबर प्राप्त करता है,[9]जिसके बाद ग्राहक एक मनमाना ग्राहक पोर्ट से सर्वर आईपी एड्रेस और सर्वर पोर्ट नंबर प्राप्त करने के लिए डेटा कनेक्शन खोलने के लिए उपयोग करता है।[10]
IPv6 का समर्थन करने के लिए सितंबर 1998 में दोनों मोड अपडेट किए गए थे। उस समय पैसिव मोड में और बदलाव किए गए, इसे विस्तारित पैसिव मोड में अपडेट किया गया।[11] सर्वर FTP सर्वर रिटर्न कोड की सूची के साथ नियंत्रण कनेक्शन पर प्रतिक्रिया करता है | ASCII में तीन अंकों की स्थिति कोड एक वैकल्पिक पाठ संदेश के साथ। उदाहरण के लिए, 200 (या 200 OK ) का अर्थ है कि अंतिम आदेश सफल रहा। संख्याएं प्रतिक्रिया के लिए कोड का प्रतिनिधित्व करती हैं और वैकल्पिक पाठ मानव-पठनीय स्पष्टीकरण या अनुरोध का प्रतिनिधित्व करता है (उदाहरण के लिए <फाइल को संग्रहीत करने के लिए खाते की आवश्यकता है>)।[1]नियंत्रण कनेक्शन पर भेजे गए बाधा संदेश का उपयोग करके डेटा कनेक्शन पर फ़ाइल डेटा के चल रहे स्थानांतरण को निरस्त किया जा सकता है।
FTP को दो बंदरगाहों की आवश्यकता होती है (एक भेजने के लिए और एक प्राप्त करने के लिए) क्योंकि इसे मूल रूप से नेटवर्क कंट्रोल प्रोटोकॉल (एआरपीएएनईटी) (एनसीपी) के शीर्ष पर संचालित करने के लिए डिज़ाइन किया गया था, जो एक सरल संचार था जो टीसीपी और यूडीपी पोर्ट नंबरों की दो सूची का उपयोग करता था, स्थापित करता था दो तरह से संचार के लिए दो कनेक्शन। प्रत्येक अनुप्रयोग परत एप्लिकेशन या प्रोटोकॉल के लिए एक विषम और एक समान पोर्ट आरक्षित किया गया था। टीसीपी और यूडीपी के मानकीकरण ने प्रत्येक एप्लिकेशन के लिए दो सिम्प्लेक्स पोर्ट के उपयोग की आवश्यकता को एक डुप्लेक्स पोर्ट तक कम कर दिया,[12]: 15 लेकिन FTP प्रोटोकॉल को कभी भी केवल एक पोर्ट का उपयोग करने के लिए नहीं बदला गया था, और पश्चगामी संगतता के लिए दो का उपयोग करना जारी रखा।
एनएटी और फ़ायरवॉल ट्रैवर्सल
ग्राहक द्वारा PORT कमांड भेजे जाने के बाद FTP सामान्य रूप से सर्वर को ग्राहक से वापस कनेक्ट करके डेटा ट्रांसफर करता है। यह नेवोर्क पता अनुवादन और फायरवॉल दोनों के लिए समस्याग्रस्त है, जो इंटरनेट से आंतरिक होस्ट की ओर कनेक्शन की अनुमति नहीं देते हैं।[13] NATs के लिए, एक अतिरिक्त जटिलता यह है कि PORT कमांड में IP पतों और पोर्ट नंबर का प्रतिनिधित्व सार्वजनिक IP पते और NAT के पोर्ट के बजाय आंतरिक होस्ट के IP पते और पोर्ट को संदर्भित करता है।
इस समस्या को हल करने के लिए दो दृष्टिकोण हैं। एक यह है कि FTP ग्राहक और FTP सर्वर PASV कमांड का उपयोग करते हैं, जिसके कारण FTP ग्राहक से सर्वर तक डेटा कनेक्शन स्थापित हो जाता है।[13]यह आधुनिक FTP ग्राहकों द्वारा व्यापक रूप से उपयोग किया जाता है। इस उद्देश्य के लिए एक एप्लिकेशन-लेवल गेटवे का उपयोग करते हुए NAT के लिए PORT कमांड के मूल्यों को बदलने के लिए एक और तरीका है।[13]
डेटा प्रकार
नेटवर्क पर डेटा स्थानांतरित करते समय, चार डेटा प्रकारों को परिभाषित किया जाता है:[2][3][8]* ASCII (टाइप ए): टेक्स्ट के लिए उपयोग किया जाता है। यदि आवश्यक हो, तो भेजने वाले मेजबान के चरित्र प्रतिनिधित्व से विस्तारित ASCII | में डेटा परिवर्तित किया जाता है ट्रांसमिशन से पहले 8-बिट ASCII, और (फिर से, यदि आवश्यक हो) प्राप्त करने वाले मेजबान के चरित्र प्रतिनिधित्व के लिए, नई पंक्ति सहित। परिणामस्वरूप, यह मोड उन फ़ाइलों के लिए अनुपयुक्त है जिनमें ASCII के अलावा अन्य डेटा सम्मलित है।
- इमेज (टाइप I, जिसे सामान्यतः बाइनरी डेटा मोड कहा जाता है): भेजने वाली मशीन प्रत्येक फ़ाइल को बाइट द्वारा बाइट भेजती है, और प्राप्तकर्ता इसे प्राप्त करते ही bytstream को स्टोर कर लेता है। (FTP के सभी कार्यान्वयनों के लिए छवि मोड समर्थन की सिफारिश की गई है)।
- EBCDIC (टाइप ई): ईबीसीडीआईसी कैरेक्टर सेट का उपयोग कर मेजबानों के बीच सादे पाठ के लिए प्रयुक्त।
- स्थानीय (टाइप एल एन): मशीनों के बीच फ़ाइल स्थानांतरण का समर्थन करने के लिए डिज़ाइन किया गया है जो 8-बिट बाइट्स का उपयोग नहीं करते हैं, उदा। 36-बिट कंप्यूटिंग | 36-बिट सिस्टम जैसे DEC PDP-10s। उदाहरण के लिए, TYPE L 9 का उपयोग 9-बिट बाइट में डेटा स्थानांतरित करने के लिए किया जाएगा, या TYPE L 36 का उपयोग 36-बिट शब्दों को स्थानांतरित करने के लिए किया जाएगा। अधिकांश समकालीन FTP ग्राहक/सर्वर केवल L 8 का समर्थन करते हैं, जो I के समतुल्य है।
- UTF-8 (TYPE U) का उपयोग करने वाली यूनिकोड टेक्स्ट फ़ाइलें: एक समय सीमा समाप्त इंटरनेट ड्राफ्ट में परिभाषित[14] जो कभी भी RFC नहीं बना, हालाँकि इसे अनेक FTP ग्राहक/सर्वर द्वारा लागू किया गया है।
ध्यान दें कि इन डेटा प्रकारों को सामान्यतः मोड कहा जाता है, हालांकि अस्पष्ट रूप से उस शब्द का उपयोग सक्रिय-बनाम-निष्क्रिय संचार मोड (ऊपर देखें), और FTP प्रोटोकॉल मोड कमांड द्वारा निर्धारित मोड (नीचे देखें) के संदर्भ में भी किया जाता है।
पाठ फ़ाइलों (टाइप ए और टाइप ई) के लिए, फ़ाइल को प्रिंट करने के तरीके को नियंत्रित करने के लिए तीन अलग-अलग प्रारूप नियंत्रण विकल्प प्रदान किए जाते हैं:
- गैर-प्रिंट (टाइप ए एन और टाइप ई एन) - फ़ाइल में प्रिंटर के लिए कोई कैरेज नियंत्रण वर्ण नहीं है
- टेलनेट (TYPE A T और TYPE E T) - फ़ाइल में टेलनेट (या दूसरे शब्दों में, ASCII C0) कैरेज कंट्रोल कैरेक्टर (CR, LF, आदि) सम्मलित हैं।
- एएसए कैरिज नियंत्रण वर्ण (टाइप ए ए और टाइप ईए) - फाइल में एएसए कैरिज कंट्रोल कैरेक्टर हैं
ये प्रारूप मुख्य रूप से लाइन प्रिंटर के लिए प्रासंगिक थे; अधिकांश समकालीन FTP ग्राहक/सर्वर केवल एन के डिफ़ॉल्ट प्रारूप नियंत्रण का समर्थन करते हैं।
फ़ाइल संरचना
फ़ाइल संगठन को STRU कमांड का उपयोग करके निर्दिष्ट किया गया है। निम्नलिखित फ़ाइल संरचनाएँ RFC959 के खंड 3.1.1 में परिभाषित हैं:
- एफ या फ़ाइल संरचना (धारा-उन्मुख)। फ़ाइलों को बाइट्स, वर्णों या शब्दों के मनमाने अनुक्रम के रूप में देखा जाता है। यूनिक्स सिस्टम और अन्य सिस्टम जैसे सीपी/एम, एमएस-डॉस और माइक्रोसॉफ्ट विंडोज पर यह सामान्य फ़ाइल संरचना है। (धारा 3.1.1.1)
- आर या रिकॉर्ड संरचना (रिकॉर्ड-उन्मुख)। फाइलों को रिकॉर्ड में विभाजित के रूप में देखा जाता है, जो निश्चित या परिवर्तनीय लंबाई हो सकती है। यह फाइल संगठन मेनफ्रेम और मिडरेंज सिस्टम पर आम है, जैसे एमवीएस, वीएम/सीएमएस, ओएस/400 और वीएमएस, जो रिकॉर्ड-उन्मुख फ़ाइल सिस्टम सिस्टम का समर्थन करते हैं।
- पी या पृष्ठ संरचना (पृष्ठ-उन्मुख)। फ़ाइलें पृष्ठों में विभाजित होती हैं, जिनमें या तो डेटा या मेटाडेटा हो सकता है; प्रत्येक पृष्ठ में विभिन्न विशेषताएँ देने वाला एक हेडर भी हो सकता है। यह फ़ाइल संरचना विशेष रूप से टेनेक्स (ऑपरेटिंग सिस्टम) सिस्टम के लिए डिज़ाइन की गई थी, और सामान्यतः अन्य प्लेटफॉर्म पर समर्थित नहीं है। RFC1123 खंड 4.1.2.3 अनुशंसा करता है कि इस संरचना को लागू नहीं किया जाना चाहिए।
अधिकांश समकालीन FTP ग्राहक और सर्वर केवल STRU F का समर्थन करते हैं। STRU R अभी भी मेनफ्रेम और मिनीकम्प्यूटर फ़ाइल स्थानांतरण अनुप्रयोगों में उपयोग में है।
डेटा ट्रांसफर मोड
डेटा ट्रांसफर तीन में से किसी भी मोड में किया जा सकता है:[1][2]* स्ट्रीम मोड (MODE S): डेटा को एक सतत स्ट्रीम के रूप में भेजा जाता है, जिससे FTP को कोई भी प्रोसेसिंग करने से राहत मिलती है। बल्कि, सभी प्रोसेसिंग को ट्रांसमिशन कंट्रोल प्रोटोकॉल पर छोड़ दिया गया है। जब तक डेटा को रिकॉर्ड (कम्प्यूटर साइंस) में विभाजित नहीं किया जाता है, तब तक किसी एंड-ऑफ-फाइल इंडिकेटर की आवश्यकता नहीं होती है।
- ब्लॉक मोड (मोड बी): मुख्य रूप से रिकॉर्ड-ओरिएंटेड फाइलों (एसटीआरयू आर) को स्थानांतरित करने के लिए डिज़ाइन किया गया है, हालांकि इसका उपयोग स्ट्रीम-ओरिएंटेड (एसटीआरयू एफ) टेक्स्ट फाइलों को स्थानांतरित करने के लिए भी किया जा सकता है। FTP डेटा के प्रत्येक रिकॉर्ड (या लाइन) को अनेक ब्लॉक (ब्लॉक हेडर, बाइट काउंट और डेटा फ़ील्ड) में डालता है और फिर इसे टीसीपी पर भेजता है।[8]* कंप्रेस्ड मोड (MODE C): रन-लेंथ एन्कोडिंग का उपयोग करके डेटा कंप्रेशन के साथ मोड B को बढ़ाता है।
अधिकांश समकालीन FTP ग्राहक और सर्वर मोड बी या मोड सी लागू नहीं करते हैं; मेनफ्रेम और मिनीकम्प्यूटर ऑपरेटिंग सिस्टम के लिए FTP ग्राहक और सर्वर इसके अपवाद हैं।
कुछ FTP सॉफ़्टवेयर डिफलेट-आधारित संपीड़ित मोड को भी लागू करते हैं, जिसे कभी-कभी कमांड के बाद मोड जेड कहा जाता है जो इसे सक्षम करता है। इस मोड को इंटरनेट ड्राफ्ट में वर्णित किया गया था, लेकिन मानकीकृत नहीं किया गया था।[15] ग्रिडFTP अतिरिक्त मोड को परिभाषित करता है, मोड ई[16] और मोड एक्स,[17] मोड बी के विस्तार के रूप में।
अतिरिक्त आदेश
FTP के अधिक हालिया कार्यान्वयन संशोधित तथ्य का समर्थन करते हैं: संशोधन समय (एमएफएमटी) कमांड, जो ग्राहक को फ़ाइल अपलोड करते समय उस विशेषता के संरक्षण को सक्षम करने के लिए उस फ़ाइल विशेषता को दूरस्थ रूप से समायोजित करने की अनुमति देता है।[18][19] दूरस्थ फ़ाइल टाइमस्टैम्प को पुनः प्राप्त करने के लिए, MDTM कमांड है। कुछ सर्वर (और ग्राहक) दो तर्कों के साथ MDTM कमांड के गैर-मानक सिंटैक्स का समर्थन करते हैं, जो MFMT की तरह ही काम करता है[20]
लॉगिन
FTP लॉगिन पहुँच प्रदान करने के लिए सामान्य उपयोगकर्ता नाम और पासवर्ड योजना का उपयोग करता है।[2]उपयोगकर्ता नाम USER कमांड का उपयोग करके सर्वर को भेजा जाता है, और PASS कमांड का उपयोग करके पासवर्ड भेजा जाता है।[2]यह अनुक्रम तार पर अनएन्क्रिप्टेड है, इसलिए नेटवर्क स्नीफिंग हमले के लिए असुरक्षित हो सकता है।[21] यदि ग्राहक द्वारा प्रदान की गई जानकारी सर्वर द्वारा स्वीकार कर ली जाती है, तो सर्वर ग्राहक को ग्रीटिंग भेजेगा और सत्र शुरू हो जाएगा।[2]यदि सर्वर इसका समर्थन करता है, तो उपयोगकर्ता लॉगिन प्रमाणिकता प्रदान किए बिना लॉग इन कर सकते हैं, लेकिन वही सर्वर ऐसे सत्रों के लिए केवल सीमित पहुंच को अधिकृत कर सकता है।[2]
अनाम FTP
एक होस्ट जो FTP सेवा प्रदान करता है, गुमनामी FTP एक्सेस प्रदान कर सकता है।[2]उपयोगकर्ता नाम के लिए संकेत दिए जाने पर उपयोगकर्ता सामान्यतः 'अनाम' (कुछ FTP सर्वरों में लोअर-केस और केस-संवेदी) खाते के साथ सेवा में लॉग इन करते हैं। हालांकि उपयोगकर्ताओं को सामान्यतः पासवर्ड के बजाय अपना ईमेल पता भेजने के लिए कहा जाता है,[3] आपूर्ति किए गए डेटा पर वास्तव में कोई सत्यापन नहीं किया जाता है।[22] अनेक FTP होस्ट जिनका उद्देश्य सॉफ़्टवेयर अपडेट प्रदान करना है, अनाम लॉगिन की अनुमति देंगे।[3]
== HTTP == से अंतर
हाइपरटेक्स्ट ट्रांसफ़र प्रोटोकॉल अनिवार्य रूप से FTP में उन बगों को ठीक करता है जो वेब पेजों में सामान्य रूप से अनेक छोटे अस्थायी स्थानांतरणों के लिए उपयोग करने में असुविधाजनक बनाते हैं।
FTP में एक स्टेटफुल कंट्रोल कनेक्शन होता है जो एक वर्तमान कार्यशील निर्देशिका और अन्य झंडों को बनाए रखता है, और प्रत्येक स्थानांतरण के लिए एक द्वितीयक कनेक्शन की आवश्यकता होती है जिसके माध्यम से डेटा स्थानांतरित किया जाता है। निष्क्रिय मोड में यह द्वितीयक कनेक्शन ग्राहक से सर्वर तक होता है, जबकि डिफ़ॉल्ट सक्रिय मोड में यह कनेक्शन सर्वर से ग्राहक तक होता है। सक्रिय मोड में होने पर यह स्पष्ट भूमिका उलट जाती है, और सभी स्थानांतरणों के लिए यादृच्छिक पोर्ट नंबर, यही कारण है कि फायरवॉल और एनएटी गेटवे के पास FTP के साथ इतना कठिन समय है। एचटीटीपी स्टेटलेस प्रोटोकॉल है और मल्टीप्लेक्स नियंत्रण और डेटा को ग्राहक से सर्वर तक जाने-माने पोर्ट नंबरों पर एकल कनेक्शन पर रखता है, जो एनएटी गेटवे से गुजरता है और फायरवॉल के प्रबंधन के लिए सरल है।
सभी आवश्यक आदेशों को भेजने और प्रतिक्रियाओं की प्रतीक्षा करने की राउंड-ट्रिप देरी के कारण एक FTP नियंत्रण कनेक्शन स्थापित करना काफी धीमा है, इसलिए यह एक नियंत्रण कनेक्शन लाने के लिए प्रथागत है और ड्रॉप और री के बजाय इसे अनेक फाइल ट्रांसफर के लिए खुला रखता है। -सत्र को हर बार नए सिरे से स्थापित करें। इसके विपरीत, HTTP मूल रूप से प्रत्येक स्थानांतरण के बाद कनेक्शन छोड़ देता है क्योंकि ऐसा करना इतना सस्ता था। जबकि HTTP ने बाद में एकाधिक स्थानान्तरण के लिए टीसीपी कनेक्शन का पुन: उपयोग करने की क्षमता प्राप्त की है, अवधारणात्मक मॉडल अभी भी एक सत्र के बजाय स्वतंत्र अनुरोधों का है।
जब FTP डेटा कनेक्शन पर स्थानांतरित हो रहा है, नियंत्रण कनेक्शन निष्क्रिय है। यदि स्थानांतरण में बहुत अधिक समय लगता है, तो फ़ायरवॉल या NAT यह तय कर सकता है कि नियंत्रण कनेक्शन मर चुका है और प्रभावी रूप से कनेक्शन को तोड़कर और डाउनलोड को भ्रमित करते हुए इसे ट्रैक करना बंद कर सकता है। एकल HTTP कनेक्शन अनुरोधों के बीच केवल निष्क्रिय है और यह सामान्य है और टाइम-आउट के बाद ऐसे कनेक्शनों को छोड़ दिया जाना अपेक्षित है।
सॉफ्टवेयर समर्थन
वेब ब्राउज़र
अधिकांश सामान्य वेब ब्राउज़र FTP सर्वर पर होस्ट की गई फ़ाइलों को पुनः प्राप्त कर सकते हैं, हालाँकि वे FTPS जैसे प्रोटोकॉल एक्सटेंशन का समर्थन नहीं कर सकते हैं।[3][23] जब एक HTTP—URL के बजाय एक FTP—की आपूर्ति की जाती है, तो दूरस्थ सर्वर पर पहुंच योग्य सामग्री को अन्य वेब सामग्री के लिए उपयोग किए जाने वाले तरीके के समान प्रस्तुत किया जाता है। FireFTP एक ब्राउज़र एक्सटेंशन है जिसे एक पूर्ण विशेषताओं वाले FTP ग्राहक के रूप में डिज़ाइन किया गया है, इसे अतीत में फ़ायर्फ़ॉक्स के भीतर चलाया जा सकता था, लेकिन अब यह वाटरफॉक्स के साथ काम करने की सलाह देता है।
Google क्रोम ने क्रोम 88 में पूरी तरह से FTP समर्थन हटा दिया।[24] 2019 तक, मोज़िला प्रस्तावों पर चर्चा कर रहा था, जिसमें केवल पुराने FTP कार्यान्वयन के लिए समर्थन को हटाना सम्मलित था जो अब उनके कोड को सरल बनाने के लिए उपयोग में नहीं हैं।[25][7]अप्रैल, 2021 में, मोज़िला ने फ़ायरफ़ॉक्स 88.0 जारी किया, जिसने डिफ़ॉल्ट रूप से FTP समर्थन को अक्षम कर दिया।[26] जुलाई 2021 में, Firefox 90 ने FTP समर्थन पूरी तरह से बंद कर दिया।[6]
सिंटेक्स
FTP URL सिंटैक्स में वर्णित है RFC 1738, रूप लेना: ftp://[user[:password]@]host[:port]/url-path (ब्रैकेट वाले हिस्से वैकल्पिक हैं)।
उदाहरण के लिए, URL ftp://public.ftp-servers.example.com/mydirectory/myfile.txt सर्वर public.ftp-server पर निर्देशिका mydirectory से फ़ाइल myfile.txt का प्रतिनिधित्व करता है। example.com एक FTP संसाधन के रूप में। URL ftp://user001:secretpassword@pStreet.ftp-servers.example.com/mydirectory/myfile.txt उपयोगकर्ता नाम और पासवर्ड का एक विनिर्देश जोड़ता है जिसका उपयोग इस संसाधन तक पहुंचने के लिए किया जाना चाहिए।
उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करने के बारे में अधिक विवरण ब्राउज़र के दस्तावेज़ीकरण में मिल सकते हैं (उदाहरण के लिए, Firefox[27] और इंटरनेट एक्स्प्लोरर[28]). डिफ़ॉल्ट रूप से, अधिकांश वेब ब्राउज़र निष्क्रिय (PASV) मोड का उपयोग करते हैं, जो एंड-यूज़र फायरवॉल को अधिक आसानी से पार करता है।
कुछ भिन्नताएं मौजूद हैं कि विभिन्न ब्राउज़र उन मामलों में पथ समाधान का इलाज कैसे करते हैं जहां उपयोगकर्ता के लिए गैर-रूट होम निर्देशिका है।[29]
डाउनलोड प्रबंधक
अधिकांश सामान्य डाउनलोड प्रबंधक FTP सर्वरों पर होस्ट की गई फ़ाइलों को प्राप्त कर सकते हैं, जबकि उनमें से कुछ FTP सर्वरों पर होस्ट की गई फ़ाइलों को पुनः प्राप्त करने के लिए इंटरफ़ेस भी प्रदान करते हैं। DownloadStudio न केवल FTP सर्वर से फाइल अधःभारण प्रबंधक की अनुमति देता है बल्कि FTP सर्वर पर फाइलों की सूची भी देखता है।[30]
अन्य
लिब्रे ऑफिस FTP सर्वर से फ़ाइल खोलने का समर्थन करता है, लेकिन 7.4 रिलीज़ से, इस सुविधा को बहिष्कृत कर दिया गया है, और डेवलपर्स इसे भविष्य के संस्करण में हटाने का इरादा रखते हैं।[31]
सुरक्षा
FTP को एक सुरक्षित प्रोटोकॉल के रूप में डिज़ाइन नहीं किया गया था, और इसमें अनेक सुरक्षा कमजोरियाँ हैं।[32] मई 1999 में, के लेखक RFC 2577 निम्नलिखित समस्याओं के लिए एक भेद्यता सूचीबद्ध:
- पशु बल का आक्रमण
- FTP उछाल हमला
- पैकेट कैप्चर
- पोर्ट चोरी (अगले खुले पोर्ट का अनुमान लगाना और वैध कनेक्शन को हड़पना)
- स्पूफिंग हमला
- उपयोगकर्ता नाम गणना
- सर्विस अटैक से इनकार
FTP अपने ट्रैफ़िक को एन्क्रिप्ट नहीं करता है; सभी प्रसारण स्पष्ट पाठ में हैं, और उपयोगकर्ता नाम, पासवर्ड, आदेश और डेटा नेटवर्क पर पैकेट कैप्चर (पैकेट विश्लेषक) करने में सक्षम किसी के द्वारा पढ़ा जा सकता है।[2][32]यह समस्या अनेक इंटरनेट प्रोटोकॉल विनिर्देशों (जैसे एसएमटीपी, टेलनेट, पोस्ट ऑफिस प्रोटोकॉल और इंटरनेट संदेश एक्सेस प्रोटोकॉल) के लिए आम है, जिन्हें परिवहन परत सुरक्षा या एसएसएल जैसे एन्क्रिप्शन तंत्र के निर्माण से पहले डिजाइन किया गया था।[8]
इस समस्या के सामान्य समाधानों में सम्मलित हैं:
- असुरक्षित प्रोटोकॉल के सुरक्षित संस्करणों का उपयोग करना, उदाहरण के लिए, FTP के बजाय FTPS और Telnet के बजाय TelnetS।
- एक अलग, अधिक सुरक्षित प्रोटोकॉल का उपयोग करना जो कार्य को संभाल सकता है, उदा। SSH फाइल ट्रांसफर प्रोटोकॉल या सुरक्षित कॉपी प्रोटोकॉल।
- सुरक्षित खोल (एसएसएच) या वर्चुअल प्राइवेट नेटवर्क (वीपीएन) जैसी सुरक्षित सुरंग का उपयोग करना।
एसएसएच पर FTP
एसएसएच पर FTP एक सामान्य FTP सत्र को एक सुरक्षित शेल कनेक्शन पर सुरंग बनाने का अभ्यास है।[32]क्योंकि FTP अनेक ट्रांसमिशन कंट्रोल प्रोटोकॉल कनेक्शन (एक टीसीपी / आईपी प्रोटोकॉल के लिए असामान्य है जो अभी भी उपयोग में है) का उपयोग करता है, एसएसएच पर सुरंग बनाना विशेष रूप से कठिन है। अनेक एसएसएच ग्राहकों के साथ, नियंत्रण चैनल के लिए एक सुरंग स्थापित करने का प्रयास (पोर्ट 21 पर प्रारंभिक ग्राहक-टू-सर्वर कनेक्शन) केवल उस चैनल की रक्षा करेगा; जब डेटा स्थानांतरित किया जाता है, तो FTP सॉफ्टवेयर या तो नए टीसीपी कनेक्शन (डेटा चैनल) सेट करता है और इस प्रकार कोई गोपनीयता या अखंडता सुरक्षा नहीं होती है।
अन्यथा, SSH ग्राहक सॉफ़्टवेयर के लिए FTP प्रोटोकॉल का विशिष्ट ज्ञान होना, FTP नियंत्रण चैनल संदेशों की निगरानी और पुनर्लेखन करना और FTP डेटा चैनलों के लिए नए पैकेट अग्रेषण को स्वायत्त रूप से खोलना आवश्यक है। इस मोड का समर्थन करने वाले सॉफ़्टवेयर पैकेज में सम्मलित हैं:
- टेक्टिया कनेक्टसिक्योर (विन/लिनक्स/यूनिक्स)[33] SSH संचार सुरक्षा सॉफ़्टवेयर सुइट का
डेरिवेटिव्स
एफटीपीएस
स्पष्ट एफटीपीएस FTP मानक का एक विस्तार है जो ग्राहकों को FTP सत्रों को एन्क्रिप्ट करने का अनुरोध करने की अनुमति देता है। यह AUTH TLS कमांड भेजकर किया जाता है। सर्वर के पास उन कनेक्शनों को अनुमति देने या अस्वीकार करने का विकल्प होता है जो टीएलएस का अनुरोध नहीं करते हैं। यह प्रोटोकॉल एक्सटेंशन में परिभाषित किया गया है RFC 4217. निहित एफटीपीएस FTP के लिए एक पुराना मानक है जिसके लिए एसएसएल या टीएलएस कनेक्शन के उपयोग की आवश्यकता होती है। यह सादा FTP की तुलना में विभिन्न बंदरगाहों का उपयोग करने के लिए निर्दिष्ट किया गया था।
SSH फाइल ट्रांसफर प्रोटोकॉल
SSH फ़ाइल स्थानांतरण प्रोटोकॉल (कालानुक्रमिक रूप से दो प्रोटोकॉल संक्षिप्त SFTP में से दूसरा) फ़ाइलों को स्थानांतरित करता है और उपयोगकर्ताओं के लिए एक समान कमांड सेट करता है, लेकिन फ़ाइलों को स्थानांतरित करने के लिए सिक्योर शेल प्रोटोकॉल (SSH) का उपयोग करता है। FTP के विपरीत, यह कमांड और डेटा दोनों को एन्क्रिप्ट करता है, पासवर्ड और संवेदनशील जानकारी को नेटवर्क पर खुले तौर पर प्रसारित होने से रोकता है। यह FTP सॉफ़्टवेयर के साथ इंटरऑपरेट नहीं कर सकता है, हालाँकि कुछ FTP ग्राहक सॉफ़्टवेयर SSH फ़ाइल स्थानांतरण प्रोटोकॉल के लिए भी समर्थन प्रदान करते हैं।
तुच्छ फ़ाइल स्थानांतरण प्रोटोकॉल
ट्रिवियल फाइल ट्रांसफर प्रोटोकॉल (TFTP) एक सरल, लॉक-स्टेप FTP है जो ग्राहक को एक फ़ाइल प्राप्त करने या एक फ़ाइल को दूरस्थ होस्ट पर रखने की अनुमति देता है। इसका एक प्राथमिक उपयोग नेटवर्क बूटिंग के शुरुआती चरणों में है, क्योंकि TFTP को लागू करना बहुत आसान है। TFTP में सुरक्षा का अभाव है और अधिक मजबूत फ़ाइल स्थानांतरण प्रोटोकॉल जैसे फ़ाइल स्थानांतरण प्रोटोकॉल द्वारा प्रदान की जाने वाली अधिकांश उन्नत सुविधाएँ। TFTP को पहली बार 1981 में मानकीकृत किया गया था और प्रोटोकॉल के लिए वर्तमान विनिर्देश में पाया जा सकता है RFC 1350.
सरल फ़ाइल स्थानांतरण प्रोटोकॉल
सिंपल फाइल ट्रांसफर प्रोटोकॉल (पहला प्रोटोकॉल संक्षिप्त एसएफटीपी), जैसा कि परिभाषित किया गया है RFC 913, TFTP और FTP के बीच जटिलता मध्यवर्ती स्तर के साथ एक (असुरक्षित) फ़ाइल स्थानांतरण प्रोटोकॉल के रूप में प्रस्तावित किया गया था। इसे इंटरनेट पर कभी भी व्यापक रूप से स्वीकार नहीं किया गया था, और अब इसे इंटरनेट इंजीनियरिंग टास्क फोर्स द्वारा ऐतिहासिक दर्जा दिया गया है। यह पोर्ट 115 के माध्यम से चलता है, और प्रायः SFTP का आद्याक्षर प्राप्त करता है। इसमें 11 कमांड का कमांड सेट है और तीन प्रकार के डेटा ट्रांसमिशन का समर्थन करता है: एएससीआईआई, बाइनरी फ़ाइल और निरंतर। एक शब्द आकार वाले सिस्टम के लिए जो कि 8 बिट्स का गुणक है, बाइनरी और निरंतर का कार्यान्वयन समान है। प्रोटोकॉल उपयोगकर्ता आईडी और पासवर्ड, पदानुक्रमित फ़ोल्डर और फ़ाइल प्रबंधन (नाम बदलने, हटाने, अपलोड करने, डाउनलोड करने, अधिलेखित करने के साथ डाउनलोड करने और संलग्न के साथ डाउनलोड करने सहित) के साथ लॉगिन का भी समर्थन करता है।
FTP आदेश
FTP उत्तर कोड
नीचे FTP सर्वर रिटर्न कोड की सूची का सारांश दिया गया है जो FTP सर्वर (कंप्यूटिंग) द्वारा वापस किया जा सकता है। इन कोडों को मानकीकृत किया गया है RFC 959 IETF द्वारा। उत्तर कोड तीन अंकों का मान है। पहले अंक का उपयोग तीन संभावित परिणामों में से एक को इंगित करने के लिए किया जाता है — सफलता, विफलता, या किसी त्रुटि या अपूर्ण उत्तर को इंगित करने के लिए:
- 2yz – सफलता का उत्तर
- 4yz या 5yz - विफल उत्तर
- 1yz या 3yz - त्रुटि या अधूरा उत्तर
दूसरा अंक त्रुटि के प्रकार को परिभाषित करता है:
- x0z - सिंटेक्स। ये उत्तर सिंटैक्स त्रुटियों को संदर्भित करते हैं।
- x1z - सूचना। सूचना के अनुरोधों के उत्तर।
- x2z - कनेक्शन। नियंत्रण और डेटा कनेक्शन के संदर्भ में उत्तर।
- x3z - प्रमाणीकरण और लेखा। लॉगिन प्रक्रिया और लेखा प्रक्रियाओं के लिए उत्तर।
- x4z - परिभाषित नहीं।
- x5z - फाइल सिस्टम। ये सर्वर फाइल सिस्टम से रिले स्टेटस कोड का जवाब देते हैं।
उत्तर कोड के तीसरे अंक का उपयोग दूसरे अंक द्वारा परिभाषित प्रत्येक श्रेणी के लिए अतिरिक्त विवरण प्रदान करने के लिए किया जाता है।
यह भी देखें
- FTP ग्राहक सॉफ्टवेयर की तुलना
- FTP सर्वर सॉफ्टवेयर पैकेज की तुलना
- फ़ाइल स्थानांतरण प्रोटोकॉल की तुलना
- कर्ल-लोडर – FTP/S खुला स्रोत सॉफ़्टवेयर लोड करना/परीक्षण करना
- फ़ाइल एक्सचेंज प्रोटोकॉल (FXP)
- फ़ाइल सेवा प्रोटोकॉल (FSP)
- FTAM
- FTPFS
- FTP कमांड की सूची
- FTP सर्वर वापसी कोड की सूची
- प्रबंधित फ़ाइल स्थानांतरण
- OBEX
- साझा फ़ाइल एक्सेस
- TCP रैपर
संदर्भ
- ↑ 1.0 1.1 1.2 Forouzan, B.A. (2000). टीसीपी / आईपी: प्रोटोकॉल सूट (1st ed.). New Delhi, India: Tata McGraw-Hill Publishing Company Limited.
- ↑ 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Kozierok, Charles M. (2005). "टीसीपी/आईपी गाइड v3.0". Tcpipguide.com.
- ↑ 3.0 3.1 3.2 3.3 3.4 Dean, Tamara (2010). नेटवर्क + नेटवर्क के लिए गाइड. Delmar. pp. 168–171.
- ↑ "Chrome 87 में बहिष्करण और निष्कासन". Retrieved 18 November 2020.
- ↑ "Firefox 88.0, सभी नई सुविधाएँ, अद्यतन और सुधार देखें". Retrieved 23 April 2021.
- ↑ 6.0 6.1 Vonau, Manuel (7 July 2021). "फ़ायरफ़ॉक्स क्रोम के नक्शेकदम पर चलता है और एफ़टीपी समर्थन को छोड़ देता है (एपीके डाउनलोड)". Android Police (in English). Retrieved 12 July 2021.
{{cite web}}: CS1 maint: url-status (link) - ↑ 7.0 7.1 "एफ़टीपी समर्थन हटाएं - क्रोम प्लेटफ़ॉर्म स्थिति". www.chromestatus.com. Retrieved 2 September 2021.
- ↑ 8.0 8.1 8.2 8.3 Clark, M.P. (2003). डेटा नेटवर्क आईपी और इंटरनेट (1st ed.). West Sussex, England: John Wiley & Sons Ltd.
- ↑ 9.0 9.1 "सक्रिय एफ़टीपी बनाम निष्क्रिय एफ़टीपी, एक निश्चित व्याख्या". Slacksite.com.
- ↑ RFC 959 (Standard) File Transfer Protocol (FTP). Postel, J. & Reynolds, J. (October 1985).
- ↑ RFC 2428 (Proposed Standard) Extensions for IPv6, NAT, and Extended Passive Mode. Allman, M. & Metz, C. & Ostermann, S. (September 1998).
- ↑ Stevens, W. Richard (1994). टीसीपी/आईपी इलस्ट्रेटेड वॉल्यूम I. Vol. 1. Reading, Massachusetts, USA: Addison-Wesley Publishing Company. ISBN 0-201-63346-9.
- ↑ 13.0 13.1 13.2 Gleason, Mike (2005). "फ़ाइल स्थानांतरण प्रोटोकॉल और आपका फ़ायरवॉल/NAT". Ncftp.com.
- ↑ Klensin, John. अंतर्राष्ट्रीयकृत पाठ के लिए FTP TYPE एक्सटेंशन. I-D draft-klensin-ftpext-typeu-00. Retrieved 9 June 2020.
- ↑ Preston, J. (January 2005). एफटीपी के लिए डिफ्लेट ट्रांसमिशन मोड. IETF. I-D draft-preston-ftpext-deflate-03. Retrieved 27 January 2016.
- ↑ Allcock, W. (April 2003). "GridFTP: ग्रिड के लिए एफ़टीपी के लिए प्रोटोकॉल एक्सटेंशन" (PDF).
- ↑ Mandrichenko, I. (4 May 2005). "ग्रिडएफटीपी v2 प्रोटोकॉल विवरण" (PDF).
- ↑ "एमएफएमटी एफ़टीपी कमांड". support.solarwinds.com. 11 October 2018.
- ↑ "FTP कमांड: DSIZ, MFCT, MFMT, AVBL, PASS, XPWD, XMKD | Serv-U". www.serv-u.com (in English).
- ↑ "एमडीटीएम एफ़टीपी कमांड". support.solarwinds.com. 11 October 2018.
- ↑ Prince, Brian. "क्या संगठनों को सुरक्षा के लिए एफ़टीपी बंद कर देना चाहिए?". Security Week. Security Week. Retrieved 14 September 2017.
- ↑ RFC 1635 (Informational) How to Use Anonymous FTP. P. & Emtage, A. & Marine, A. (May 1994).
- ↑ Matthews, J. (2005). कंप्यूटर नेटवर्किंग: एक्शन में इंटरनेट प्रोटोकॉल (1st ed.). Danvers, MA: John Wiley & Sons Inc.
- ↑ Sneddon, Joey (26 January 2021). "Linux रिलीज़ राउंडअप: GParted, Lightworks, Google Chrome + और भी बहुत कुछ". omgubuntu.co.uk. Retrieved 30 January 2021.
- ↑ "1574475 - FTP समर्थन हटाएं".
- ↑ "देखें कि Firefox में नया क्या है: 88.0 Firefox रिलीज़". mozilla.org. 19 April 2021. Retrieved 20 April 2021.
- ↑ "एफ़टीपी सर्वरों तक पहुँचना". Support.mozilla.com. 5 September 2012. Retrieved 16 January 2013.
{{cite web}}: Text "कैसे करें" ignored (help); Text "फ़ायरफ़ॉक्स सहायता" ignored (help) - ↑ "Internet Explorer में FTP साइट पासवर्ड कैसे दर्ज करें". Archived from the original on 2 July 2015. Retrieved 13 February 2020.
{{cite web}}: CS1 maint: bot: original URL status unknown (link) Written for IE versions 6 and earlier. Might work with newer versions. - ↑ Jukka “Yucca” Korpela (18 September 1997). "एफ़टीपी यूआरएल". "IT and communication" (jkorpela.fi). Retrieved 26 January 2020.
- ↑ "डाउनलोडस्टूडियो - इंटरनेट डाउनलोड मैनेजर और डाउनलोड एक्सेलेरेटर - विशेषताएं". Conceiva. Retrieved 19 October 2021.
- ↑ "लिब्रे ऑफिस 7.4: रिलीज नोट्स". The Document Foundation's Wiki. Retrieved 10 September 2022.
- ↑ 32.0 32.1 32.2 "SSH का उपयोग करके FTP को सुरक्षित करना". Nurdletech.com.
- ↑ "सूचना आश्वासन मंच के घटक (अनुभाग टेक्टिया कनेक्टसिक्योर)". ssh.com. Archived from the original on 31 July 2020.
अग्रिम पठन
- RFC 697 – CWD Command of FTP. July 1975.
- RFC 959 – (Standard) File Transfer Protocol (FTP). J. Postel, J. Reynolds. October 1985.
- RFC 1579 – (Informational) Firewall-Friendly FTP. February 1994.
- RFC 1635 – (Informational) How to Use Anonymous FTP. May 1994.
- RFC 1639 – FTP Operation Over Big Address Records (FOOBAR). June 1994.
- RFC 1738 – Uniform Resource Locators (URL). December 1994.
- RFC 2228 – (Proposed Standard) FTP Security Extensions. October 1997.
- RFC 2389 – (Proposed Standard) Feature negotiation mechanism for the File Transfer Protocol. August 1998.
- RFC 2428 – (Proposed Standard) Extensions for IPv6, NAT, and Extended passive mode. September 1998.
- RFC 2577 – (Informational) FTP Security Considerations. May 1999.
- RFC 2640 – (Proposed Standard) Internationalization of the File Transfer Protocol. July 1999.
- RFC 3659 – (Proposed Standard) Extensions to FTP. P. Hethmon. March 2007.
- RFC 5797 – (Proposed Standard) FTP Command and Extension Registry. March 2010.
- RFC 7151 – (Proposed Standard) File Transfer Protocol HOST Command for Virtual Hosts. March 2014.
- IANA FTP Commands and Extensions registry – The official registry of FTP Commands and Extension
बाहरी संबंध
Communication Networks/File Transfer Protocol at Wikibooks- FTP Server Online Tester Authentication, encryption, mode and connectivity.
- Anonymous FTP Servers by Country Code TLD (2012): "Offbeat Internet - Public Access - FTP". www.jumpjet.info. 2012. Retrieved 16 January 2020.