close

File Transfer Protocol

Siirry navigointiin Siirry hakuun
File Transfer Protocol
Perhe Internet-protokollaperhe
Toiminto tiedostonsiirto
portit 20/TCP DATA Port
21/TCP Control Port
Sijainti protokollapinossa
Sovellus FTP
Kuljetus TCP
Netto IP
standardit
FTP: RFC 959 ( 1985 )
FTP-laajennukset IPv6:lle ja NAT:ille: RFC 2428 ( 1998 )

File Transfer Protocol (englanniksi File Transfer Protocol tai FTP ) on verkkoprotokolla tiedostojen siirtämiseen TCP -verkkoon (Transmission Control Protocol) kytkettyjen järjestelmien välillä , joka perustuu asiakas-palvelin- arkkitehtuuriin . Asiakastietokoneelta voit muodostaa yhteyden palvelimeen ladataksesi tiedostoja siitä tai lähettääksesi tiedostoja siihen riippumatta kunkin tietokoneen käyttöjärjestelmästä.

FTP-palvelun tarjoaa käyttäjälle TCP/IP -verkkokerrosmallin sovelluskerros normaalisti verkkoportteilla 20 ja 21. FTP:n perusongelma on, että se on suunniteltu tarjoamaan maksimiyhteysnopeus, mutta ei maksiminopeutta. turvallisuus, koska kaikki tiedonvaihto käyttäjän kirjautumistunnuksesta ja salasanasta palvelimella minkä tahansa tiedoston siirtoon tapahtuu pelkkänä tekstinä ilman minkäänlaista salausta, jolla mahdollinen hyökkääjä voi kaapata tämän liikenteen ja päästä palvelimelle. ja/tai kaapata siirretyt tiedostot.

Tämän ongelman ratkaisemiseksi SSH - pakettiin sisältyvät sovellukset, kuten SCP ja SFTP , ovat erittäin hyödyllisiä ja mahdollistavat tiedostojen siirron, mutta kaikki liikenne on salattua .

Historia

FTP-protokolla otettiin käyttöön huhtikuussa 1971, julkaistu nimellä RFC 114 , ennen kuin TCP/IP-pino oli olemassa. Yleinen rakenne perustettiin vuonna 1973. Sitä muutettiin useita kertoja lisäämällä uusia komentoja ja toimintoja. Lopulta lokakuussa 1985 julkaistiin RFC 959 , joka on tällä hetkellä käytössä. [ 1 ]

FTP-malli

Image
Seuraava malli esittää FTP-palvelun kaaviota.

Mallissa käyttäjän PI aloittaa ohjausyhteyden portissa 21. Käyttäjä-PI generoi vakio-FTP-komennot ja välittää ne palvelinprosessille ohjausyhteyden kautta. Vakiovastaukset lähetetään palvelimen PI:ltä käyttäjän PI:lle ohjausyhteyden kautta vastauksena komentoihin.

Nämä FTP-komennot määrittävät datayhteyden parametrit (tietoportti, siirtotila, esitystapa ja rakenne) ja tiedostojärjestelmän toiminnon luonnetta (tallennus, nouto, lisääminen, poistaminen jne.). Käyttäjätiedonsiirtoprosessin (DTP) tai jonkin muun prosessin tulisi odottaa, että palvelin muodostaa yhteyden määritettyyn dataporttiin (portti 20 aktiivisessa tai vakiotilassa) ja siirtää tiedot määritettyjen parametrien perusteella.

Näemme myös kaaviosta, että viestintä asiakkaan ja palvelimen välillä on riippumaton kussakin tietokoneessa käytetystä tiedostojärjestelmästä , joten sillä ei ole väliä, että niiden käyttöjärjestelmät ovat erilaisia, koska keskenään kommunikoivat entiteetit ovat PI ja DTP. , jotka käyttävät samaa standardoitua protokollaa: FTP.

