FTP Nedir, FTP Türleri Nelerdir?
14 min read“FTP” terimi tıpkı tüm web teknolojisine dair terimler gibi İngilizce kökenlidir. Açılımı “File Transfer Protocol” şeklindedir. Dilimizde ise “Dosya Transfer Protokolü” anlamına gelir. FTP; internetin bulunması ile birlikte geliştirilmeye başlayan ilk internet protokollerinden biridir.
Üst paragrafta da açıkladığımız üzere, dosya alışverişi sağlayan bu protokol ile iki bilgisayar arasındaki dosya transferleri sağlanır. Web teknolojileri ile ilgilenen biri iseniz, hele webmaster ya da yazılımcı olmak gibi bir iddianız var ise; FTP konusunu çok iyi anlamanız gerekmektedir.
FTP, tüm internet protokolleri arasında en çok sorun çıkartan protokollerin başında gelir. Diğer web protokollerinin neredeyse tamamı, çalışırken TCP/UDP portunu kullanırken; FTP çalışırken birden fazla port kullanır ve dinamik portlarla işlemini sürdürür.
FTP üzerinde iki temel port bulunur. Bu portların adı “Command Portu” ve “Data Portu” şeklindedir. Command portu kullanılarak aktarılan bilgiler; bağlanılmak istenilen sunucunun adresi, kullanıcı adı ve şifre gibi sabit bilgilerdir. Data portu üzerinden ise (adından da anlaşılacağı gibi) dosya transferi gerçekleşir.
Ne Amaçla Kullanılır?
FTP’nin temel amacının iki bilgisayar arasındaki dosya transferini gerçekleştirmek olduğunu daha evvel açıklamıştık. Somutlaştırmak gerekirse; hosting hesabınıza, sitenize ait dosyaları atmak için FTP hesabı kullanabilirsiniz.
Bunun dışında, aynı network üzerinde bulunan kişisel bilgisayarlar arasında da dosya aktarımı yapmak için FTP’den faydalanabilirsiniz.
FTP Türleri Nelerdir?
FTP temel olarak “Aktif FTP” ve “Pasif FTP” olarak ikiye ayrılır. Bir dosya aktarımı işleminde kullanılacak FTP türünün hangisi olacağına ftp istemcisi karar vermektedir. Şimdi başlıklar halinde bu iki FTP çeşidini açıklayalım.
Aktif FTP Nedir?
İlk yayınlanan FTP çeşididir ve istemci aktif rolde olduğu için aktif ftp denir. Dosya aktarımı esnasında aktif ftp kullanılıyor ise sırasıyla aşağıdaki adımlar gerçekleşir:
- İstemci rolündeki aktif FTP, karşıdaki sunucuya 21 numaralı porttan yani command portundan bağlanır.
- Bağlanılmak istenilen sunucu karşılama mesajını gönderir ve istemcinin kullanıcı adı, şifre gibi bilgileri girmesini ister.
- Doğru erişim bilgilerinin girilmesi halinde sunucu istemciye FTP komut satırı açarak yanıt verir.
- İstemci dosya aktarımını başlatmak istiyor ise kendi tarafında 1024’den büyük olacak bir port açar. Açtığı portu da sunucu tarafına bildirir.
- Sunucu, istemci tarafından bildirilen port ile bağlantı kurar, dosya aktarımına start verilir.
- Dosya aktarım işlemi tamamlandığında istemci tarafından onay mesajı yollanır.
Pasif FTP Nedir?
Aktif FTP’nin günümüz internet teknolojilerinde sağlıklı çalışmaması, yazılımcıları “Pasif FTP” isimli teknolojiyi üretmeye itmiştir. Zira sunucu rolünde bulunan bilgisayarda kurulu güvenlik duvarı yazılımları, firewall cihazları, hatta antivirüs programları bile; aktif FTP teknolojisinin kararlı çalışmasını engellemektedir. Bu nedenle sunucunun aktif olduğu ve izin verdiği aktarım işlemini kabul ettiği, istemcinin pasif olduğu ve sunucunun talimatlarına göre veri aktarımı yaptığı Pasif FTP teknolojisi günümüzde daha yaygındır.
Dosya aktarımı esnasında pasif ftp kullanılıyor ise sırasıyla aşağıdaki adımlar gerçekleşir:
- İstemci rolündeki aktif FTP, karşıdaki sunucuya 21 numaralı porttan yani command portundan bağlanır.
- FTP sunucusu rolündeki bilgisayar; karşılama mesajının ardından, kullanıcı adı ve şifre sorgulamasını istemciye gönderir. İstemci bu bilgileri girer.
- İstemci tarafından verilen bilgilerin doğru olması halinde; sunucu tarafından istemciye aktarımın yapılacağı port bilgisi iletilir.
- İstemci ise sunucunun açtığı porta bağlanarak dosya aktarımını başlatır.
FTP Komutları
FTP programları aralarında haberleşirken bazı komutlar kullanır. Sizin bir FTP programı üzerinden verdiğiniz her talimat, bir komuta dönüştürülerek sunucu bilgisayara iletilir. Sunucu bilgisayar da (özellikle pasif FTP işlemlerinde) bazı talimatları komutlar yardımı ile istemciye gönderir. Bu komutları aşağıda alt başlıklar halinde sıralıyoruz:
ftp.siteadi.tld veya ftp.IPAdres.tld: Sunucu bilgisayara bağlanmak için gönderilen komut.
cd: Dizin değiştirme komutudur. “cd <dizin adı>” şeklinde girilir. “dizin adı” kısmına gidilmek istenen dizin yazılır.
cd .. : Bir üst dizine gitmek için kullanılan komuttur.
pwd: O an hangi dizinde bulunuluyor ise o dizinin adını veren komuttur.
dir: Dizinde bulunan tüm dosya ve klasörleri listelemeye yarayan komut.
ls: Eğer üzerinde bulunulan dizinde fazla sayıda dosya varsa bu komuttan faydalanılır. Bulunulan dizindeki dosyaları mümkün olan en kısa şekilde listeler. (Mesela; “ls –lr” komutu kullanılarak dizindeki dosyalar; ayrıntılı bir biçimde, tersten ve alfabetik listelenir. Veya “ls -lr |more” komutu kullanılarak sayfalar halinde listeleme yapılır.
get: Dosya alma komutudur. “get <dosya_adı> <alındıktan_sonraki_adı>” şeklinde kullanılabilir. “<alındıktan_sonraki_adı>” komutunu kullanmak opsiyoneldir. Kullanılmaz ise dosya adı değişmez.
put: Dosya göndermek için kullanılan komuttur. “put <dosya_adı> <göndereceğimiz_yerdeki_adı>” şeklinde kullanılır.
mget: Eğer sunucu birden fazla dosya almak istiyorsa bu komutu kullanır. “mget *.zip” ya da “mget a*.*” şeklinde kullanılabilir.
mput: İstemcinin sunucuya birden fazla dosya göndermesi durumunda kullanılır.
ascii: Dosya aktarımı esnasında, aktarım modu için “ASCII” kullanılacağı zaman bu kod kullanılır.
binary: Dosya aktarımı esnasında, aktarım modu için “BINARY” kullanılacağı zaman bu kod kullanılır. zip, arj, z, zoo, hqx uzantılı arşiv dosyaları,.exe ve .com uzantılı sunucu tarafında çalıştırılacak programlar, gif, jpeg, .png uzantılı resim formatındaki dosyalar; FTP aracılığı ile transfer edilmeden evvel mutlaka bu kodlar çalıştırılmalıdır.
delete: Sunucudaki herhangi bir dosyayı silmek için “delete <dosya adı>” şeklinde kullanılır. Eğer sunucu tarafından dosyaları silme yetkisi verilmedi ise bu komut istemci tarafından kullanılamaz.
mkdir: Sunucudaki herhangi bir dizin oluşturmak için “mkdir <dizin adı>” şeklinde kullanılır. Eğer sunucu tarafından dizin oluşturma yetkisi verilmedi ise bu komut istemci tarafından kullanılamaz.
rmdir: Sunucudaki herhangi bir boş dizini silmek için “rmdir <dizin adı>” şeklinde kullanılır. Eğer sunucu tarafından dizin silme yetkisi verilmedi ise bu komut istemci tarafından kullanılamaz.
help: Bu komut kullanıldığı zaman, FTP üzerinde kullanılabilecek tüm konutlara ait bilgi penceresi açılır.
lcd: FTP bağlantınızı sonlandırmadan, kendi bilgisayarınızda dizin değiştirmenize imkan tanır.
close: FTP bağlantınızı tamamen sonlandırmadan, seçili olan bağlantıyı sonlandırmanıza imkan tanır.
quit: FTP bağlantılarının tamamını sona erdirmek için kullanılır. Bu komut yerine “bye” komutu da kullanılabilir.
FTP merkezlerinden bazıları, komple bir dizini .zip olarak sıkıştırarak gönderebilir. Bu özelliğe sahip olan FTP merkezinden, “public_html” dizinini sıkıştırılmış olarak almak için “GET public_htm public_html.zip” komutu kullanılabilir.
Web Üzerinden FTP Bağlantısı Nasıl Yapılır?
Herhangi bir FTP programı kullanmadan, sadece tarayıcı kullanarak FTP ortamına bağlanmak mümkündür. Tarayıcı penceresine aşağıdaki iki adresten birini yazmanız FTP sunucusuna istemci olarak bağlanmanız için yeterlidir.
- ftp://siteadiniz.com (Açılan ekranda kullanıcı adı ve şifre girmelisiniz.)
- ftp://kullanıcıadı:şifre@siteadiniz.com (Kullanıcı adı ve şifre girmeden direk bağlanırsınız.
FTP Yaparken Dikkat Edilmesi Gerekenler
FTP yaparken dikkat edilmesi gerekenler ile alakalı püf noktaları aşağıda maddeler halinde sıralayalım.
- Sunucuya; .zip, .arj, .z, .zoo, .hgx, .exe, .com, .gif, .jpg, .png formatlı dosyalar gönderirken mutlaka “binary” modunda aktardığınızdan emin olmalısınız. Zira FTP’de varsayılan aktarım modu genelde “ascii” modudur.
- Anonymous FTP’de bazı ascii “info dosyaları” bulunmaktadır. Bu ascii bilgi dosyalarında; FTP’de bulunan diğer dosyalara ait tarih, byte cinsinden büyüklük ve kısa içerik bilgileri vardır. Bu bilgi dosyalarını kontrol etmek şart olmasa da, yapabileceğiniz olası bir hatanın önüne geçmenizi sağlayabilir.
- Anonymous FTP’lerde yapılan bir başka şey ise e-posta adresi kısmına öylesine bir adres yazmaktır. Yanlış girilen e-posta adresleri FTP yapmanıza engel olabilir.
- Unix’te küçük harf ve büyük harf ayrımı vardır. Web’de olduğu gibi tüm harfleri küçük girmeniz sorun yaratacaktır. Özellikle bir sunucudaki dosyayı yenileme işlemlerinde mutlaka dosya adını büyük ve küçük harf uyumuna uygun olarak yazın.
- İstemci ve sunucu tarafındaki makinelerin kullanmış olduğu işletim sistemleri için herhangi bir kısıtlama olup olmadığına dikkat edin. Özellikle DOS işletim sistemi kullananlar belli dosya uzantılarında FTP yapamazlar ve belli isimlerdeki dosyalara erişemezler. Vakit kaybetmemek için bir kısıtlama olup olmadığını araştırın.
FTP Bağlantısı Nasıl Sağlanır?
FTP bağlantısı yapmak için iki yöntem vardır. Bunlardan en çok kullanılanı FTP programı ile FTP bağlantısı yapmaktır. Diğeri ise web tarayıcısı kullanarak FTP yapmaktır.
FTP’ye Bağlanmak İçin Gerekenler
İster web tarayıcısı ile FTP bağlantısı yapmak isteyin, isterseniz bir FTP programı kullanın; FTP bağlantısı için gereken dört unsur vardır. Bunları aşağıda maddeler halinde görebilirsiniz.
- FTP yapılacak sunucu adresi. (Genelde ftp.siteadi.tld yada direk siteadi.tld şeklindedir.)
- FTP kullanıcı adı.
- FTP şifresi.
- Bağlantı yapılacak port. (Genelde ilk bağlantı command üzerinden ve 21 numaralı porttan yapılır.)
- Aynı network üzerindeki bilgisayara bağlanılmayacaksa, sunucu ve istemci taraflarında internet bağlantısı olması.
FTP Güvenliğimi Nasıl Sağlayacağım?
FTP ile dosya aktarımı çok kullanılmasına rağmen, sitenizin saldırıya en açık yeri yine FTP bağlantısıdır. Fakat alacağınız basit birkaç önlem saldırı riskini minimize edecektir. Bu önlemler aşağıdaki gibidir:
- FTP ile işlem yapacağınız sırada hosting hesabınız üzerinden kullanıcı adı ve şifre oluşturun. İşiniz bitince FTP kullanıcısını silin.
- Aktif FTP yerine Pasif FTP kullanın.
- FTP bağlantısını makul aralıklarda kopmaya ayarlayın.
FTP İçin Teknik Destek Almalı mıyım?
Özellikle FTP için alınması gereken bir teknik destek yoktur. Ancak web dünyasında yeni iseniz, FTP bağlantısı esnasında yapacağınız bir hata telafi edilmez sonuçlara yol açabilir. Bu sebeple, kullanıma hakim olana kadar teknik destek almanız faydalıdır.
En İyi FTP Programları
Web üzerinden erişim sağlayabileceğiniz iki yüze yakın (belki de daha fazla) FTP programı vardır. Bunlardan ücretsiz ve ücretli olanları başlıklar halinde anlatacağız. Size uygun olan FTP istemcisi programına bu başlığı okuduktan sonra karar verebilirsiniz.
En İyi Ücretsiz FTP Programları
FTP programı için ayırdığınız bir bütçe yok ise, aşağıda avantaj ve dezavantajlarını irdeleyerek listelediğimiz programlara dair bilgiler işinize yarayabilir.
FileZilla
Kullanılabildiği İşletim Sistemleri | Windows, macOS |
İlk inceleyeceğimiz FTP istemcisi programın adı FileZilla. Birçok ücretli FTP programına bile taş çıkaran bu program özellikleri ile tüm ihtiyaçlarınıza cevap verebilir.
Aktarımı duraklatma, duraklatılan aktarıma devam etme, aynı programda birden fazla FTP sunucusuna bağlanma, özelleştirilebilen ara yüz sadece FileZilla’nın özelliklerinden bazıları. Açıkçası FileZilla ücretsiz olmaya devam ettiği sürece, başka FTP programı kullanmanıza pek de ihtiyaç yok.
BURAYA tıklayarak FileZilla ücretsiz sürümünü indirebilirsiniz.
Ayrıca FTP programı için ayıracak bütçeniz var ise FileZilla Pro satın alarak; Backblaze, Dropbox, Microsoft OneDrive, Google Drive hesapları arasında dosya transferi yapabilirsiniz. Yine FileZilla pro versiyonunda; Google Cloud Storage, Microsoft Azure Blob , WebDAV, OpenStack Swift hesaplarınıza dosya yükleme yapmanız da mümkündür.
FileZilla Pro versiyonuna BURADAN ulaşabilirsiniz.
Cyberduck
Kullanılabildiği İşletim Sistemleri | Windows, macOS |
Bizce FileZilla’dan sonra en iyi FTP istemcisi Cyberduck isimli FTP programı. En büyük avantajı ise açık kaynak kodlu olması. Yani kodlama bilginiz var ise, programın dosyalarında geliştirme yaparak istediğiniz şekle getirebilirisiniz.
Kullanıcı arayüzü ise en az FileZilla’da olduğu kadar başarılı. BURADAKİ bağlantıyı kullanarak işletim sisteminize uygun olan Cyberduck’ı indirebilirsiniz.
Core FTP LE
Kullanılabildiği İşletim Sistemleri | Windows, macOS X |
FileZilla kadar popüler olmasa da FileZilla kadar maharetli olan Core FTP LE isimli FTP istemcisi programı da, istikralı çalışan ve kullanıcısını üzmeyen bir FTP programıdır.
FileZilla’dan farklı olarak tarayıcı entegrasyonu yapabilmesi ve proxy kullanabilmesi denemeye değer kılıyor.
Bilgisayarınıza uygun olan Core FTP LE için BU sayfayı ziyaret edebilirsiniz.
Fire FTP
Kullanılabildiği İşletim Sistemleri | Windows, macOS, Linux |
Aslında Fire FTP için bir FTP programı demek çok yanlış olur. Bu yazılım Waterfox tarayıcıları üzerinden çalışan bir FTP eklentisi. Güzel tarafı; Waterfox’un çalıştığı her işletim sisteminde çalışabilmesi.
Ayrıca sürükle bırak özelliği ile dosya aktarımını da destekliyor. SSL /TLS şifreleme ile de dosya aktarımını mümkün kılıyor.
Diğer ücretsiz rakiplerinden ayıran en büyük özelliği ise klasör karşılaştırma sistemi. Bu sistem sayesinde, bir dosyayı sunucuya atıp atmadığınızı görebiliyorsunuz. Böylece “düzenlediğim dosyayı sunucuya atmayı unutma” hataları ortadan kalkıyor.
Tek dezavantajı ise eklentinin masaüstü bir uygulama olmadığı için sadece Waterfox üzerinde çalışması.
Waterfox indirmek için BURAYA, Fire FTP indirmek için BURAYA tıklayabilirsiniz.
WinSCP
Kullanılabildiği İşletim Sistemleri | Windows |
Şimdi size en az FileZilla kadar güzel ve de ücretsiz bir FTP programını tanıtacağız. Bu FTP istemcisi programın en güzel yanı taşınabilir olması. Evet, doğru duydunuz. Bir USB belleğe kurduğunuz WnsSCP sayesinde, USB bellek takabildiğiniz her bilgisayarda dosya aktarımı yapabilirsiniz.
Tüm bunların dışında adından da anlaşılabileceği üzere SCP (Secure Copy Protocol) türü bağlantıları da destekleyebiliyor. Elbett,e 22. port üzerinden yapılabilen diğer bir bağlantı türü olan SFTP (Secure FTP) aktarımlarını da WinSCP üzerinden yapabilmek mümkün.
BURAYA tıklayarak WinSCP indirebilirsiniz.
CoffeeCup Free FTP
Kullanılabildiği İşletim Sistemleri | Windows |
Bu FTP programının rakiplerine göre tek avantajı tek tıkla arşiv alabilme özelliği. Bunun dışında spesifik bir özelliği olmayan CoffeeCup Free FTP; aksine sürekli ücretli sürümünü aldırmaya teşvik eden reklamları ile kullanımı zorlaştırıyor.
Denemelerimiz sırasında kullanırken pek keyif almasak da indirip tecrübe etmek isterseniz BU bağlantıyı kullanabilirsiniz. Linkteki indirme butonuna tıkladığınızda sizden e-posta adresi isteniyor. Spam yağmuruna tutulmak istemiyorsanız e-posta adresinizi yanlış girebilirsiniz J Çünkü mail adresini girip “enter” tuşuna basar basmaz indirme başlıyor J
En İyi Ücretli FTP Programları
Eğer FTP programı için ayıracak bir bütçeniz var ama bir fikriniz yok ise, aşağıda başlıklar halinde incelenen bilgiler sizin için faydalı olabilir. Yine de tavsiyemiz FileZilla Pro sürümden şaşmamanız yönündedir.
Direct FTP
Kullanılabildiği İşletim Sistemleri | Windows |
Deneme Sürümü Var mı? | 7 gün deneme sürümü |
Deneme Sürümü Kredi Kartı İstiyor mu? | Hayır |
Güncellemeler Ücretsiz mi? | Evet |
Yıllık Yenileme Ücreti Var mı? | Hayır |
Bir FTP programı için bütçe ayıracaksanız, en mantıklı seçimlerden biri Direct FTP olabilir. Direct FTP; “CoffeeCup Free FTP” isimli FTP istemcisinin ücretli olan versiyonu. Kısaca ne gibi özellikleri var anlatmaya başlayalım.
Bu yazılımın en güzel özelliği, web sitenizin FTP sunucusuna yollayacağınız bir dosyayı yüklemeden evvel tarayıcılarda nasıl görüneceğini ön izleme yapabilmeniz. Diyelim ki index.php dosyasını yenisi ile değiştireceksiniz, değiştirme işlemini gerçekleştirmeden nasıl bir görüntü elde edeceğinizi görebiliyorsunuz.
Dahili Kütüphane
Diğer bir özelliği de dahili kütüphanesinin olması. Eğer herhangi bir kodu bu kütüphaneye kaydederseniz, program içinden ulaşarak hızlıca dosyalarınızda düzenleme yapabilirsiniz.
Dahili metin editörü sayesinde yine programdan çıkmadan dosya düzenlemesi yapabilmeniz mümkün. Üstelik daha güzeli dahili resim editörü olması. FTP programının içinden birçok formattaki resmi düzenleyebilmeniz mümkün. Elbette PhotoShop gibi profesyonel bir düzenlemeden bahsetmiyoruz ama oldukça işlevsel.
Programı bir kere 29 USD ödeyerek satın almanız mümkün. Bundan sonra alacağınız güncellemeler ücretsiz. Ayrıca 15 USD fark ödemeyi kabul ederseniz, taşınabilir (yani USB’den çalışan) versiyonuna da sahip olabilirsiniz. Ayrıca satın alma yaptığınız ilk yıl ücretsiz teknik destek sunuyorlar. Deneme sürümünde teknik destek vermedikleri için bu hizmetlerini tecrübe edemedik.
Direct FTP deneme sürümünü indirmek için BU bağlantıyı kullanabilirsiniz.
CuteFTP
Kullanılabildiği İşletim Sistemleri | Windows |
Deneme Sürümü Var mı? | 30 gün deneme sürümü |
Deneme Sürümü Kredi Kartı İstiyor mu? | Hayır |
Güncellemeler Ücretsiz mi? | Evet |
Yıllık Yenileme Ücreti Var mı? | Evet |
An itibarı ile en düşük paketinin 59,99 USD fiyatla satıldığı CuteFTP’nin bu sürümüne ait yıllık yenileme ücreti 29.99 USD. Eğer 89,99 USD ilk alım bedeli yanı sıra yıllık 59,99 USD yenileme ücreti de ödemeyi kabul ederseniz; telefonla teknik destek alabileceğiniz müşteri hizmetleri de bulunmakta. Elbette İngilizce bir teknik destekten söz ediyoruz J Absürt bir saatte arayıp denememize rağmen, telefonun öbür ucunda bizimle ilgilenecek bir teknik destek uzmanının var olduğunu teyit ettik J
CuteFTP eskiden macOS işletim sistemlerinde de çalışabiliyordu. Fakat 2 Mayıs 2014 tarihinden beri macOS işletim sistemlerinde çalışan programını destek vermiyor. Eğer internette “CuteFTP macOS” gibi bir ibare görür iseniz bilin ki eski veya kötü amaçlı bir versiyonu indirmek üzeresiniz.
“Neden CuteFTP için ödeme yapmalıyım?”
Bu sorunun iki yanıtı var. Birincisi dahili metin editörü. Sunucu tarafında bulunan dosyayı bilgisayarınıza indirmeden, program içindeki metin editörü ile düzenleyebilmeniz mümkün. Ayrıca kendi bilgisayarınızdaki dosyaları da bu editör ile düzenleyebilmektesiniz.
Bu programı almaya motive edecek bir diğer özellik ise TappIn özelliği. TappIn sayesinde; akıllı telefonlar ve tabletler ile bilgisayarınız arasında dosya transferi yapabilmeniz mümkün.
CuteFTP’nin deneme sürümünü indirmek için BURAYA tıklayabilirsiniz.
Transmit
Kullanılabildiği İşletim Sistemleri | MacOS 10.13+ |
Deneme Sürümü Var mı? | 7 gün deneme sürümü |
Deneme Sürümü Kredi Kartı İstiyor mu? | Hayır |
Güncellemeler Ücretsiz mi? | Evet |
Yıllık Yenileme Ücreti Var mı? | Hayır |
Sadece macOS işletim sisteminde çalışan bir FTP programı arıyor iseniz, size tavsiye edebileceğimiz tek program Transmit FTP istemcisidir.
Kullanımı son derece basit ara yüzü, sürükle bırak özelliği, macOS için üretilen diğer FTP programlarına nazaran daha hızlı olması belirgin özellikleri arasında. Ayrıca; SFTP, SSH, HTTPS, Amazon S3 bağlantı tiplerini de destekliyor.
BACKBLAZE, box, Google Drive, amazon drive, rackspace, Dropbox, DreamHost,OneDrive, Microsoft Azure gibi platformlara da tek tıkla bağlanıp transfer yapabilmeniz mümkün.