Πρωτόκολλο Μεταφοράς Αρχείων: Διαφορά μεταξύ των αναθεωρήσεων

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Stelios21r (συζήτηση | συνεισφορές)
μ Ο Stelios21r μετακίνησε τη σελίδα File Transfer Protocol στη Πρωτόκολλο Μεταφοράς Αρχείων πάνω από την ανακατεύθυνση: ελληνική ορολογία
Stelios21r (συζήτηση | συνεισφορές)
γλωσ. βελτιώσεις
Γραμμή 1: Γραμμή 1:
Το '''File Transfer Protocol''' ('''FTP'''), (ελληνικά: ''Πρωτόκολλο Μεταφοράς Αρχείων'') είναι ένα ευρέως χρησιμοποιούμενο [[Πρωτόκολλο υπολογιστών|πρωτόκολλο]] σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο [[TCP/IP]] (δίκτυα όπως internet ή intranet). Ο υπολογιστής που τρέχει εφαρμογή FTP client μόλις συνδεθεί με τον server μπορεί να εκτελέσει ένα πλήθος διεργασιών όπως ανέβασμα αρχείων στον server, κατέβασμα αρχείων από τον server, μετονομασία ή διαγραφή αρχείων από τον server κ.ο.κ. Το πρωτόκολλο είναι ένα ανοιχτό πρότυπο. Είναι δυνατό κάθε υπολογιστής που είναι συνδεδεμένος σε ένα δίκτυο, να διαχειρίζεται αρχεία σε ένα άλλο υπολογιστή του δικτύου, ακόμη και εάν ο δεύτερος διαθέτει διαφορετικό [[λειτουργικό σύστημα]].
Το '''Πρωτόκολλο Μεταφοράς Αρχείων''' (Αγγλ. ''File Transfer Protocol (FTP)'') είναι ένα ευρέως χρησιμοποιούμενο [[Πρωτόκολλο υπολογιστών|πρωτόκολλο]] σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο [[TCP/IP]] (δίκτυα όπως το διαδίκτυο ή εσωτερικά δίκτυα). Ο υπολογιστής που φιλοξενεί πρόγραμμα-πελάτη FTP μόλις συνδεθεί με το διακομιστή μπορεί να εκτελέσει ένα πλήθος διεργασιών όπως αποστολή αρχείων από και προς το διακομιστή, μετονομασία ή διαγραφή αρχείων στον διακομιστή κ.ο.κ. Το πρωτόκολλο είναι ένα ανοιχτό πρότυπο. Είναι δυνατό κάθε υπολογιστής που είναι συνδεδεμένος σε ένα δίκτυο, να διαχειρίζεται αρχεία σε ένα άλλο υπολογιστή του δικτύου, ακόμη και εάν ο δεύτερος διαθέτει διαφορετικό [[λειτουργικό σύστημα]].


== Ιστορία ==
== Ιστορία ==

Οι πρώτοι κανόνες για ανάπτυξη μηχανισμών ανταλλαγής αρχείων απαντώνται το 1971, όταν αναπτύχθηκαν για χρήση στο [[M.I.T]]. Περιγράφονται στο RFC 114 και ακολουθούν σχόλια και συζήτηση πάνω στο RFC 141. Αξίζει να αναφερθεί τo RFC 354, το οποίο αντικατέστησε τα ξεπερασμένα RFC 264 και RFC 265. Στο νέο RFC το FTP οριζόταν ως πρωτόκολλο ανταλλαγής αρχείων ανάμεσα σε hosts του δικτύου [[ARPANET]]. Πρωταρχικοί στόχοι του πρωτοκόλλου ήταν η εύκολη και αξιόπιστη μεταφορά αρχείων και η εύκολη αξιοποίηση των δυνατοτήτων για απομακρυσμένη αποθήκευση αρχείων.
Οι πρώτοι κανόνες για ανάπτυξη μηχανισμών ανταλλαγής αρχείων απαντώνται το 1971, όταν αναπτύχθηκαν για χρήση στο [[M.I.T]]. Περιγράφονται στο RFC 114 και ακολουθούν σχόλια και συζήτηση πάνω στο RFC 141. Αξίζει να αναφερθεί τo RFC 354, το οποίο αντικατέστησε τα ξεπερασμένα RFC 264 και RFC 265. Στο νέο RFC το FTP οριζόταν ως πρωτόκολλο ανταλλαγής αρχείων ανάμεσα σε hosts του δικτύου [[ARPANET]]. Πρωταρχικοί στόχοι του πρωτοκόλλου ήταν η εύκολη και αξιόπιστη μεταφορά αρχείων και η εύκολη αξιοποίηση των δυνατοτήτων για απομακρυσμένη αποθήκευση αρχείων.


Γραμμή 12: Γραμμή 11:


== Τρόπος λειτουργίας ==
== Τρόπος λειτουργίας ==
Αρχικά ο διακομιστής FTP ανοίγει την θύρα (Αγγλ. port) 21 περιμένοντας έναν πελάτη FTP να συνδεθεί. Στη συνέχεια ο πελάτης ξεκινά μια νέα σύνδεση από μια τυχαία θύρα προς την θύρα 21 του διακομιστή. Μόλις γίνει η σύνδεση παραμένει ανοιχτή για όλη τη διάρκεια της συνόδου FTP. Η συγκεκριμένη σύνδεση ονομάζεται σύνδεση ελέγχου (Αγγλ. control connection).


Ακολουθεί η δημιουργία της σύνδεσης δεδομένων (Αγγλ. data connection), της σύνδεσης με την οποία μεταφέρονται τα δεδομένα. Υπάρχουν δύο τρόποι για να δημιουργηθεί, με χρήση της ενεργητικής λειτουργίας (Αγγλ. active mode) ή με χρήση της παθητικής λειτουργίας (Αγγλ. passive mode).
Αρχικά ο FTP server ανοίγει την θύρα (port) 21 περιμένοντας έναν FTP client να συνδεθεί. Στη συνέχεια ο client ξεκινά μια νέα σύνδεση από μια τυχαία θύρα προς την θύρα 21 του server. Μόλις γίνει η σύνδεση παραμένει ανοιχτή για όλη τη διάρκεια της συνόδου FTP. Η συγκεκριμένη σύνδεση ονομάζεται σύνδεση ελέγχου (control connection).