On myös huomioitava, että datayhteys on kaksisuuntainen, eli sillä voidaan lähettää ja vastaanottaa samanaikaisesti, eikä sen tarvitse olla olemassa FTP-yhteyden keston ajan. Mutta siinä oli alussa ongelma, ja se oli palvelimien sijainti verkossa. Toisin sanoen käyttäjän, joka halusi ladata tiedoston, oli tiedettävä, millä koneella se sijaitsee. Ainoa olemassa ollut tiedonhakutyökalu oli Gopher kaikkine rajoituksineen.

Ensimmäinen tiedonhakija

Gopher tarkoittaa tietoon törmäämistä. Se on palvelu, jonka tavoitteena on paikantaa tiedostoja niiden otsikon perusteella. Se koostuu joukosta resurssivalikoita, jotka sijaitsevat eri koneissa ja jotka ovat keskenään yhteydessä. Jokainen kone palvelee tiettyä tietoaluetta, mutta sen sisäinen organisaatio mahdollistaa niiden kaikkien toiminnan ikään kuin ne olisivat yksi kone. Käyttäjä liikkuu näissä valikoissa, kunnes hän löytää etsimänsä tiedon, eikä hän tiedä tarkalleen, miltä koneelta tietoja lataa. Internetin myötä tehokkaat hakukoneet poistuivat Gopher-palvelusta, eikä FTP-palvelimien paikantaminen enää ollut ongelma. Tällä hetkellä, kun käyttäjä lataa tiedoston web-sivun linkistä, hän ei edes tiedä lataavansa FTP-palvelimelta. FTP-palvelu on kehittynyt ajan myötä ja nykyään sitä käytetään laajasti Internetissä, yritysverkoissa, intranetissä jne. Kaikki käyttöjärjestelmät tukevat suuria määriä FTP-protokollaan perustuvia ohjelmistoja.

FTP-palvelin

FTP-palvelin on erityinen ohjelma, joka toimii palvelintietokoneessa, joka on normaalisti yhteydessä Internetiin (vaikka se voi olla yhteydessä muuntyyppisiin verkkoihin, LAN , MAN jne.). Sen tehtävänä on mahdollistaa tiedonvaihto eri palvelimien/tietokoneiden välillä.

Yleensä FTP-palvelinohjelmia ei yleensä löydy henkilökohtaisista tietokoneista, joten käyttäjä tavallisesti käyttää FTP:tä muodostaakseen etäyhteyden johonkin ja vaihtaakseen siten tietoja sen kanssa.

FTP-palvelimien yleisimmät sovellukset ovat yleensä web-hosting , joissa asiakkaasi käyttävät palvelua verkkosivujensa ja niitä vastaavien tiedostojen lataamiseen; tai yrityksen tärkeiden tiedostojen varmuuskopiointipalvelimeksi (varmuuskopioksi). Tätä varten on olemassa FTP-viestintäprotokollia, joiden avulla tiedot lähetetään salattuna, kuten SFTP ( Secure File Transfer Protocol ).

Esimerkkejä palvelimista

FTP-asiakas

Jos selaimessa ei ole FTP-toimintoa tai jos haluat ladata tiedostoja etätietokoneeseen, sinun on käytettävä FTP-asiakasohjelmaa. FTP-asiakas on ohjelma, joka on asennettu käyttäjän tietokoneeseen ja joka käyttää FTP-protokollaa yhteyden muodostamiseen FTP-palvelimeen ja tiedostojen siirtämiseen joko niiden lataamiseen tai lähettämiseen.

FTP-asiakasohjelman käyttämiseksi sinun on tiedettävä tiedoston nimi, tietokone, jossa se sijaitsee (palvelin, jos lataat tiedostoja), tietokone, jolle haluat siirtää tiedoston (jos haluat ladata sen palvelimelle) ja kansio, jossa se sijaitsee.

Jotkut peruskonsolitilan FTP-asiakkaat on sisäänrakennettu käyttöjärjestelmiin , mukaan lukien Microsoft Windows , DOS , GNU/Linux ja Unix . Saatavilla on kuitenkin asiakkaita lisäominaisuuksilla ja graafisella käyttöliittymällä. Vaikka monissa selaimissa on sisäänrakennettu FTP, se on luotettavampi, kun muodostetaan yhteys ei-anonyymeihin FTP-palvelimiin asiakasohjelman käyttämiseksi.

