Ühendage FTP aktiivses režiimis. Aktiivne ja passiivne FTP-režiim

Nagu on teada, erineb FTP-protokoll teistest protokollidest, mis nõuab kahte pistikupesa - üks käsk (serveriga suhtlemiseks) ja teine \u200b\u200bandmeedastuse jaoks. Sellega on vähem selge. Lisaks esitletakse esmapilgul esmapilgul nagu passiivsed ja aktiivsed FTP ühendi režiimid. Kuid see on ainult esmapilgul.

Ja nüüd üksikasjalikumalt. Erinevalt HTTP-st ja enamik teisi Internetis kasutatavaid protokolle kasutab FTP-protokolli istungi ajal vähemalt kahte ühendust: pool dupleksühendus juhtimiseks ja täieliku dupleksühenduse andmete edastamiseks. Vaikimisi kasutatakse TCP Port 21-d serveriühenduste haldamiseks, kuid andmesideühendus määrab meetodiga, mida klient kasutab serveriga ühenduse loomiseks.

Aktiivne FTP-ühenduse režiim

Aktiivne fTP-režiim Mõnikord nimetavad nad "hallatava kliendi", sest klient saadab serverile pordi (läbi juhtühendi kaudu), paludes seeläbi serveril luua TCP-Port 20 andmesideühendust, mis kasutab TCP-porti, mis on määratud sadama käsk.

FTP-klient saadab Port FTP-serveri käsu järgmises vormingus:

Port 192,168,0,3,19,243

kui esimesed neli väärtust vastavad kliendi IP-aadressi Oscintile ja viies ja kuues on 16-bitise sadama väärtuse vanem- ja nooremad baitsed. Vanemate ja nooremate baitide teisendamiseks kümnendsadama numbrile korrutatakse viienda väärtus 256-ga ja kogus lisatakse tulemusele. Peegi näitena osutub see välja: (19 * 256) + 243 \u003d 5107. Seega näitab klient serverit andmesideühenduse avamiseks, kasutades 192.168.0.3:5107. Vaikimisi valib FTP-klient andmete ühendamiseks ajutise sadama. Ajutine sadam on juhuslikult valitud olemasolevate sadamate hulgast 1024 kuni 65535

Allpool on tüüpiline järjestus aktiivse FTP-režiimi - ühendused:

Meeskond Saadetud Saadetud kellegi poolt
Kasutaja Myusername. 192.168.4.29:8190 10.0.0.10:21
Pass MyPassword. 192.168.4.29:8190 10.0.0.10:21
CWD / 192.168.4.29:8190 10.0.0.10:21
250 CWD-käsku edukas. 10.0.0.10:21 192.168.4.29:8190
Port 192,168,4,29,31,255 192.168.4.29:8190 10.0.0.10:21
200 pordi käsk on edukas. 10.0.0.10:21 192.168.4.29:8190
Loetelu 192.168.4.29:8190 10.0.0.10:21
10.0.0.10:20 192.168.4.29:8191
226 Ülekanne täielikku. 10.0.0.10:21 192.168.4.29:8190

Passiivne FTP-ühenduse režiim

Passiivse režiimis FTP-d nimetatakse mõnikord "hallatavaks serveriks", sest pärast PASV-i saatmist kliendile reageerib server ühe oma aja sadamaga, mida kasutatakse andmetega serveriühendustena. Allpool on passiivse FTP-režiimi ühendamise tüüpiline järjestus:

Meeskond Saadetud Saadetud kellegi poolt
Kasutaja Myusername. 192.168.4.29:7971 10.0.0.10:21
Pass MyPassword. 192.168.4.29:7971 10.0.0.10:21
CWD / 192.168.4.29:7971 10.0.0.10:21
250 CWD-käsku edukas. 10.0.0.10:21 192.168.4.29:7971
Pasiv 192.168.4.29:7971 10.0.0.10:21
227 Passiivse režiimi sisestamine (192,168,4,29,9,227). 10.0.0.10:21 192.168.4.29:7971
Loetelu 192.168.4.29:7971 10.0.0.10:21
10.0.0.10:2531 192.168.4.29:7972
226 Ülekanne täielikku. 10.0.0.10:21 192.168.4.29:7971

FTP-protokolli kasutatakse pikka aega ja esmapilgul on äärmiselt lihtne. Kuid see lihtsus ilmne ja palju hakkavad kogema probleeme FTP-ühenduse loomisega, eriti kui server või klient on tulemüüri või NATMi taga. Seetõttu räägime töö omadustest. fTP-protokoll Erinevates režiimides.