=== Ενεργητική λειτουργία ===
Ακολουθεί η δημιουργία της σύνδεσης δεδομένων (data connection), της σύνδεσης με την οποία μεταφέρονται τα δεδομένα. Υπάρχουν δύο τρόποι για να δημιουργηθεί, με χρήση της ενεργητικής λειτουργίας (active mode) ή με χρήση της παθητικής λειτουργίας (passive mode).
Στην ενεργητική λειτουργία (Αγγλ. active mode) ο πελάτης FTP διαλέγει μια τυχαία θύρα στην οποία δέχεται τα δεδομένα της σύνδεσης. Ο πελάτης στέλνει τον αριθμό της θύρας, την οποία επιθυμεί να παρακολουθεί (Αγγλ. listen) για εισερχόμενες συνδέσεις. Ο διακομιστής FTP δημιουργεί μια σύνδεση από την θύρα 20 στην ανοιχτή θύρα του πελάτη για τη μεταφορά των δεδομένων.


Οποιαδήποτε πληροφορία ζητήσει ο πελάτης, ανταλλάσσεται με βάση αυτή τη σύνδεση, που βασίζεται στο [[TCP]]. Όταν η μεταφορά ολοκληρωθεί ο διακομιστής κλείνει τη σύνδεση αποστέλλοντας ένα πακέτο FIN, όπως σε κάθε σύνδεση βασισμένη στο TCP. Κάθε φορά που ο πελάτης ζητάει δεδομένα, δημιουργείται κατά παρόμοιο τρόπο μια σύνδεση δεδομένων και η διαδικασία επαναλαμβάνεται.
=== Active mode ===

Στην ενεργητική λειτουργία (active mode) ο FTP client διαλέγει μια τυχαία θύρα στην οποία δέχεται τα δεδομένα της σύνδεσης. Ο client στέλνει τον αριθμό της θύρας, στην οποία επιθυμεί να "ακούει" (listen) για εισερχόμενες συνδέσεις. Ο FTP server δημιουργεί μια σύνδεση από την θύρα 20 στην ανοιχτή θύρα του client για τη μεταφορά των δεδομένων.

Οποιαδήποτε πληροφορία ζητήσει ο client, ανταλλάσσεται με βάση αυτή τη σύνδεση, που βασίζεται στο [[TCP]]. Όταν η μεταφορά ολοκληρωθεί ο server κλείνει τη σύνδεση αποστέλλοντας ένα πακέτο FIN, όπως σε κάθε σύνδεση βασισμένη στο TCP. Κάθε φορά που ο client ζητάει δεδομένα, δημιουργείται κατά παρόμοιο τρόπο μια σύνδεση δεδομένων και η διαδικασία επαναλαμβάνεται.


[[Αρχείο:ftp-active.PNG|center]]
[[Αρχείο:ftp-active.PNG|center]]


=== Παθητική λειτουργία ===
=== Passive mode ===
Στην παθητική λειτουργία (Αγγλ. passive mode) ο πελάτης ζητά από τον διακομιστή να διαλέξει μια τυχαία θύρα, την οποία θα παρακολουθεί (Αγγλ. listen) για την σύνδεση δεδομένων (Αγγλ. data connection). Ο διακομιστής ενημερώνει τον πελάτη για την θύρα την οποία έχει διαλέξει και ο πελάτης συνδέεται σε αυτή για τη μεταφορά των δεδομένων. Η μεταφορά ολοκληρώνεται όπως και στην ενεργητική λειτουργία, αφού η σύνδεση δεδομένων βασίζεται στο TCP

Στην παθητική λειτουργία (passive mode) ο client ζητά από τον server να διαλέξει μια τυχαία θύρα, στην οποία θα "ακούει" (listen) για την σύνδεση δεδομένων (data connection). Ο server ενημερώνει τον client για την θύρα την οποία έχει διαλέξει και ο client συνδέεται σε αυτή για τη μεταφορά των δεδομένων. Η μεταφορά ολοκληρώνεται όπως και στην ενεργητική λειτουργία (active mode), αφού η σύνδεση δεδομένων βασίζεται στο TCP
[[Αρχείο:Ftp-passive.PNG|center]]
[[Αρχείο:Ftp-passive.PNG|center]]


== Χρήση ==
== Χρήση ==


Το FTP είναι ένα πρωτόκολλο [[Μοντέλο πελάτη-διακομιστή|πελάτη-εξυπηρετητή]] 8-bit, ικανό να χειρίζεται οποιονδήποτε τύπο αρχείου χωρίς περαιτέρω επεξεργασία, όπως δηλαδή κάνουν το [[MIME]] και το [[Uuencode]]. Ωστόσο το FTP έχει εξαιρετικά υψηλή καθυστέρηση (latency). Αυτό σημαίνει ότι ο χρόνος μεταξύ του αιτήματος και της διαδικασίας παραλαβής του είναι αρκετά μεγάλος και για αυτό μερικές φορές απαιτείται μεγάλη διαδικασία σύνδεσης.
Το FTP είναι ένα πρωτόκολλο [[Μοντέλο πελάτη-διακομιστή|πελάτη-εξυπηρετητή]] 8-bit, ικανό να χειρίζεται οποιονδήποτε τύπο αρχείου χωρίς περαιτέρω επεξεργασία, όπως δηλαδή κάνουν το [[MIME]] και το [[Uuencode]]. Ωστόσο το FTP έχει εξαιρετικά υψηλή καθυστέρηση (Αγγλ. latency). Αυτό σημαίνει ότι ο χρόνος μεταξύ του αιτήματος και της διαδικασίας παραλαβής του είναι αρκετά μεγάλος και για αυτό μερικές φορές απαιτείται μεγάλη διαδικασία σύνδεσης.