Anonyymi pääsy

Anonyymit FTP-palvelimet tarjoavat palveluitaan vapaasti kaikille käyttäjille, ne mahdollistavat pääsyn tiedostoihisi ilman 'USER ID' -tunnusta tai käyttäjätiliä. Se on kätevin tapa verkkopalvelun ulkopuolella antaa kaikille pääsy tiettyihin tietoihin ilman, että järjestelmänvalvojan tarvitsee luoda tiliä jokaiselle käyttäjälle.

Jos palvelimella on "anonyymi FTP" -palvelu, pääset kyseiseen järjestelmään kirjoittamalla sanan "anonymous", kun se pyytää käyttäjääsi. Esiasetettua salasanaa ei tarvita, vaikka se on syötettävä vain sitä varten, yleensä käytetään omaa sähköpostiosoitettasi.

Vain sillä pääset käsiksi FTP-tiedostoihin, vaikkakin vähemmän oikeuksilla kuin tavallisella käyttäjällä. Normaalisti voit lukea ja kopioida vain julkisia tiedostoja, kuten sen palvelimen järjestelmänvalvoja on ilmoittanut, johon haluamme muodostaa yhteyden.

Yleensä nimettömällä FTP-palvelimella tallennetaan suuria tiedostoja, joista ei ole hyötyä, jos niitä ei siirretä käyttäjän koneelle, kuten ohjelmia, ja web-sivupalvelimet (HTTP) on varattu verkossa luettavaksi tarkoitettujen tekstitietojen tallentamiseen.

Käyttäjän käyttöoikeus

Jos haluat saada käyttöoikeudet johonkin FTP-palvelimen tiedostojärjestelmän osaan, muokata olemassa olevia tiedostoja ja mahdollisuuden ladata omia tiedostoja, se tehdään yleensä käyttäjätilin kautta. Eri käyttäjätilien tiedot, joilla on pääsy siihen, tallennetaan palvelimelle, joten FTP-istunnon aloittamiseksi meidän on syötettävä todennus ( englanniksi : login ) ja salasana (englanniksi: salasana ), joka tunnistaa meidät yksilöllisesti.

Web-pohjainen FTP-asiakas

"Web-pohjainen FTP-asiakas" ei ole muuta kuin FTP-asiakas, jota voimme käyttää verkkoselaimemme kautta ilman, että siihen tarvitaan toista sovellusta. Käyttäjä muodostaa yhteyden HTTP:n kautta verkkopalvelimeen ja verkkopalvelin FTP:n kautta tiedostopalvelimeen. Web-palvelin toimii välittäjänä välittämällä tiedot FTP-palvelimelta porteissa 20 ja 21 käyttäjän näkemään HTTP-porttiin 80.

Aina on hetkiä, jolloin olemme poissa kotoa, meillä ei ole kannettavaa tietokonetta mukana ja meidän on suoritettava kiireellinen tehtävä julkiselta tietokoneelta, ystävältä, työpaikalta, yliopistolta jne. Yleisin asia on, että tarvitsemiamme sovelluksia ei ole asennettu ja monissa tapauksissa meiltä puuttuu jopa tarvittavat oikeudet asentaa niitä. Muina aikoina olemme välityspalvelimen tai palomuurin takana, joka ei salli meidän käyttää ulkoisia FTP-palvelimia.

Web-pohjaisen FTP-asiakkaan avulla voimme käyttää FTP-etäpalvelinta aivan kuin tekisimme mitä tahansa muuta verkkoselailua. Web-pohjaisen FTP-asiakkaan avulla voit luoda, kopioida, nimetä uudelleen ja poistaa tiedostoja ja hakemistoja. Muuta käyttöoikeuksia, muokkaa, tarkastele, lataa ja lataa tiedostoja sekä muita FTP-protokollan toimintoja, jotka FTP-etäpalvelin sallii.