FTP-protokoll on vanim võrguprotokoll (loodud 1971. aastal), kuid siiski kasutatakse seda päeva laialdaselt. Oluline funktsioon Protokoll on see, et ta kasutab mitmeid ühendusi: üks juhtkäskude jaoks, ülejäänud andmete jaoks. Veelgi enam, andmete edastamiseks võib olla mitmeid ühendusi, millest igaüks saab edastada mõlemas suunas. See on selle funktsiooniga, et mitmed probleemid on ühendatud.

Sõltuvalt meetodi loomise meetod andmeedastuse eristab aktiivseid ja passiivseid režiime FTP operatsiooni. Aktiivses režiimis loob server ise andmeedastuse ühenduse kliendile passiivses vastupidi. Mõtle nende režiimide üksikasjalikumalt.

Aktiivne režiim

Enamikul juhtudel normaalseks tööks FTP server NAT lihtsalt murda 21 sadama juhtsioonis, 20 aktiivse režiimi (kui kasutatakse), samuti täpsustada ja võita vahemik dünaamilise sadamate andmeedastuse.

Teine oluline punkt, kui teete mitu FTP Põhja-sadamate sadamaid, peaksid igaühel täpsustama teie dünaamiliste sadamate vahemikus ja äratama väliste sadamate väliseid sadamaid. Miks? Kuna pordi number edastab server juhtimise käsu käsu ja ei tea midagi edasisaatmise kohta, kui serveris möödunud sadama number ei vasta välise liidese pordi numbrile, ei saa klient ühendust luua . Kuigi juhtiva sadama ja aktiivse režiimi port saab edastada mis tahes väliste sadamatega.

Loodame, et see artikkel aitab teil paremini mõista FTP-protokolli toimimise mehhanismi ja läheneda teadlikult konfiguratsiooni ja diagnostikaprotsessile.

» FTP server režiimid

FTP jaoks on vaja 2 ühendust - esimene käsud ja teine \u200b\u200bandmete jaoks. Esimene ühendus (andmetega) pärineb alati kliendist serverisse, kuid teine \u200b\u200bsuund varieerub aktiivsete ja passiivsete režiimide jaoks.

Aktiivse FTP puhul läheb teine \u200b\u200bühendus serverist kliendi arvutisse, kuid kuna selline ühendus on NAT-OS-i ja tulemüüri tõttu muutunud võimatuks, leiutas passiivse režiimi, kus server ütleb kliendile ( Läbi esimese ühenduse), millele sadama avada teise ühenduse (tavaliselt port on tavaliselt valitud server juhuslikult mõnedes vahemikus) ja teine \u200b\u200bühendus avaneb ka kliendiarvutisse serverisse.

Üks oluline punkt Kas see on enamik FTP-serverid (by vähemaltKui Windows all) ei võimalda ühe teise ühenduse sadamate vahemikku piirata, mis raskendab tulemüüri konfiguratsiooni ja teeb paljude nende jaoks võimatuks normaalse kaitse jaoks võimatuks. Näiteks, Serv-u. - Üks vähestest võimaldab teil seda vahemikku piirata.

"Kasuks" Tmeter

FTP-protokoll hõlmab kahte erinevat seost kliendi ja FTP-serveri vahel. Esimene ühendus nimetatakse juhtimiseks. See on mõeldud FTP-serveris kliendi sisselogimiseks, üleminekut FTP-serveri kataloogide vahel jne. Serverist failide loendi saamiseks laadige fail serverist alla või laadige fail serverisse, teine \u200b\u200bühendus, mida nimetatakse andmete edastamiseks (andmesideühendus).

Juhtühend on võrdselt aktiivse ja passiivse režiimi jaoks. Klient käivitab TCP-ühenduse dünaamilisest sadamast (1024-65535) FTP-serveri pordi number 21 ja ütleb "Tere! Ma tahan teiega ühendust luua. Siin on minu nimi ja minu parool. " Edasised tegevused sõltuvad sellest, milline FTP-režiim (aktiivne või passiivne) on valitud.

Sisse aktiivne režiimKui klient ütleb "Tere!" Samuti räägib see pordi numbriserver (dünaamilisest vahemikust 1024-65535), nii et server saab kliendiga ühendust luua andmete edastamise ühenduse seadmiseks. FTP-server ühendab määratud portimisnumbriga, kasutades TCP-pordi numbrit 20 andmete edastamiseks.

Sisse passiivne Režiim pärast seda, kui klient ütles "Tere!", teatab server kliendile TCP-pordi number (dünaamilisest vahemikust 1024-655535), millele saab ühendada andmete edastamise ühenduse seadistamiseks.

