Det er et par interessante ting du bør vurdere om denne dialogen. Legg merke til at når PORT kommando utstedes, angir det en port på klienten (192.168.150.80) system, i stedet for serveren. Vi vil se det motsatte problemet når vi bruker passiv FTP. Mens vi er på emnet, en rask kommentar om formatet på PORT-kommandoen. Som du kan se i eksemplet nedenfor den er formatert som en serie av seks tall atskilt med komma.
De første fire oktetter er IP-adressen, mens de andre to oktetter omfatter porten som skal brukes for datatilkoblingen. For å finne den faktiske port multiplisere femte oktett ved 256 og deretter legge den sjette oktett til totalen. Dermed i eksempelet under portnummeret er ((14 * 256) + 178), eller 3762. En rask sjekk med netstat bør bekrefte denne informasjonen
testbox1: {/home /pt /slacker /public_html}% ftp -. .. d testbox2
Koblet til testbox2.slacksite.com
220 testbox2.slacksite.
com FTP server klar
Navn (testbox2: slacker): slacker
---> BRUKER slacker
331 passord kreves for slacker
Passord:.. TmpPass
---> PASS XXXX
230 User slacker innlogget
---> SYST
215 UNIX Type: L8
Remote system type er UNIX
Bruke binær modus for å overføre filer
ftp> ls
ftp:.. Setsockopt (ignorert): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT kommando vellykket.
---> LISTE
150 Åpnings ASCII-modus datatilkobling for fillisten.
drwx ------ 3 slacker brukere 104 27 juli 01:45 public_html
226 Transfer komplett .
ftp> slutte
---> SLUTT
221 farvel.
Passiv FTP
For å løse problemet på serveren initiere tilkoblingen til klienten en annen metode for FTP-tilkoblinger ble utviklet. Dette ble kjent som passiv modus, eller PASV, etter kommandoen brukes av klienten til å fortelle serveren den er i passiv modus.
I passiv modus FTP klienten starter både tilkoblinger til serveren, løse problemet med brannmurer filtrere det innkommende data port tilkobling til klienten fra serveren.
Når du åpner en FTP-tilkobling, åpner klienten to tilfeldige svakstilte porter lokalt (N> 1024 og N + 1). De første port i kontakt med serveren på port 21, men i stedet for deretter å utstede en PORT-kommandoen og la serveren for å koble tilbake til sin data port, vil klienten utstede PASV-kommandoen. Resultatet av dette er at tjeneren åpner deretter en tilfeldig svakstilte port (P>