Vieraskäyttö

Käyttäjätilien tarjoama rajoittamaton pääsy palvelimelle merkitsee tietoturvaongelmia, mikä on synnyttänyt kolmannen tyyppisen FTP-pääsyn nimeltä guest (vieras), jota voidaan pitää kahden edellisen yhdistelmänä.

Tämän mekanismin idea on seuraava: se tarkoittaa, että jokainen käyttäjä voi muodostaa yhteyden koneeseen kirjautumistunnuksensa ja salasanansa kautta, mutta estää heitä pääsemästä tiedostojärjestelmän osiin, joita he eivät tarvitse työnsä suorittamiseen. , tällä tavalla he pääsevät rajoitettuun ympäristöön, joka on hyvin samanlainen kuin anonyymisti pääsyssä, mutta enemmän etuoikeuksia.

Esimerkkejä FTP-asiakkaista

Erilaisten olemassa olevien FTP-asiakkaiden joukosta voidaan mainita seuraavat: [ 2 ]

  • net2ftp
  • Web Drive [ 3 ]
  • Web-Ftp
  • Jambai-FTP
  • ftp4net
  • PHP-FTP-asiakas
  • Asuk PHP FTP
  • Weeble-tiedostonhallinta
  • FileZilla [ 4 ]

FTP-asiakasyhteystilat

FTP tukee kahta asiakasyhteystilaa. Näitä tiloja kutsutaan aktiivisiksi (tai Standardiksi tai PORTiksi, koska asiakas lähettää PORT-tyyppiset komennot palvelimelle ohjauskanavan kautta yhteyttä muodostettaessa) ja passiivisiksi (tai PASV, koska se lähettää tässä tapauksessa PASV-tyyppisiä komentoja). Sekä aktiivisessa että passiivisessa tilassa asiakas muodostaa yhteyden palvelimeen käyttämällä porttia 21, joka muodostaa ohjauskanavan.

Aktiivinen tila

Image
Aktiivinen tila.

Aktiivitilassa palvelin luo datakanavan aina porttiin 20, kun taas asiakaspuolella datakanava on liitetty satunnaiseen porttiin, joka on suurempi kuin 1024. Tätä varten asiakas lähettää palvelimelle ohjauksen kautta PORT-komennon. kanava, joka ilmaisee kyseisen portin numeron, jotta palvelin voi avata datayhteyden, jonka kautta tiedostot ja luettelot siirretään määritettyyn porttiin.

Yllä olevalla on vakava tietoturvaongelma, toisin sanoen asiakaskoneen on oltava valmis vastaanottamaan kaikki saapuvat yhteydet portista, joka on suurempi kuin 1024, ja ongelmat, joita tämä tarkoittaa, jos tietokone on kytketty suojaamattomaan verkkoon, kuten Internetiin. . Itse asiassa palomuurit , jotka on asennettu tietokoneeseen hyökkäysten estämiseksi, hylkäävät varmasti nämä satunnaiset yhteydet. Tämän passiivisen tilan ratkaisemiseksi kehitettiin . Vaikka se ei todellakaan ole niin, koska turvallisuudesta tulee varmasti vakava ongelma.

Passiivinen tila

Image
Passiivinen tila.

Kun asiakas lähettää PASV-komennon ohjauskanavan yli, FTP-palvelin kertoo sille ohjauskanavan kautta portin (palvelimen yli 1024. Esimerkki: 2040), johon asiakkaan tulee muodostaa yhteys. Asiakas aloittaa yhteyden ohjausporttia seuraavasta portista (esimerkki: 1036) yllä määritettyyn palvelinporttiin (esimerkki: 2040). [ 5 ]

Ennen jokaista uutta siirtoa sekä aktiivisessa että passiivisessa tilassa asiakkaan on lähetettävä uudelleen ohjauskomento (PORT tai PASV, riippuen tilasta, jossa se on liittynyt), ja palvelin vastaanottaa kyseisen datayhteyden uudessa portissa (satunnainen, jos se on passiivisessa tilassa tai portin 20 kautta, jos se on aktiivisessa tilassa).