Peamine erinevus aktiivse FTP-režiimi ja passiivse FTP-režiimi vahel on partei, mis avab ühenduse ühenduse. Aktiivses režiimis peab klient aktsepteerima ühendust FTP-serveriga. Passiivse režiimis algatab klient alati ühenduse.

Toimeaine näide:

Juhtühendus: kliendi sadam 1026\u003e< Server port 20

Passiivse ühenduse näide:

Juhtühendus: kliendi sadama 1026\u003e Server Port 21 andmesideühendus: kliendi sadam 1027< Server port 2065

Failiülekandeprotokoll esimest korda standardiseeritud 1970. aastate alguses, viitab rakenduste taseme protokollidele ja kasutab TCP transpordiprotokolli. FTP konstrueeriti ajal, mil kliendid ja serverid suhtlesid otse üksteisega ilma vahendajateta ja minimaalne kogus takistused.

FTP probleemid kaasaegsetes võrkudes

Kaasaegsetes võrkudes (NAT, tulemüür, koormuse tasakaalustamine) järgmised funktsioonid FTP ei võimalda tal normaalselt töötada:

  1. Kaks korda eraldi ühendid TCP / IP: andmete edastamise ja käsude edastamiseks;
  2. Andmeedastusühendust saab paigaldada juhusliku pordi numbrile;
  3. Andmeedastusühendus võib toimida nii serverist kliendile kui ka kliendile serverisse;
  4. Andmeülekande sihtkoha aadress (toimimisviisi valimine) koordineeritakse kliendi ja serveri vahelisel lennulülitamisel ülekande käskude ülekandmise kaudu;
  5. Käsude edastamiseks mõeldud ühendus on ootere¾iimis Andmete edastamise kaudu andmeedastusühenduse kaudu.

Probleem 1 on tingitud asjaolust, et ruuter või tasakaalustamine peab toetama kahte ühendust samade allikate ja vastuvõtja vahel.

Probleem 2 on tingitud asjaolust, et FTP ei saa töötada, kui sissetulevad sadamad on jäigalt piiratud ainult kindlasti tuntud. Need. Tavalises režiimis FTP ei saa töötada ainult siis, kui sissetuleva sadama, mida kasutatakse ühenduse edastamise käskudega, on avatud, nõuab see ka suure väärtusega avatud sadamate kogumit (49152-65534) andmete edastamiseks.

Probleem 4 on tingitud asjaolust, et NAT-i kasutamisel peab see muutma ühenduse pakettide sisu, et edastada käskude käsud, et serveri sisemine aadress asendataks välisega, samuti suunata Paketid sisenevad välise aadressi serveri sisemise aadressi juurde.

Probleem 5 on tingitud asjaolust, et marsruudi seadmed võivad katkestada "sõltuvad" ühendused käskude edastamiseks.

Kaks andmeedastusrežiimi FTP-s

FTP toetab kahte operatsioonirežiimi: aktiivne ja passiivne. Need erinevad mehhanismis andmete edastamise ühenduse loomiseks:

  • Aktiivses režiimis ühendab server oma 20. sadamast kliendi määratud porti.
  • Passiivse režiimis ühendab klient oma juhusliku sadamast kokkulepitud serveri porti.

Seega, kõik kaasaegsed FTP kliendid arutasid serveris, kellelt andmed edastatakse ja kes algatab ühenduse. Klient võib viidata kasutamise aktiivne režiim , Saatmine "Port" käsk, mis annab aru server, et teil on vaja ühendada konkreetse IP ja kliendi sadama ja alustada saatmise andmeid. Või klient saab kasutada passiivne režiim Pärast "PASV" saatmist serverisse, mis annab serverisse aru, et klient ootab IP ja serveriporti andmete vastuvõtmise alustamiseks.

Kuna klient on esialgu ühendatud serveriga, et luua käskide edastamise ühendus, oleks loogiline, kui andmeedastusühendus installis ka kliendile, st Postitas PASV käsk (samal ajal kõrvaldades probleemi FTP ja tulemüüri vahel). Kuid see ei ole nii, loojad FTP spetsifikatsiooni mingil põhjusel otsustas, et eelistatud režiim peaks olema sadam ja PASV toetus kliendi poolel on isegi vabatahtlik.

FTP toetab sisselogimist ja parooli juurdepääsu, kuid see ei ole ohutu, sest Neid edastatakse avatud tekstiga. Veebibrauseri kasutamisel saate edastada otse URL-ile.

FTP: // :@:/

Näide seansi kasutades aktiivseid ja passiivseid andmeedastusrežiime

Aktiivse režiimi näide, kus klient ühendab anonüümselt ja teeb ühe aktiivse andmeedastuse (Vaata katalooge).