===Σύνδεση χρησιμοποιώντας FTP===
===Σύνδεση χρησιμοποιώντας FTP===
Για να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή χρησιμοποιώντας FTP, στην γραμμή εντολών δακτυλογραφείτε ftp. Τότε μεταβαίνετε στο prompt '''ftp>'''. Για να συνδεθείτε στον απομακρυσμένο υπολογιστή τυπώνετε:<br>
Για να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή χρησιμοποιώντας FTP, στην γραμμή εντολών δακτυλογραφείτε ftp. Τότε μεταβαίνετε στο περιβάλλον εισαγωγής εντολών '''ftp>'''. Για να συνδεθείτε στον απομακρυσμένο υπολογιστή πληκτρολογείτε:<br>
'''οpen Name'''
'''οpen Name'''
<br>
<br>
Γραμμή 42: Γραμμή 38:
'''open IP'''
'''open IP'''
<br>
<br>
όπου ''Name '' είναι το όνομα του απομακρυσμένου υπολογιστή και ''IP'' η IP διεύθυνσή του.<br>
όπου ''Name '' είναι το όνομα του απομακρυσμένου υπολογιστή και ''IP'' η αριθμητική διεύθυνσή του.<br>
Αφού συνδεθείτε, ανάλογα με την περίπτωση, όπως αναφέρθηκε παραπάνω θα σας ζητηθεί το ''όνομα χρήστη'' ή ο ''κωδικός πρόσβασης''. Εάν εισαχθούν σωστά, τότε έχετε συνδεθεί επιτυχώς στον απομακρυσμένο υπολογιστή και ανάλογα με τα δικαιώματά σας, μπορείτε να εμφανίσετε αρχεία, να στείλετε αρχεία, να λάβετε αρχεία.<br>
Αφού συνδεθείτε, ανάλογα με την περίπτωση, όπως αναφέρθηκε παραπάνω θα σας ζητηθεί το ''όνομα χρήστη'' ή ο ''κωδικός πρόσβασης''. Εάν εισαχθούν σωστά, τότε έχετε συνδεθεί επιτυχώς στον απομακρυσμένο υπολογιστή και ανάλογα με τα δικαιώματά σας, μπορείτε να εμφανίσετε αρχεία, να στείλετε αρχεία, να λάβετε αρχεία.<br>
Μερικοί εξυπηρετητές, όπως θα εξηγήσουμε παρακάτω, μπορεί να επιτρέπουν ανώνυμες συνδέσεις.
Μερικοί εξυπηρετητές, όπως θα εξηγήσουμε παρακάτω, μπορεί να επιτρέπουν ανώνυμες συνδέσεις.
Γραμμή 72: Γραμμή 68:
|'''append''' ||Προσαρτά κείμενο σε ένα τοπικό αρχείο
|'''append''' ||Προσαρτά κείμενο σε ένα τοπικό αρχείο
|-
|-
|'''ascii''' ||Μεταβαίνει στον ASCII τρόπο μεταφοράς
|'''ascii''' ||Μεταβαίνει στον τρόπο μεταφοράς με κωδικοποίηση τύπου ASCII
|-
|-
|'''bell''' ||Ενεργοποιεί/απενεργοποιεί το κουδούνι
|'''bell''' ||Ενεργοποιεί/απενεργοποιεί το κουδούνι
Γραμμή 124: Γραμμή 120:
|'''mput''' ||Αποστέλει πολαπλά αρχεία
|'''mput''' ||Αποστέλει πολαπλά αρχεία
|-
|-
|'''open''' ||Συνδέεται με έναν απομακρυσμένο ftp υπολογιστή.
|'''open''' ||Συνδέεται με έναν απομακρυσμένο υπολογιστή ftp
|-
|-
|'''prompt'''|| Ενεργοποιεί/Απενεργοποιεί το prompt
|'''prompt'''|| Ενεργοποιεί/Απενεργοποιεί τη γραμμή εισαγωγής εντολών
|-
|-
|'''put''' ||Στέλνει ένα αρχείο
|'''put''' ||Στέλνει ένα αρχείο
Γραμμή 157: Γραμμή 153:
|}
|}


== Anonymous FTP ==
== Ανώνυμη Σύνδεση FTP ==
Το FTP επέτρεψε σε μια νέα κατηγορία χρηστών να εισέρχονται (Αγγλ. login) στον διακομιστή FTP. Οι χρήστες αυτοί δεν χρειάζεται να έχουν λογαριασμό, αντιθέτως χρησιμοποιούν έναν γενικής χρήσης. Ο λογαριασμός αυτός ονομάζεται "anonymous FTP" (ανώνυμο FTP) και δεν απαιτείται κωδικός πρόσβασης, συνήθως όμως χρησιμοποιείται κατά σύμβαση ο κωδικός "guest" (φιλοξενούμενος) ή η διεύθυνση [[e-mail|ηλεκτρονικού ταχυδρομείου]] του χρήστη.


Η ανώνυμη σύνδεση χρησιμοποιείται κυρίως για αρχεία που είναι ανοιχτά στο κοινό, σαν αποθήκη πληροφοριών (όπως λογισμικό, έγγραφα, εικόνες κλπ.) Συνήθως, με αυτό τον τρόπο παρέχεται πρόσβαση σε αρχειοθετημένες [[mailing lists]]. Οι χρήστες που εισέρχονται ανώνυμα πρέπει να έχουν περιορισμένα δικαιώματα πρόσβασης σε αρχεία του host. Διαφορετικά, εαν μπορούν να διαβάσουν οποιοδήποτε αρχείο ή να δημιουργήσουν νέα, δημιουργούνται προβλήματα ασφαλείας.
Το FTP επέτρεψε σε μια νέα κατηγορία χρηστών να εισέρχονται (login) στον FTP server. Οι χρήστες αυτοί δεν χρειάζεται να έχουν λογαριασμό, αντιθέτως χρησιμοποιούν έναν γενικής χρήσης. Ο λογαριασμός αυτός ονομάζεται "anonymous FTP" και δεν απαιτείται κωδικός πρόσβασης, συνήθως όμως χρησιμοποιείται κατά σύμβαση ο κωδικός "guest" ή η διεύθυνση [[e-mail|ηλεκτρονικού ταχυδρομείου (e-mail)]] του χρήστη.

Η σύνδεση "anonymous" χρησιμοποιείται κυρίως για αρχεία που είναι ανοιχτά στο κοινό, σαν αποθήκη πληροφοριών (όπως λογισμικό, έγγραφα, εικόνες κλπ.) Συνήθως, με αυτό τον τρόπο παρέχεται πρόσβαση σε αρχειοθετημένες [[mailing lists]]. Οι χρήστες που εισέρχονται ως "anonymous" πρέπει να έχουν περιορισμένα δικαιώματα πρόσβασης σε αρχεία του host. Διαφορετικά, εαν μπορούν να διαβάσουν οποιοδήποτε αρχείο ή να δημιουργήσουν νέα, δημιουργούνται προβλήματα ασφαλείας.


== Ασφάλεια ==
== Ασφάλεια ==

Το FTP δεν σχεδιάστηκε με πρόνοια για ασφάλεια, με συνέπεια οι εφαρμογές να είναι ιδιαίτερα ευάλωτες και να εμφανίζονται ποικίλα προβλήματα κατά τη χρήση [[firewall]] ή [[NAT]].
Το FTP δεν σχεδιάστηκε με πρόνοια για ασφάλεια, με συνέπεια οι εφαρμογές να είναι ιδιαίτερα ευάλωτες και να εμφανίζονται ποικίλα προβλήματα κατά τη χρήση [[firewall]] ή [[NAT]].


