Der er et par interessante ting at overveje om denne dialog.
Bemærk, at når PORT kommandoen gives, angiver en port på systemet klienten (192.168.150.80), snarere end serveren. Vi vil se den modsatte adfærd, når vi bruger passiv FTP. Mens vi er ved emnet, en hurtig note om formatet af PORT-kommandoen. Som du kan se i eksemplet nedenfor det er formateret som en serie af seks tal adskilt af kommaer. De første fire oktetter er IP-adressen, mens den anden to oktetter omfatter den port, der skal bruges til dataforbindelsen. For at finde den egentlige havn formere den femte oktet med 256 og derefter tilføje den sjette oktet til den samlede.
Således i eksemplet nedenfor portnummeret er ((14 * 256) + 178), eller 3762. En hurtig kontrol med netstat skal bekræfte disse oplysninger
testbox1: {/home /pt /slacker /public_html}% ftp -. .. d testbox2
Forbundet til testbox2.slacksite.com
220 testbox2.slacksite.com FTP-server klar
Navn (testbox2: slacker): slacker
---> BRUGER slacker
331 Password kræves for slacker
Adgangskode:..
TmpPass
---> PASS XXXX
230 Bruger slacker logget ind
---> SYST
215 UNIX Type: L8
eksternt system type er UNIX
Brug binær tilstand for at overføre filer
ftp> ls
ftp:.. setsockopt (ignoreret): Tilladelse nægtet
---> PORT 192,168,150,80,14,178
200 PORT kommando succes.
---> LISTE
150 Åbning ASCII-mode dataforbindelse til fillisten.
drwx ------ 3 slacker-brugere 104 27 Jul 01:45 public_html
226 Overførsel komplet .
ftp> quit
---> QUIT
221 Farvel.
Passiv FTP
For at løse problemet med serveren at indlede forbindelsen til klienten en anden metode til FTP-forbindelser blev udviklet. Dette blev kendt som passiv tilstand, eller PASV, efter kommandoen anvendes af klienten til at fortælle serveren, det er i passiv tilstand.
I passiv tilstand FTP klienten indleder begge forbindelser til serveren, løse problemet med firewalls filtrere indgående dataportforbindelse til klienten fra serveren. Når du åbner en FTP-forbindelse, klienten åbner to tilfældige upriviligerede porte lokalt (N> 1024 og N + 1).
De første port kontakter server på port 21, men i stedet for derefter at udstede en PORT-kommando og lade serveren til at oprette forbindelse tilbage til sin data port, vil kunden udstede PASV kommando. Resultatet af dette er, at serveren åbner derefter et tilfældigt upriviligerede port (P>