Tiedostonsiirron tyypit FTP:ssä

FTP-protokollassa on kaksi siirtotyyppiä ASCII-muodossa ja binäärimuodossa. On tärkeää tietää, miten tiedosto tulee siirtää verkon yli, jos emme käytä asianmukaisia ​​vaihtoehtoja, voimme tuhota tiedoston tiedot. Siksi FTP-sovellusta suoritettaessa meidän on muistettava käyttää jotakin näistä komennoista (tai laittaa vastaava vaihtoehto ohjelmaan, jossa on graafinen käyttöliittymä):

  • ASCII tyyppi

Soveltuu vain tulostettavia merkkejä sisältävien tiedostojen (ASCII-tiedostot, ei tekstinkäsittelyohjelman tulostustiedostot), esimerkiksi HTML-sivujen, mutta ei niiden sisältämien kuvien siirtämiseen. Jotkut ohjaussymbolit on muunnettu pitämään ne yhteensopivina eri järjestelmien välillä. Jos tiedosto esimerkiksi isännöi linux-palvelinta, tekstitiedostojen rivinvaihto on "\n" (tavu 10 desimaaliluvulla). Jos asiakas on Mac-järjestelmä, rivinvaihto on "\r" (tavu 13 desimaalissa), tämä tila muuttaa nämä ohjaussymbolit niin, että tiedosto on luettavissa molemmilta puolilta, aivan kuten jos se lähetetään järjestelmäikkunoihin, rivinvaihto on "\r\n" (kaksi tavua, 13 ja 10). Jos tätä tilaa käytetään muissa kuin pelkissä tekstitiedostoissa, tiedosto vioittuu, jos niitä vaihdetaan eri järjestelmien välillä.

  • Binäärityyppi

Tätä tyyppiä käytetään muun muassa pakattujen tiedostojen, PC:n suoritettavien tiedostojen, kuvien, äänitiedostojen yhteydessä.

Esimerkkejä joidenkin tiedostotyyppien siirtämisestä niiden laajennuksen mukaan:

tiedostopääte siirtotyyppi
txt (teksti) ascii
html (verkkosivu) ascii
doc (asiakirja) binääri
ps (jälkikirjoitus) ascii
hqx (pakattu) ascii
Z (pakattu) binääri
ZIP (pakattu) binääri
ZOO (pakattu) binääri
istua (puristettuna) binääri
kuoppa (puristettu) binääri
shar (pakattu) binääri
uu (pakattu) binääri
ARC (pakattu) binääri
terva (pakattu) binääri

Verkossa on erilaisia ​​ohjelmistoratkaisuja, jotka kehittävät tällaista tekniikkaa, tunnetuimmat ovat Filezilla ( ilmainen ohjelmisto ) ja CuteFTP ( jakoohjelmisto ).

FTP-komennot