=== Προβλήματα NAT ===
=== Προβλήματα NAT ===
Στην ενεργητική λειτουργία o διακομιστής FTP ξεκινά μια σύνδεση δεδομένων συνδεόμενος στην εξωτερική αριθμητική διεύθυνση της πύλης (Αγγλ. gateway) [[NAT]]. Στην άλλη πλευρά, το μηχάνημα το οποίο είναι υπεύθυνο για τη "μετάφραση" των εσωτερικών [[διεύθυνση IP|αριθμητικών διευθύνσεων]] του δικτύου στην εξωτερική, θα πάρει το SYN πακέτο για τη δημιουργία της σύνδεσης. Όμως, στον πίνακα κατάστασης (state table) του ΝΑΤ, στον οποίο διατηρείται το ιστορικό μεταφράσεων, δεν έχει καταγραφεί κανένα, με αποτέλεσμα το πακέτο να απορρίπτεται (γίνεται drop). To πακέτο δεν φτάνει ποτέ στον πελάτη, δεν σχηματίζεται σύνδεση δεδομένων και η μεταφορά δεδομένων είναι αδύνατη.


Στην παθητική λειτουργία, επειδή η θύρα στην οποία συνδέεται ο διακομιστής είναι τυχαία, είναι πιθανόν να μην επιτρέπεται σύνδεση προς τον αριθμό της από το λογισμικό - τείχος προστασίας (firewall). Σε αυτή την περίπτωση η σύνδεση δεδομένων δεν θα δημιουργηθεί και, επομένως, δεν θα μεταφέρονται δεδομένα.
Στην ενεργητική λειτουργία o FTP server ξεκινά μια σύνδεση δεδομένων συνδεόμενος στην εξωτερική διεύθυνση IP της πύλης (gateway) [[NAT]]. Στην άλλη πλευρά, το μηχάνημα το οποίο είναι υπεύθυνο για τη "μετάφραση" των εσωτερικών [[διεύθυνση IP|διευθύνσεων IP]] του δικτύου στην εξωτερική, θα πάρει το SYN πακέτο για τη δημιουργία της σύνδεσης. Όμως, στον πίνακα κατάστασης (state table) του ΝΑΤ, στον οποίο διατηρείται το ιστορικό μεταφράσεων, δεν έχει καταγραφεί κανένα, με αποτέλεσμα το πακέτο να απορρίπτεται (γίνεται drop). To πακέτο δεν φτάνει ποτέ στον client, δεν σχηματίζεται σύνδεση δεδομένων και η μεταφορά δεδομένων είναι αδύνατη.

Στην παθητική λειτουργία, επειδή η θύρα στην οποία συνδέεται ο server είναι τυχαία, είναι πιθανόν να μην επιτρέπεται σύνδεση προς τον [[port number|αριθμό]] της από το λογισμικό - τείχος προστασίας (firewall). Σε αυτή την περίπτωση η σύνδεση δεδομένων δεν θα σχηματιστεί και, επομένως, δεν θα μεταφέρονται δεδομένα.


=== Έλλειψη κρυπτογράφησης ===
=== Έλλειψη κρυπτογράφησης ===
Τα δεδομένα που ανταλλάσσονται μέσω FTP δεν είναι κρυπτογραφημένα με αποτέλεσμα οι εντολές που αποστέλλονται μέσω της σύνδεσης ελέγχου να είναι απλό κείμενο. Για το λόγο αυτό μπορούν εύκολα, με τη χρήση ενός [[sniffer]], να αλιευθούν, να διαβασθούν και να ξανασταλούν ανάλογα με τη βούληση του επιτιθέμενου. Ανάμεσα σε αυτές, η εντολή που χρησιμοποιείται για την είσοδο (Αγγλ. login) σε ένα λογαριασμό FTP, με τη σύνταξη "PASS password", παρέχει στον επιτιθέμενο τον κωδικό του χρήστη. Αν συνδυαστεί με την εντολή "USER", με την οποία αποστέλεται το όνομα του χρήστη, ο επιτιθέμενος μπορεί να χρησιμοποιήσει τα στοιχεία για να εισέλθει στον ξένο λογαριασμό με τα ίδια δικαιώματα.


Επειδή οι περισσότεροι άνθρωποι τείνουν να επαναχρησιμοποιούν κωδικούς, ο επιτιθέμενος έχει αυξήσει τις πιθανότητες του σε μια [[brute-force attack]]. Με αυτό τον τρόπο, είναι πιθανό να αποκτήσει έλεγχο του συστήματος του χρήστη μόλις βρει την αριθμητική διεύθυνση του, ανιχνεύοντας την έναρξη της συνόδου FTP (FTP session).
Τα δεδομένα που ανταλλάσσονται μέσω FTP δεν είναι κρυπτογραφημένα, με αποτέλεσμα οι εντολές που αποστέλλονται μέσω της control connection να είναι απλό κείμενο. Για το λόγο αυτό μπορούν εύκολα, με τη χρήση ενός [[sniffer]], να αλιευθούν, να διαβασθούν και να ξανασταλούν ανάλογα με τη βούληση του επιτιθέμενου. Ανάμεσα σε αυτές, η εντολή που χρησιμοποιείται για να γίνει login σε ένα λογαριασμό FTP, με σύνταξη "PASS password", παρέχει στον επιτιθέμενο τον κωδικό του χρήστη. Αν συνδυαστεί με την εντολή "USER", με την οποία αποστέλεται το όνομα του χρήστη, ο επιτιθέμενος μπορεί να χρησιμοποιήσει τα στοιχεία για να εισέλθει στον ξένο λογαριασμό με τα ίδια δικαιώματα.

Επειδή οι περισσότεροι άνθρωποι τείνουν να επαναχρησιμοποιούν κωδικούς, ο επιτιθέμενος έχει αυξήσει τις πιθανότητες του σε μια [[brute-force attack]]. Με αυτό τον τρόπο, είναι πιθανό να αποκτήσει έλεγχο του συστήματος του χρήστη μόλις βρει τη διεύθυνση IP του, ανιχνεύοντας την έναρξη της συνόδου FTP (FTP session).


=== Man-in-the-middle ===
=== Man-in-the-middle ===