Klient: Kasutaja anonüümne.
Server:
Klient: Üle andma [E-posti kaitstud]
Server: 230 sisse logitud anonüümselt.
Klient: Port 192,168,1,2,7,138. Klient soovib, et server ühendada sadama 1930 ja IP-aadress 192.168.1.2.
Server: 200 pordi käsk on edukas.
Klient: Loetelu
Server: 150 ASCII režiimi andmesideühenduse avamine / bin / ls jaoks. Server on ühendatud Port 21-st sadamale 1930 ja IP-aadress 192.168.1.2.
Server: 226 Koohise loetelu. Andmed edastatakse edukalt.
Klient: Lõpeta.
Server: 221 Goodbye.

Passiivse režiimi näide

Klient: Kasutaja anonüümne.
Server: 331 külaliste sisselogimine OK, saatke oma e-posti aadress parool.
Klient: Üle andma [E-posti kaitstud]
Server: 230 sisse logitud anonüümselt.
Klient: Pasiv Klient taotleb andmeid serverist ühendamiseks.
Server: 227 Passiivrežiimi väljatöötamine
(172,16,3,4,204,173)
Server vastab kliendile, et peate ühendama port 52397 ja IP-aadressiga 172.16.3.4.
Klient: Loetelu
Server: 150 andmesideühendust
172.16.3.4:52397; Ülekanne käivitamist.
Klient ühendatud serveriga port 52397 ja IP-aadress 172.16.3.4.
Server: 226 Koohise loetelu. Andmed edastatakse edukalt.
Klient: Lõpeta.
Server: 221 Goodbye.