Komento ja argumentit tekemäsi toimenpide
avoin ovi Aloittaa yhteyden FTP-palvelimeen.
sulje tai irrota Katkaisee FTP-yhteyden sulkematta asiakasohjelmaa.
hei tai lopeta Lopettaa FTP-yhteyden ja työistunnon asiakasohjelman kanssa.
cd- hakemisto Muuta palvelimen työhakemistoa.
poista tiedosto Poista tiedosto palvelimelta
poista kuvio Poista useita tiedostoja nimessä käytetyn mallin perusteella.
sanoa Näyttää sen hakemiston sisällön, jossa olemme palvelimella.
hanki tiedosto hanki tiedosto
noop Ei operaatiota Palvelimelle kerrotaan, että asiakas on lepotilassa, palvelin vastaa yleensä "ZZZ" ja päivittää käyttäjän tyhjäkäyntiajastimen.
mget- tiedostot Hanki useita tiedostoja
tiivisteet Mahdollistaa # merkin tulostamisen, kun tiedostoja siirretään, edistymispalkkina.
lcd- hakemisto Vaihda paikallinen työhakemisto.
ls Näyttää palvelimella olevan hakemiston sisällön.
kehote Ottaa käyttöön/poistaa käytöstä käyttäjän vahvistuksen komennon suorittamisesta. Esimerkiksi kun poistat useita tiedostoja.
laita tiedosto Lähetä tiedosto palvelimen aktiiviseen hakemistoon.
laita tiedostoja Lähetä useita tiedostoja.
pwd Näyttää aktiivisen hakemiston palvelimella.
nimeä tiedosto uudelleen Nimeä tiedosto uudelleen palvelimella.
rmdir- hakemisto Poista hakemisto palvelimelta, jos se on tyhjä.
Tila Näyttää yhteyden nykyisen tilan.
bin tai binääri Aktivoi binäärisiirtotilan.
ascii Aktivoi siirtotilan ASCII-tekstitilassa.
! Voit poistua komentoriviltä väliaikaisesti katkaisematta yhteyttä. Palaa kirjoittamalla komentoriville exit .
? komennon nimi Näyttää tietoja komennosta.
? tai apua Näyttää luettelon käytettävissä olevista komennoista.
liitä tiedostonimi Jatkaa latausta, joka on aiemmin leikattu.
kello Ottaa käyttöön/poistaa käytöstä äänen toistamisen, kun mikä tahansa tiedostonsiirtoprosessi on valmis.
maapallo Aktivoi/deaktivoi tietokoneemme pitkien nimien näyttö.
kirjaimellinen Tällä komennolla voit suorittaa palvelinkomentoja etänä. Saatavilla olevat tiedot löydät käyttämällä: literal help .
mkdir Luo ilmoitettu hakemisto etänä.
lainata Toimii samalla tavalla kuin literal .
lähetä tiedoston nimi Lähettää ilmoitetun tiedoston palvelimen aktiiviseen hakemistoon.
käyttäjä Voit vaihtaa käyttäjätunnuksemme ja salasanamme poistumatta ftp-istunnosta.

FTP-vastauskoodit

Alla on yhteenveto FTP-vastauskoodeista, jotka FTP-palvelin voi palauttaa. IETF on standardoinut nämä koodit RFC 959 :ssä. Vastauskoodi on kolminumeroinen arvo. Ensimmäistä numeroa käytetään ilmaisemaan yksi kolmesta mahdollisesta tuloksesta – onnistuminen, epäonnistuminen tai osoittamaan virhettä tai epätäydellistä vastausta:

  • 2yz - Onnistunut vastaus
  • 4yz tai 5yz - Ei vastausta
  • 1yz tai 3yz - Virhe tai epätäydellinen vastaus

Toinen numero määrittelee virheluokan:

  • x0z - Syntaksi. Nämä vastaukset viittaavat syntaksivirheisiin.
  • x1z - tiedot. Vastaukset tietopyyntöihin.
  • x2z - Liitännät. Vastaukset ohjaus- ja datayhteyksiin liittyen.
  • x3z - Todennus ja kirjanpito. Vastaukset kirjautumisprosessiin ja kirjanpitoon.
  • x4z - Ei määritelty.
  • x5z - tiedostojärjestelmä. Nämä vastaukset välittävät tilakoodit palvelimen tiedostojärjestelmästä.

Vastauskoodin kolmatta numeroa käytetään antamaan lisätietoja jokaisesta toisella numerolla määritellystä luokasta. [ 6 ]

Yhdistä suojattuun FTP-palvelimeen selaimesta

Jos haluat kirjautua sisään FTP-palvelimelle, joka vaatii salasanan, kirjoita URL-osoite seuraavasti:

ftp://<usuario>:<contraseña>@<servidor ftp>/<url-ruta>

Missä <usuario>on käyttäjänimi, <servidor ftp>FTP-palvelin, <contraseña>pääsysalasana ja <url-ruta>hakemisto, johon kirjaudumme.

Esimerkki:ftp://alumno:[email protected]/public

Katso myös

FTP-palvelimet

Ulkoiset linkit

pöytäkirja

Viitteet