Με το κύριο File Transfer Protocol, ο server δεν εξασφαλίζει ότι ο client είναι αυτός που λέει, ούτε ο client αντίστοιχα για τον server. Ευκολονόητο, εφόσον το FTP δεν απαιτεί επαλήθευση των hosts και δεν ελέγχει αν τα δεδομένα προέρχονται από αυτούς, ούτε τα προστατεύει. Για αυτό το λόγο και τα δύο άκρα που ανταλλάσσουν δεδομένα, είναι ανοιχτά σε [[man-in-the-middle attack]] από κάποιον επιτιθέμενο που συλλαμβάνει τα πακέτα του κάθε host, και στέλνει ψευδείς απαντήσεις.
Με το κύριο File Transfer Protocol, ο διακομιστής δεν εξασφαλίζει ότι ο πελάτης είναι αυτός που λέει, ούτε ο πελάτης αντίστοιχα για τον διακομιστή. Ευκολονόητο, εφόσον το FTP δεν απαιτεί επαλήθευση των hosts και δεν ελέγχει αν τα δεδομένα προέρχονται από αυτούς, ούτε τα προστατεύει. Για αυτό το λόγο και τα δύο άκρα που ανταλλάσσουν δεδομένα, είναι ανοιχτά σε [[man-in-the-middle attack]] από κάποιον επιτιθέμενο που συλλαμβάνει τα πακέτα του κάθε host, και στέλνει ψευδείς απαντήσεις.


==Προγράμματα FTP==
==Προγράμματα FTP==


Παρακάτω είναι ένας κατάλογος από FTP προγράμματα που μπορείτε να χρησιμοποιήσετε για να συνδεθείτε σε ένα FTP Server.
Παρακάτω είναι ένας κατάλογος από FTP προγράμματα που μπορείτε να χρησιμοποιήσετε για να συνδεθείτε σε ένα διακομιστή FTP.
# '''FileZilla''' – Ένα φανταστικό ελεύθερο FTP και SFTP, με ότι χρειάζονται οι περισσότεροι χρήστες
# '''FileZilla''' – Ένα φανταστικό ελεύθερο FTP και SFTP, με ότι χρειάζονται οι περισσότεροι χρήστες
# '''WinSCP''' - Ένα άλλο φανταστικό ελεύθερο FTP, SFTP, SCP βοήθημα το οποίο υποστηρίζει και scripting
# '''WinSCP''' - Ένα άλλο φανταστικό ελεύθερο FTP, SFTP, SCP βοήθημα το οποίο υποστηρίζει και scripting
Γραμμή 192: Γραμμή 184:
# '''Internet Explorer''' – Οι χρήστες που έχουν Microsoft Internet Explorer στους υπολογιστές τους, μπορούν να τον χρησιμοποιήσουν για να συνδεθούν σε FTP εξυπηρετητές.
# '''Internet Explorer''' – Οι χρήστες που έχουν Microsoft Internet Explorer στους υπολογιστές τους, μπορούν να τον χρησιμοποιήσουν για να συνδεθούν σε FTP εξυπηρετητές.


==Υποστήριξη από Web Browser==
==Υποστήριξη από περιηγητές/φυλλομετρητές==
Οι περισσότεροι web browsers μπορούν να ανακτήσουν αρχεία που φιλοξενούνται σε εξυπηρετητές FTP, αν και μπορεί να μην υποστηρίζουν επεκτάσεις του πρωτοκόλλου, όπως το FTPS. Όταν δίνουμε μία FTP διεύθυνση αντί για μία HTTP-URL, το περιεχόμενο στο οποίο έχουμε πρόσβαση εμφανίζεται με έναν τρόπο όμοιο με το περιεχόμενο Web.
Οι περισσότεροι περιηγητές του διαδικτύου μπορούν να ανακτήσουν αρχεία που φιλοξενούνται σε εξυπηρετητές FTP, αν και μπορεί να μην υποστηρίζουν επεκτάσεις του πρωτοκόλλου, όπως το FTPS. Όταν δίνουμε μία διεύθυνση FTP αντί για μία HTTP-URL, το περιεχόμενο στο οποίο έχουμε πρόσβαση εμφανίζεται με έναν τρόπο όμοιο με το περιεχόμενο του Παγκόσμιου Ιστού.


===Σύνταξη===
===Σύνταξη===

Έκδοση από την 15:24, 6 Οκτωβρίου 2019

Το Πρωτόκολλο Μεταφοράς Αρχείων (Αγγλ. File Transfer Protocol (FTP)) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν το πρωτόκολλο TCP/IP (δίκτυα όπως το διαδίκτυο ή εσωτερικά δίκτυα). Ο υπολογιστής που φιλοξενεί πρόγραμμα-πελάτη FTP μόλις συνδεθεί με το διακομιστή μπορεί να εκτελέσει ένα πλήθος διεργασιών όπως αποστολή αρχείων από και προς το διακομιστή, μετονομασία ή διαγραφή αρχείων στον διακομιστή κ.ο.κ. Το πρωτόκολλο είναι ένα ανοιχτό πρότυπο. Είναι δυνατό κάθε υπολογιστής που είναι συνδεδεμένος σε ένα δίκτυο, να διαχειρίζεται αρχεία σε ένα άλλο υπολογιστή του δικτύου, ακόμη και εάν ο δεύτερος διαθέτει διαφορετικό λειτουργικό σύστημα.

Ιστορία

Οι πρώτοι κανόνες για ανάπτυξη μηχανισμών ανταλλαγής αρχείων απαντώνται το 1971, όταν αναπτύχθηκαν για χρήση στο M.I.T. Περιγράφονται στο RFC 114 και ακολουθούν σχόλια και συζήτηση πάνω στο RFC 141. Αξίζει να αναφερθεί τo RFC 354, το οποίο αντικατέστησε τα ξεπερασμένα RFC 264 και RFC 265. Στο νέο RFC το FTP οριζόταν ως πρωτόκολλο ανταλλαγής αρχείων ανάμεσα σε hosts του δικτύου ARPANET. Πρωταρχικοί στόχοι του πρωτοκόλλου ήταν η εύκολη και αξιόπιστη μεταφορά αρχείων και η εύκολη αξιοποίηση των δυνατοτήτων για απομακρυσμένη αποθήκευση αρχείων.

Τελικά, δημοσιεύτηκε ένα επίσημο έγγραφο για το FTP στο RFC 454. Ακολούθησαν και άλλα επίσημα RFCs αλλά, αν και μέχρι τον Ιούλιο του 1973 είχαν γίνει σημαντικές αλλαγές από τις τελευταίες εκδόσεις του, η δομή του παρέμενε ίδια. Πολλές υλοποιήσεις (implementations) του πρωτοκόλλου βασίζονταν σε παλαιότερες μη ενημερωμένες εκδόσεις.