Privaatsed probleemid:

    Port režiim - FTP klient NAT või tulemüüri jaoks

    Kõrgeim probleem FTP klientidega aktiivse režiimi abil - server peab olema kliendi IP-aadressiga ühendatud. Kui sellel teedel on tulemüür, lõpetades kõik sissetulevad ühendused, FTP-seanss ei toimu. Teine probleem - kui klient on NAT taga ja kasutab IP-aadressi sisemist IP-aadressi. Teavitades oma sisemist aadressi serverisse, julgustab klient seda ühendamise võimatu.

    Lahendus 1. FTP-klient peab olema konfigureeritud kasutama passiivset režiimi.

    Lahendus 2. NAT loomine FTP-ühenduste jälgimiseks. Kui klient kasutab aktiivset režiimi, peab NAT seade ümber kirjutama kliendi sisemise aadressi ja asendama selle seadme välise aadressiga. Seejärel ühendus, andmete edastamiseks FTP-serverist, nautides NAT-seadme välist aadressi, kulutatakse NAT-i sisemise aadressi jaoks NAT-i sisemisele aadressile.

    PASV režiim - FTP-server tulemüüri jaoks

    Kui FTP-server on tulemüüri taga, kogevad kliendid Passiivse režiimi abil probleeme, et ühendada FTP-serveri efemite sadamaga. Kõige rohkem sagedane probleemKui tulemüür, millele järgneb FTP server, vahetaks ainult mitmeid ühendusi tuntud sadamate ja plokkide teiste.

    Lahendus 1. Administraator saab avada tulemüüri sadamate rühma, mille kaudu saab FTP-serverit ühendada.

    Lahendus 2. Kui tulemüüri toetust on toetust, saab administraator konfigureerida nii, et sadamad avatakse automaatselt passiivse ühenduse loomiseks FTP-serveriga. See seade on sarnane ühele, mida on kirjeldatud NAT jaoks asuva aktiivse kliendi jaoks. Seega, kui tulemüür jälgib FTP-serveri vastuse kliendi passiivsele taotlusele, avab see ajutiselt vastuses määratud sadama ja ainult uurimisperioodil, millest passiivne päring tuli.

    PASV režiim - FTP-server NAT jaoks

    PASV FTP-režiimis vastab server kliendile oma sisemise IP-aadressi ja sadamaga kui Klient ei ole ühendamise võimatus.

    Lahendus 1. FTP-ühenduste jälgimise taga loomine andmete edastamiseks. Kui server saadab passiivse režiimis vastuse, peab NAT-seade serveri sisemise aadressi ümber kirjutama ja asendama selle seadme välise aadressiga. Seejärel kulutatakse FTP-kliendi andmete edastamise ühendus NAT-seadme välise aadressi registreerimisele NAT-i sisemisele aadressile NAT jaoks.

    PASV režiim - FTP-server koormuse tasakaalustaja jaoks

    Tasakaalustamine on üks IP-aadress, mis ühendab ühe tasakaalustava serveriga. Tasakaalustaja esindab FTP jaoks kaks probleemi. Esimene on tingitud asjaolust, et FTP-serveri ja kliendi vahele on paigaldatud mitmeid ühendusi: üks käskude edastamiseks ja ühe või mitme andmete edastamiseks edastamiseks. Passiivse režiimi abil peab tasakaalustamine suunama ühenduse andmete edastamiseks samale serverile kui ühendus käskude edastamiseks. Teine probleem on esimese probleemi tagajärg: Kui FTP-server vastab passiivsele reageerimisele, sisaldab see vastus FTP-serveri sisemist aadressi, mitte tasakaalustamise välist aadressi.

    Lahendus 1. Igale FTP-serverile tasakaalustaja jaoks määrake väljastpoolt kättesaadavaks õigustatud IP-aadress. Sel juhul FTP server suudab iseseisvalt teenindada FTP kliendid passiivse režiimis, mööda tasakaalustamine masin.

    Lahendus 2. Piduri konfigureerimine FTP-ühenduste jälgimise taga andmete edastamiseks. Kui server saadab passiivse režiimis vastuse, peab tasakaalustamine serveri sisemise aadressi ümber kirjutama ja asendama selle välise tasakaalustaja aadressiga. Seejärel käivitab ühendus FTP-kliendi andmete edastamiseks tasakaalustava draiveri välise aadressi registreerimisega FTP-serveri sisemise aadressi tasakaalustamiseks.

    Lahendus 3. Konfigureerige FTP-server, nii et tema vastused passiivse režiimis sisaldavad tasakaalustamise välist aadressi, mitte serverit ja loodab, et tasakaalustamine suunab ühenduse ooteserveriga suunata.

    Lahendamata probleem - tulemüürid mõlemas otsas

    Kui klient ja server on nii üle tulemüüride üle, mis piiravad kõiki sissetulevaid ühendusi, välja arvatud tuntud sadamate rühm, probleeme. Klient ei saa aktiivset režiimi kasutada, sest Server ei saa sellega ühendust luua ega saa kasutada passiivset režiimi, sest Ärge ühendage FTP-serveriga.
    Sel juhul peate muutma tulemüüri seadeid ja parem on seda teha serveri poolel.

    FTP-server mittestandardse pordiga

    Mõned marsruutimisseadmed on võimelised hakkama saama Ftp istungilAinult siis, kui nad tulevad standardse serveri porti. Seega, kui FTP-server kuulab mittestandardset sadamasse, peate ruuteri seadet reguleerima nii, et ta teaks, et FTP-server istub selles sadamas ja töödeldakse ühendused õigesti.

    Kuid isegi sel juhul võib kliendi poolel tulemüür sekkuda. See võib juhtuda, kui kliendi poolel olev tulemüür nõuab FTP-ühendust FTP-serveri andmete edastamiseks 20 sadamast (aktiivses režiimis). Kui FTP server töötab N-porti, siis vastavalt FTP spetsifikatsioonile on selle andmeedastusühendus pärit sadama N - 1 ja blokeerib kliendi tulemüüri.

    Tulemüüride põhjustatud probleemid enneaegselt lõpeb FTP-seansi

    See probleem leitakse kõige sagedamini suure faili ülekandmisel. Kui ühenduse parameetrid läbirääkimisi läbirääkimisi ja edastamine alustatakse, hakkavad käsud edastava ühenduse seista kuni failiülekande lõpuni. Kui marsruutimisseade ei tea FTP-st ja failiülekanne võtab aega kauem aega, ületab marsruutimisseadme vaatepunktist ühendus ooteaeg ja sissetulevad paketid kõrvaldatakse.

    Selle probleemi lahendus on seade, mis toetab seost käskude edastamiseks aktiivses olekus, isegi hoolimata asjaolust, et seda ei ole pikka aega edastatud paketid edastatud. Teine võimalus on võimaldada "Hoidke Alive" funktsioon TCP / IP-protokolli stack kliendi või serveri poolel, mis saadab kättesaadavuse paketi teatud ajavahemike järel ja kui sihtkoha pool ei reageeri - see sulgeb ühenduse normaalselt. Kui vastuvõtukülg vastab, loetakse tulemüüri ühendus aktiivseks.

  • Kasutage passiivset režiimi võimaluse korral (veebibrauserites kasutatakse vaikimisi)
  • Kui ühendus FTP-serveriga on edukalt läbinud, kuid kataloogi või failiülekanne lõpeb ühendusega ühenduse katkestamisega, tõenäoliselt probleemiga kaasamise aktiivsuse taimerid tulemüüri ajal
  • Kasutage FTP-tööfunktsioonide toetavaid seadmeid