FTP (File Transfer Protocol) Internete bağlı bir bilgisayardan diğerine (her iki yonde de) dosya aktarımı yapmak icin geliştirilen bir internet protokolu ve bu işi yapan uygulama programlarına verilen genel addır. İlk geliştirilen internet protokollerinden biridir.


FTP protokolu ile bir başka bilgisayardan bir başka bilgisayara dosya aktarımı yapılırken, o bilgisayar ile etkileşimli-aynı anda (on-line) bağlantı kurulur ve protokol ile sağlanan bir dizi komutlar yardımıyla iki bilgisayar arasında dosya alma/gonderme işlemleri yapılır.Yani teknik olarak bakmazsak dosya transfer sistemi olarakda adlandırılır.

Diğer bir tanımla ftp;

FTP, sık kullanılan protokoller(HTTP, SMTP, DNS vs) arasında en sorunlu protokoldur. Diğer
protokoller tek bir TCP/UDP portu uzerinden calışırken FTP birden fazla ve dinamik portlarla calışır.
(IRC’deki veri transferi ve iletisim portu gibi). Bu portlardan biri “Command port” diğeri DATA port
olarak adlandırılır.

Command portu uzerinden ftp iletişimine ait gerekli temel bilgiler aktarılır. Temel bilgiler; ftp
sunucuya gonderilecek kullanıcı adı ve parola bilgileri, ftp sunucuya hangi porttan bağlanılacağı, hangi
ftp ceşidinin kullanılacağı gibi bilgiler olabilir.
Data portu ise veri transferi amaclı kullanılır.

FTP CEŞİTLERİ;



FTP iki ceşittir: pasif ve aktif FTP. Her ikisininde farklı amaclı kullanımları mevcuttur. Hangi FTP
ceşidinin kullanılacağı ftp istemcisi tarafından belirlenir.

Aktif Ftp;

Bu FTP ceşidinde istemci aktif rol alır. Bilinenin aksine orjinal ftp aktif ftpdir fakat gunumuz internet
altyapısında ceşitli sorunlara yol actığı icin pasif ftp daha fazla tercih edilmektedir. Aktif ftp de cıkan
sorunlar pasif ftpnin geliştirilmesini sağlamıştır.



1)istemci FTP sunucuya Command portundan(21) bağlanır.

2)FTP sunucu gerekli karşılama mesajı ve kullanıcı adı sorgulamasını gonderir.
-istemci gerekli erişim bilgilerini girer.

-Sunucu erişimi bilgilerini kontrol ederek istemciye yanıt doner.
Eğer erişim bilgileri doğru ise istemciye ftp komut satırı acılır.

Burada istemci veri transferi yapmak istediğinde(ls komutunun calıştırılması da veri transferi
gercekleştirir)3. adıma gecilir.

-İstemci kendi tarafında 1024’den buyuk bir port acar ve bunu PORT komutu ile FTP sunucuya
bildirir.

3)FTP sunucusu , istemcinin bildirdiği port numarasından bağlantı kurar ve gerekli aktarım işlemleri
başlar.

4) İstemci Onay mesaji gonderir.

Pasif Ftp;

Pasif FTP, gunumuz internet dunyasında kullanılan guvenlik duvarı, nat cihazları gibi trafikte değişiklik
yapan sistemlerden kaynaklanan ftp problemlerini sunucu tarafında halledebilmek icin cıkarılmıuş
FTP ceşididir. Pasif FTP de istemci pasif roldedir, sunucu aktif roldedir.



1)istemci FTP sunucuya Command portundan(21) bağlanır.

2)FTP sunucu gerekli karşılama mesajı ve kullanıcı adı sorgulamasını gonderir.
-istemci gerekli erişim bilgilerini girer.

-Sunucu erişimi bilgilerini kontrol ederek istemciye yanıt doner. Eğer erişim bilgileri doğru ise
istemci

3)FTP istemcisi , sunucudan gelen bu porta bağlanarak veri alışverişini başlatır

4)İstemci onay mesajı yollar

-FTP istemcisi PASV komutu aracılığı ile sunucudan ek port acmasını bekler. Sunucu yapılandırma
dosyasında belirtilen port aralığından bir port acarak bunu istemciye belirtir

FTP KOMUTLARI:

ftp ip adres veya domain ismi: Ftp bağlantısı yapmak icin kullanılan komut.

cd: Dizin değiştirmek icin kullanılan komut.(cd dizin adı) Ornek: cd onur (onur klasorunun icine girdik)

pwd: Bulunan dizinin ismini verir.

dir: Bulunduğumuz dizindeki bulunan dosyaları gosterir.

get: Dosya almak icin kullanılan komut.(get dosya adı alındıktan sonraki adı). Alındıktan sonraki adı bolumunu kullanmayabilirsiniz.

send: Bilgisayarımızda bulunan bir dosyaı ftp aracılığı ile bağlandığımız sunucuya gondermek icin kullanılan komuttur. Ornek: send c:/belge.jpg (bilgisayarımızın c klasorunde bulunan belge.jpg adındaki dosyayı karşı bilgisayara aktarmış olduk.)

mget: Birden fazla dosya almak istediğimizde kullanacağımız komut.

delete: Ftp yaptığımız yerde bulunan bir dosyayı silemk istediğimizde kullanılan komut.Yetkiniz var ise bu komutu kullanabilirsiniz. (delete silinecek dosya adı) şeklinde kullanılır.

rmdir: Ftp yaptığınız yerdeki boş bir dizini silmek icin kullanacağınız komut.(rmdir silinecek dosya adı)

bye: Ftp bağlantısını sonlandırmaya yarayan komut.

"Bakıp gecme bilgi değerlidir."
__________________