Όλες οι παραπάνω προσπάθειες για δημιουργία ενός πρωτοκόλλου μεταφοράς αρχείων σε συνδυασμό με την μετάβαση από το NCP στο TCP, οδήγησαν στην επανεγγραφή του FTP στο RFC 765 το 1980. Σήμερα το κυριότερο RFC για το FTP είναι το RFC 959 ένα κείμενο εξήντα σελίδων.

Σε μεταγενέστερα RFCs σχετικά με το FTP, είτε περιγράφηκαν αναλυτικότερα ορισμένα σημεία του RFC 959 (όπως στο RFC 1635), είτε έγιναν προτάσεις σχετικές με την ασφάλειά του (όπως στο RFC 1579 και στο RFC 2228.

Τρόπος λειτουργίας

Αρχικά ο διακομιστής FTP ανοίγει την θύρα (Αγγλ. port) 21 περιμένοντας έναν πελάτη FTP να συνδεθεί. Στη συνέχεια ο πελάτης ξεκινά μια νέα σύνδεση από μια τυχαία θύρα προς την θύρα 21 του διακομιστή. Μόλις γίνει η σύνδεση παραμένει ανοιχτή για όλη τη διάρκεια της συνόδου FTP. Η συγκεκριμένη σύνδεση ονομάζεται σύνδεση ελέγχου (Αγγλ. control connection).

Ακολουθεί η δημιουργία της σύνδεσης δεδομένων (Αγγλ. data connection), της σύνδεσης με την οποία μεταφέρονται τα δεδομένα. Υπάρχουν δύο τρόποι για να δημιουργηθεί, με χρήση της ενεργητικής λειτουργίας (Αγγλ. active mode) ή με χρήση της παθητικής λειτουργίας (Αγγλ. passive mode).

Ενεργητική λειτουργία

Στην ενεργητική λειτουργία (Αγγλ. active mode) ο πελάτης FTP διαλέγει μια τυχαία θύρα στην οποία δέχεται τα δεδομένα της σύνδεσης. Ο πελάτης στέλνει τον αριθμό της θύρας, την οποία επιθυμεί να παρακολουθεί (Αγγλ. listen) για εισερχόμενες συνδέσεις. Ο διακομιστής FTP δημιουργεί μια σύνδεση από την θύρα 20 στην ανοιχτή θύρα του πελάτη για τη μεταφορά των δεδομένων.

Οποιαδήποτε πληροφορία ζητήσει ο πελάτης, ανταλλάσσεται με βάση αυτή τη σύνδεση, που βασίζεται στο TCP. Όταν η μεταφορά ολοκληρωθεί ο διακομιστής κλείνει τη σύνδεση αποστέλλοντας ένα πακέτο FIN, όπως σε κάθε σύνδεση βασισμένη στο TCP. Κάθε φορά που ο πελάτης ζητάει δεδομένα, δημιουργείται κατά παρόμοιο τρόπο μια σύνδεση δεδομένων και η διαδικασία επαναλαμβάνεται.

Παθητική λειτουργία

Στην παθητική λειτουργία (Αγγλ. passive mode) ο πελάτης ζητά από τον διακομιστή να διαλέξει μια τυχαία θύρα, την οποία θα παρακολουθεί (Αγγλ. listen) για την σύνδεση δεδομένων (Αγγλ. data connection). Ο διακομιστής ενημερώνει τον πελάτη για την θύρα την οποία έχει διαλέξει και ο πελάτης συνδέεται σε αυτή για τη μεταφορά των δεδομένων. Η μεταφορά ολοκληρώνεται όπως και στην ενεργητική λειτουργία, αφού η σύνδεση δεδομένων βασίζεται στο TCP

Χρήση

Το FTP είναι ένα πρωτόκολλο πελάτη-εξυπηρετητή 8-bit, ικανό να χειρίζεται οποιονδήποτε τύπο αρχείου χωρίς περαιτέρω επεξεργασία, όπως δηλαδή κάνουν το MIME και το Uuencode. Ωστόσο το FTP έχει εξαιρετικά υψηλή καθυστέρηση (Αγγλ. latency). Αυτό σημαίνει ότι ο χρόνος μεταξύ του αιτήματος και της διαδικασίας παραλαβής του είναι αρκετά μεγάλος και για αυτό μερικές φορές απαιτείται μεγάλη διαδικασία σύνδεσης.

Σύνδεση χρησιμοποιώντας FTP

Για να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή χρησιμοποιώντας FTP, στην γραμμή εντολών δακτυλογραφείτε ftp. Τότε μεταβαίνετε στο περιβάλλον εισαγωγής εντολών ftp>. Για να συνδεθείτε στον απομακρυσμένο υπολογιστή πληκτρολογείτε:
οpen Name
ή
open IP
όπου Name είναι το όνομα του απομακρυσμένου υπολογιστή και IP η αριθμητική διεύθυνσή του.
Αφού συνδεθείτε, ανάλογα με την περίπτωση, όπως αναφέρθηκε παραπάνω θα σας ζητηθεί το όνομα χρήστη ή ο κωδικός πρόσβασης. Εάν εισαχθούν σωστά, τότε έχετε συνδεθεί επιτυχώς στον απομακρυσμένο υπολογιστή και ανάλογα με τα δικαιώματά σας, μπορείτε να εμφανίσετε αρχεία, να στείλετε αρχεία, να λάβετε αρχεία.
Μερικοί εξυπηρετητές, όπως θα εξηγήσουμε παρακάτω, μπορεί να επιτρέπουν ανώνυμες συνδέσεις.

Αποστολή και λήψη αρχείων με FTP

Για να κατεβάσουμε ένα αρχείο, π.χ το text.txt, γράφουμε:

get text.txt

Για να κατεβάσουμε πολλά αρχεία χρησιμοποιούμε την εντολή mget και χαρακτήρες ομαδοποίησης.
Π.χ για να κατεβάσουμε όλα τα αρχεία που έχουν επέκταση txt, γράφουμε:

mget *.txt

Tα αρχεία κατεβαίνουν στον τοπικό κατάλογο.
Για την αποστολή των αρχείων χρησιμοποιείται η εντολή send. Έτσι π.χ. για να στείλουμε το αρχείο text.txt γράφουμε:
send text.txt
Είναι σημαντικό να γνωρίζουμε ότι τα αρχεία που θέλουμε να στείλουμε πρέπει να βρίσκονται στον τοπικό κατάλογο. Ο τοπικός κατάλογος εμφανίζεται με την εντολή lcd. Εάν θέλουμε να αλλάξουμε τον τοπικό κατάλογο, χρησιμοποιούμε πάλι την εντολή lcd. Π.χ. για να μεταβούμε στον κατάλογο programs δίσκο C:, γράφουμε lcd C:\programms

Εντολές FTP

Εντολή Λειτουργία
! Χρησιμοποιώντας αυτήν την εντολή όταν είστε στο ftp μεταβαίνετε πίσω στο λειτουργικό σύστημα, ενώ όταν είστε πίσω στο λειτουργικό σύστημα πληκτρολογώντας exit επιστρέφετε στη γραμμή εντολών του ftp.
? Εμφανίζει την οθόνη βοήθειας του ftp
append Προσαρτά κείμενο σε ένα τοπικό αρχείο
ascii Μεταβαίνει στον τρόπο μεταφοράς με κωδικοποίηση τύπου ASCII
bell Ενεργοποιεί/απενεργοποιεί το κουδούνι
binary Αλλάζει στον δυαδικό τρόπο μεταφοράς
bye Βγαίνει από το FTP
cd Αλλάζει κατάλογο
close Βγαίνει από το FTP
delete Σβήνει ένα αρχείο
debug Ενεργοποιεί/απενεργοποιεί την αποσφαλμάτωση.
dir Εάν συνδεθεί, εμφανίζει λίστα με τα αρχεία του απομακρυσμένου καταλόγου

dir -C = Will list the files in wide format dir -1 = Lists the files in bare format in alphabetic order dir -r = Lists directory in reverse alphabetic order dir -R = Lists all files in current directory and sub directories dir -S = Lists files in bare format in alphabetic order.

disconnect Βγαίνει από το FTP
get Κατεβάζει ένα αρχείο από τον υπολογιστή στον οποίο συνδεθήκαμε
glob Ενεργοποιεί/απενεργοποιεί το globbing. Όταν είναι ενεργοποιημένο, οι χαρακτήρες ομαδοποίησης (wildcards) αντιμετωπίζονται σαν απλοί χαρακτήρες.
hash Ενεργοποιεί/απενεργοποιεί την εμφάνιση των χαρακτήρων (#) για κάθε buffer (1024 Bytes) που μεταφέρεται.
help Εμφανίζει την οθόνη βοήθειας, εάν τυπωθεί μόνο του, ή εμφανίζει πληροφορίες για μία εντολή, εάν τυπωθεί μετά την εντολή
lcd Εάν τυπωθεί μόνο του εμφανίζει τον τρέχοντα κατάλογο ή εάν μετά το lcd τυπώσουμε έναν κατάλογο, τότε αυτός γίνεται ο τρέχων κατάλογος
literal Sends a literal command to the connected computer with an expected one line response.
ls Εμφανίζει τα αρχεία στον απομακρυσμένο υπολογιστή που έχουμε συνδεθεί.
mdelete Πολλαπλή διαγραφή.
mdir Εμφανίζει τα περιεχόμενα πολλαπλών απομακρυσμένων καταλόγων
mget Κατεβάζει πολλαπλά αρχεία
mkdir Δημιουργεί κατάλογο
mls Εμφανίζει τα περιεχόμενα πολλαπλών απομακρυσμένων καταλόγων
mput Αποστέλει πολαπλά αρχεία
open Συνδέεται με έναν απομακρυσμένο υπολογιστή ftp
prompt Ενεργοποιεί/Απενεργοποιεί τη γραμμή εισαγωγής εντολών
put Στέλνει ένα αρχείο
pwd Τυπώνει τον κατάλογο εργασίας
quit Βγαίνει από το FTP.
quote Ίδια με την εντολή literal.
recv Λαμβάνει αρχείο
remotehelp Παίρνει βοήθεια από τον απομακρυσμένο διακομιστή
rename Μετονομάζει ένα αρχείο
rmdir Σβήνει έναν κατάλογο στον απομακρυσμένο υπολογιστή.
send Στέλνει ένα αρχείο
status Εμφανίζει τις τρέχουσες ενεργοποιημένες/απενεργοποιημένες επιλογές
trace Ενεργοποιεί/απενεργοποιεί την παρακολήθηση των πακέτων
Type Καθορίζει τον τύπο μεταφοράς των αρχείων
user Στέλνει νέα πληροφορία του χρήστη
verbose Ενεργοποιεί/απενεργοποιεί την εμφάνιση λεπτομερειών.

Ανώνυμη Σύνδεση FTP

Το FTP επέτρεψε σε μια νέα κατηγορία χρηστών να εισέρχονται (Αγγλ. login) στον διακομιστή FTP. Οι χρήστες αυτοί δεν χρειάζεται να έχουν λογαριασμό, αντιθέτως χρησιμοποιούν έναν γενικής χρήσης. Ο λογαριασμός αυτός ονομάζεται "anonymous FTP" (ανώνυμο FTP) και δεν απαιτείται κωδικός πρόσβασης, συνήθως όμως χρησιμοποιείται κατά σύμβαση ο κωδικός "guest" (φιλοξενούμενος) ή η διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη.

Η ανώνυμη σύνδεση χρησιμοποιείται κυρίως για αρχεία που είναι ανοιχτά στο κοινό, σαν αποθήκη πληροφοριών (όπως λογισμικό, έγγραφα, εικόνες κλπ.) Συνήθως, με αυτό τον τρόπο παρέχεται πρόσβαση σε αρχειοθετημένες mailing lists. Οι χρήστες που εισέρχονται ανώνυμα πρέπει να έχουν περιορισμένα δικαιώματα πρόσβασης σε αρχεία του host. Διαφορετικά, εαν μπορούν να διαβάσουν οποιοδήποτε αρχείο ή να δημιουργήσουν νέα, δημιουργούνται προβλήματα ασφαλείας.

Ασφάλεια

Το FTP δεν σχεδιάστηκε με πρόνοια για ασφάλεια, με συνέπεια οι εφαρμογές να είναι ιδιαίτερα ευάλωτες και να εμφανίζονται ποικίλα προβλήματα κατά τη χρήση firewall ή NAT.

Προβλήματα NAT

Στην ενεργητική λειτουργία o διακομιστής FTP ξεκινά μια σύνδεση δεδομένων συνδεόμενος στην εξωτερική αριθμητική διεύθυνση της πύλης (Αγγλ. gateway) NAT. Στην άλλη πλευρά, το μηχάνημα το οποίο είναι υπεύθυνο για τη "μετάφραση" των εσωτερικών αριθμητικών διευθύνσεων του δικτύου στην εξωτερική, θα πάρει το SYN πακέτο για τη δημιουργία της σύνδεσης. Όμως, στον πίνακα κατάστασης (state table) του ΝΑΤ, στον οποίο διατηρείται το ιστορικό μεταφράσεων, δεν έχει καταγραφεί κανένα, με αποτέλεσμα το πακέτο να απορρίπτεται (γίνεται drop). To πακέτο δεν φτάνει ποτέ στον πελάτη, δεν σχηματίζεται σύνδεση δεδομένων και η μεταφορά δεδομένων είναι αδύνατη.

Στην παθητική λειτουργία, επειδή η θύρα στην οποία συνδέεται ο διακομιστής είναι τυχαία, είναι πιθανόν να μην επιτρέπεται σύνδεση προς τον αριθμό της από το λογισμικό - τείχος προστασίας (firewall). Σε αυτή την περίπτωση η σύνδεση δεδομένων δεν θα δημιουργηθεί και, επομένως, δεν θα μεταφέρονται δεδομένα.

Έλλειψη κρυπτογράφησης

Τα δεδομένα που ανταλλάσσονται μέσω FTP δεν είναι κρυπτογραφημένα με αποτέλεσμα οι εντολές που αποστέλλονται μέσω της σύνδεσης ελέγχου να είναι απλό κείμενο. Για το λόγο αυτό μπορούν εύκολα, με τη χρήση ενός sniffer, να αλιευθούν, να διαβασθούν και να ξανασταλούν ανάλογα με τη βούληση του επιτιθέμενου. Ανάμεσα σε αυτές, η εντολή που χρησιμοποιείται για την είσοδο (Αγγλ. login) σε ένα λογαριασμό FTP, με τη σύνταξη "PASS password", παρέχει στον επιτιθέμενο τον κωδικό του χρήστη. Αν συνδυαστεί με την εντολή "USER", με την οποία αποστέλεται το όνομα του χρήστη, ο επιτιθέμενος μπορεί να χρησιμοποιήσει τα στοιχεία για να εισέλθει στον ξένο λογαριασμό με τα ίδια δικαιώματα.

Επειδή οι περισσότεροι άνθρωποι τείνουν να επαναχρησιμοποιούν κωδικούς, ο επιτιθέμενος έχει αυξήσει τις πιθανότητες του σε μια brute-force attack. Με αυτό τον τρόπο, είναι πιθανό να αποκτήσει έλεγχο του συστήματος του χρήστη μόλις βρει την αριθμητική διεύθυνση του, ανιχνεύοντας την έναρξη της συνόδου FTP (FTP session).

Man-in-the-middle

Με το κύριο File Transfer Protocol, ο διακομιστής δεν εξασφαλίζει ότι ο πελάτης είναι αυτός που λέει, ούτε ο πελάτης αντίστοιχα για τον διακομιστή. Ευκολονόητο, εφόσον το FTP δεν απαιτεί επαλήθευση των hosts και δεν ελέγχει αν τα δεδομένα προέρχονται από αυτούς, ούτε τα προστατεύει. Για αυτό το λόγο και τα δύο άκρα που ανταλλάσσουν δεδομένα, είναι ανοιχτά σε man-in-the-middle attack από κάποιον επιτιθέμενο που συλλαμβάνει τα πακέτα του κάθε host, και στέλνει ψευδείς απαντήσεις.

Προγράμματα FTP

Παρακάτω είναι ένας κατάλογος από FTP προγράμματα που μπορείτε να χρησιμοποιήσετε για να συνδεθείτε σε ένα διακομιστή FTP.

  1. FileZilla – Ένα φανταστικό ελεύθερο FTP και SFTP, με ότι χρειάζονται οι περισσότεροι χρήστες
  2. WinSCP - Ένα άλλο φανταστικό ελεύθερο FTP, SFTP, SCP βοήθημα το οποίο υποστηρίζει και scripting
  3. SmartFTP – Ένα σπουδαίο πρόγραμμα FTP με ότι χρειάζονται οι περισσότεροι χρήστες.
  4. CuteFTP – Ένα άλλο δημοφιλές και ευρέως χρησιμοποιούμενο πρόγραμμα FTP.
  5. Internet Explorer – Οι χρήστες που έχουν Microsoft Internet Explorer στους υπολογιστές τους, μπορούν να τον χρησιμοποιήσουν για να συνδεθούν σε FTP εξυπηρετητές.

Υποστήριξη από περιηγητές/φυλλομετρητές

Οι περισσότεροι περιηγητές του διαδικτύου μπορούν να ανακτήσουν αρχεία που φιλοξενούνται σε εξυπηρετητές FTP, αν και μπορεί να μην υποστηρίζουν επεκτάσεις του πρωτοκόλλου, όπως το FTPS. Όταν δίνουμε μία διεύθυνση FTP αντί για μία HTTP-URL, το περιεχόμενο στο οποίο έχουμε πρόσβαση εμφανίζεται με έναν τρόπο όμοιο με το περιεχόμενο του Παγκόσμιου Ιστού.

Σύνταξη

Η FTP URL σύνταξη περιγράφεται στην RFC1738,[13] και έχει την μορφή: ftp://[<user>[:<password>]@]<host>[:<port>]/<url-path>[13] (Τα μέρη που βρίσκονται μέσα στις τετράγωνες παρενθέσεις είναι προαιρετικά).
Για παράδειγμα:
ftp://public.ftp-servers.example.com/mydirectory/myfile.txt[νεκρός σύνδεσμος]
ή:
ftp://user001:secretpassword@private.ftp-servers.example.com/mydirectory/myfile.txt[νεκρός σύνδεσμος]
Περισσότερες πληροφορίες όσο αφορά το username και το password, μπορούν να βρεθούν στην τεκμηρίωση των Browser. Από προεπιλογή οι περισσότεροι χρησιμοποιούν την παθητική λειτουργία (PASV), η οποία πιο εύκολα περνά τους Firewall των τελικών χρηστών.

Δείτε επίσης

Εξωτερικοί σύνδεσμοι

RFCs
  • RFC 959 — File Transfer Protocol (FTP). J. Postel, J. Reynolds. Oct-1985. (Αγγλικά)
  • RFC 1635 — How to Use Anonymous FTP (Αγγλικά)
  • RFC 2228 — FTP Security Extensions (Αγγλικά)
  • RFC 2640 – Internationalization of the File Transfer Protocol (Αγγλικά)
Άλλα κείμενα
Διακομιστές