Mohon tunggu...
Zulhan Dwi
Zulhan Dwi Mohon Tunggu... -

simpel

Selanjutnya

Tutup

Inovasi

FTP

16 Juni 2013   10:52 Diperbarui: 24 Juni 2015   11:57 2006
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

FTP

Pengertian FTP

File Transfer Protocol (FTP) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pengiriman berkas (file) komputer antar mesin-mesin dalam sebuah Antarjaringan.

FTP merupakan protokol yang mengacu pada standard RFC 959 dan diupdate dengan RFC 2228 – FTP security extension. FTP menggunakan koneksi berbasis connection-oriented, sehingga dari kedua sisi harus memiliki koneksi TCP/IP. FTP terdiri dari sebuah client dan sebuah server, untuk dapat melakukan perukaran data yang diperlukan data antara 2 komputer. Proses pertukaran data ini dapat terjadi antara komputer yang berbentuk mainframe dan sebuah komputer di jaringan lokal atau transfer data dapat terjadi dari komputer ke server FTP melalui jaringan internet.

FTP server adalah sebuah mesin yang menjalankan aplikasi untuk memberikan layanan download dan upload file antar jaringan (TCP/IP) yang memanfaatkan File Transfer Protocol (FTP). Macam-macam software pembangunan FTP server diantaranya adalah FTPd, pro-FTPd, Wu-FTPd, ftpX, Troll-FTPd

FTP klien merupakan aplikasi yang dapat mengeluarkan perintah FTP ke sebuah server FTP, perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus transfer antara biner dan ASCII, mengunggah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP. FTP klien terdapat pada komputer user, sehingga dapat melakukan proses pertukaran data ke server yang memberikan akses FTP (FTP-server).

Cara kerja FTP

FTP menggunakan TCP sebagai protokol transport. FTP server menerima koneksi pada port 20 dan 21, pada kedua sisi jaringan aplikasi FTP dilengkapi dengan protokol interpreter (PI), data transfer proses (DTP), dan tampilan antar muka. Proses transfer data pada FTP memiliki dua alur. Alur pertama proses transfer dari komputer lokal ke komputer server yang menyediakan akses FTP, proses ini dikenal dengan upload, sedangkan alur kedua proses transfer data dari komputer server remote ke komputer lokal yang dinamakan proses download. Gambar berikut merupakan proses upload dan download.

FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga diantara kedua komponen tersebut akan dibuat sebuah sesi komunikasi sebelum transfer data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari sebuah klien FTP yang kemudian akan digunakan sebagai port pengatur (control port)[10]. Fungsi dari control port :

1.Membuat sebuah koneksi antara klien dan server

2.Mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server

3.Mengembalikan respon server berdasarkan perintah dari klien

Apabila koneksi kontrol telah dibuat, maka server akan mulai membuka TCP port 20 untuk membentuk sebuah koneksi baru dengan klien dan mentransfer data yang sedang dipertukarkan saat melakukan pengunduhan dan pengunggahan.

FTP hanya menggunakan metode autentikasi standard, yakni menggunakan username dan passowrd yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan passwordnya untuk mengakses, melakukan pengunduhan (download) dan pengunggahan (upload) berkas-berkas yang dikehendaki.

FTP sebenarnya tidak aman untuk melakukan tukar menukar file antar jaringan karena tidak adanya proses enkripsi terlebih dahulu. FTP dalam melakukan transfer data menggunakan metode Clear Text dimana user, password dan data yang dikirim dapat dengan mudah untuk dilihat (sniff) oleh sebuah program aplikasi seperti protocol analyzer misal Wireshark. Meskipun demikian ada cara lain yang dapat digunakan untuk membuat proses tukar menukar file dengan menggunakan FTP menjadi aman, yaitu dengan menggunakan SFTP (SSH FTP) yaitu FTP berbasis SSH atau juga dengan FTPS yaitu FTP yang dibungkus dengan protocol SSl (FTP over SSL).

Akses FTP

Untuk dapat mengakses server FTP, pengguna dibedakan berdasarkan hak aksesnya menjadi 2 :

1.FTP user

FTP user artinya data dalam server FTP dapat diakses dan memiliki ijin, karena FTP user membutuhkan suatu autentikasi bila akan mengakses ke dalam server pada umumnya pengguna yang telah terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga pengguna dapat membuat berkas, mebuat direktori, dan bahkan menghapus berkas. Format dari FTP user adalah = ftp://user@host.domain

2.FTP anonymous

Anonymous FTP adalah cara untuk mengakses FTP tanpa menggunakan proses autentikasi pada pengguna. Sehingga siapapun bisa melakukan login ke server FTP, tetapi fitur terbatas hanya untuk mengambil suatu file. Pada umumnya dapat login ke server FTP dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail. Contoh FTP anonymous = ftp://labs.if.undip.ac.id

Sumber Referensi :

http://en.wikipedia.org/wiki/File_Transfer_Protocol

Permasalahan Pada Protokol FTP

Dalam artikel yang saya buat ini, ada permasalahan mengenai FTP, yaitu pada saat login berhasil, login gagal, transfer data berhasil diupload dan transfer data gagal diupload.

Dalam percobaan ini, ada alat dan bahan yang harus disediakan untuk proses transfer data, transfer data menggunakan aplikasi FileZilla.exe. Pada saat login, saya menggunakan command prompt (CMD) pada windows.

File data untuk melakukan capturing protokol, saya mencoba menggunakan aplikasi Microsoft Network Monitor dan Wireshark. Saya menggunakan aplikasi Microsoft Network Monitor karena pada modem Huawei yang saya pakai untuk melakukan capturing telah support dengan aplikasi tersebut. Untuk bagian analisa, saya menggunakan aplikasi Wireshark.

FTP login Success

Yang saya lakukan pertama kali adalah koneksikan modem Huawei ke sebuah internet. Lalu buka aplikasi Microsoft Network Monitor.

13713539641896433745
13713539641896433745

Pilih salah satu port untuk melakukan capturing protokol, seperti gambar diatas. Saatnya untuk melakukan percobaan login FTP dengan membuka CMD pada windows. Sebelumnya saya sudah mendaftar akun ke sebuah domain untuk dapat melakukan transfer file data dengan protokol FTP. Domain tersebut adalah ID Hostinger. Gambar berikut merupakan domain yang saya buat di ID Hostinger.

1371354005641398143
1371354005641398143

Setelah itu, buka CMD untuk melakukan login ke sebuah server domain yang telah dibuat. Lakukan perintah “ftp 31.170.164.218” seperti gambar berikut. Nantinya akan ditanya username dan password untuk login. Selagi melakukan sebuah login, pada aplikasi Micosoft Network Minitor sedang melakukan capturing protokol yang bekerja ketika login tadi.

13713540401248153573
13713540401248153573

Gambar berikut merupakan hasil capturing menggunakan aplikasi Microsoft Network Monitor.

1371354223636352183
1371354223636352183

Setalah itu, simpan file yang tadi dicapture menggunakan aplikasi Microsoft Network Monitor dan buka dengan Wireshark untuk melakukan analisa.

1371354260675960928
1371354260675960928

Terlihat gambar diatas merupakan hasil capturing ketika menggunakan Microsoft Network Monitor yang dibuka dengan Wireshark.

Terlihat pada frame 9, alamat server 31.170.177.89 (IP FTP) mencoba merespon adanya permintaan dari alamat IP 10.44.177.89 (alamat IP DHCP yang diberikan dari provider 3-Three) untuk login dengan protokol FTP. TLS pada tab info menunjukkan bahwa pada saat login nantinya akan membutuhkan sebuah enkripsi dimana dengan login tersebut membutuhkan sebuah password.

Frame 51, alamat IP 10.44.177.89 merequest username ke server 31.170.177.89 untuk melakukan login.

Frame 53, alamat IP 31.170.177.89 merespon adanya request login dari alamat IP 10.44.177.89. ketika server menerima request dari alamat client, sever akan menanyakan password untuk username = u722716542.

Frame 55, alamat IP 10.44.177.89 request password untuk username = u722716542 kepada server dengan lamat IP 31.170.177.89.

Frame 56, alamat IP 31.170.177.89 merespon password untuk username = u722716542. Terlihat pada tab info terdapat keterangan “Response: 230 OK. Current directory is /public_html” menunjukkan bahwa server merespon adanya permintaan login username dan password berhasil dilakukan menuju ke public web/html.

FTP login failed

Lakukan lagi seperti percobaan “FTP login berhasil”. Pada percobaan kali ini, saya akan mencoba untuk melakukan login dengan IP FTP yang sama, username yang sama tetapi passwordnya yang berbeda. Gambar berikut merupakan aktivitas untuk melakukan login ke sebuah server domain.

1371354300842379913
1371354300842379913

Gambar berikut merupakan hasil capturing menggunakan aplikasi Microsoft Network Monitor.

1371354328921989651
1371354328921989651

Gambar berikut merupakan hasil capturing saat login menggunakan Microsoft Network Monitor dan dibuka dengan aplikasi Wireshark.

1371354430614943706
1371354430614943706

Terlihat gambar diatas merupakan hasil capturing ketika menggunakan Microsoft Network Monitor yang dibuka dengan Wireshark.

Terlihat pada frame 16, alamat server 31.170.177.89 (IP FTP) mencoba merespon adanya permintaan dari alamat IP 10.44.177.89 (alamat IP DHCP yang diberikan dari provider 3-Three) untuk login dengan protokol FTP. TLS pada tab info menunjukkan bahwa pada saat login nantinya akan membutuhkan sebuah enkripsi dimana dengan login tersebut membutuhkan sebuah password.

Frame 31, alamat IP 10.44.177.89 merequest username ke server 31.170.177.89 untuk melakukan login.

Frame 33, alamat IP 31.170.177.89 merespon adanya request login dari alamat IP 10.44.177.89. ketika server menerima request dari alamat client, sever akan menanyakan password untuk username = u722716542.

Frame 107, alamat IP 10.44.177.89 request password untuk username = u722716542 kepada server dengan lamat IP 31.170.177.89. Terlihat terdapat “password = salam kuper”, itu merupakan request client untuk mencoba login dengan password “salam kuper” yang nantinya direspon oleh sebuah server, apakah password tersebut cocok atau tidak untuk username “u722716542”.

13713544612041225157
13713544612041225157

Frame 118, alamat IP 31.170.177.89 merespon password untuk username = u722716542. Terlihat pada tab info terdapat sebuah keterangan “Response: 530 Login authentication failed”, menunjukkan bahwa request untuk login tersebut gagal dilakukan. Ini dikarenakan username dan password tidak cocok sehingga server dengan alamat Ipp 31.170.177.89 tidak menerima login dari sebuah client dengan alamat IP 10.44.177.89.

FTP Transfer Success

Pada percobaan kali ini, saya mencoba untuk melakukan transfer file ke sebuah domain yaitu ID Hostinger. Transfer data tersebut menggunakan aplikasi FileZilla.

Pertama koneksikan laptop ke sebuah internet (saya menggunakan modem Huawei sebagai koneksinya). Buka aplikasi FileZilla. Isi alamat mesin, nama pengguna dan password, port dikosongi saja (port akan bekerja secara default)

1371354497391879593
1371354497391879593

Berikut merupakan hasil capturing file transfer dengan menggunakan aplikasi Microsoft Network Monitor.

137135452732680481
137135452732680481

Berikut merupakan hasil capturing menggunakan aplikasi Microsoft Network Monitor yang dibuka dengan aplikasi Wireshark.

1371354557704612403
1371354557704612403

Terlihat pada frame 10, seperti pada FTP login berhasil pada permasalahan sebelumnya. Server dengan alamat IP 31.170.164.218 merespon request login dari client dengan alamat IP 10.44.177.89. Terlihat pada tab info terdapat keterangan “Response: 230 OK. Current directory is /public_html” menunjukkan bahwa server merespon adanya permintaan login username dan password berhasil dilakukan menuju ke public web/html.

Dari frame 11-33, merupakan aktivitas jaringan ketika client menanyakan kepada server, apakah terdapat lokasi penyimpanan untuk file data. Terlihat pada frame 19 dimana server dengan alamat IP 31.170.164.218 merespon request dari client dengan alamat IP 10.44.177.89, balasan server ke client terlihat pada tab info pada frame 19 yaitu “Response: 257 “/public_html” is your current location”, menunjukkan bahwa pada server terdapat tempat penyimpanan file data yang nantinya disimpan di /public_html. Setelah itu, client merequest type data yang akan dikirimkan yaitu type 1 sampai akhrinya diterima oleh server. Terlihat pada frame 32, terdapat infomasi “Response: 150 Accepted data koneksi”, menunjukkan bahwa client telah diterima untuk melakukan koneksi transfer data ke sebuah server.

13713546021225737689
13713546021225737689

Pada gambar diatas merupakan lanjutan frame sebelumnya.

Setelah request koneksi transfer data yang dilakukan client telah diterima oleh server, client mencoba untuk mengirimkan data yaitu sebuah file. Terlihat pada frame 80, terdapat info “Request: STOR arsenal-2012-2013-15.jpg”, menunjukkan bahwa client dengan alamat IP 10.44.177.89 merequest file data yang akan dikirimkan ke server yang berbentuk file gambar (.jpg).

Frame 89, server merespon request dari client bahwa koneksi telah diterima.

Frame 94, server merespon lagi request dari client. Tetapi server meretransmisi kembali request dari client untuk memastikan bahwa data dari client itu benar ditransfer.

Dan akhirnya pada frame 222, terdapat info “Response: 226-File successfully transferred”, menunjukkan bahwa file data yang dikirimkan dari client ke server sudah berhasil ditransfer.

FTP transfer failed

Berikut merupakan tampilan dari data frame dari sebuah file TFP-failedupload. Pada permasalahan ini, saya tidak melakukan percobaan sendiri, melainkan hanya mencoba menganalisa adanya transfer yang gagal dilakukan dari file TFP-failedupload. Dengan data berikut, kita dapat menganalisa khasus yang terdapat file tersebut dan memberikan kesimpulan tersendiri dari file tersebut.

1371354642952296273
1371354642952296273

Alamat IP 67.169.189.180 adalah alamat IP sumber yang akan mengupload sebuah file ke sebuah server. Alamat IP 128.121.136.217 adalah alamat IP tujuan yang merupakan alamat server yang dijadikan sebagai tempat penyimpanan data. Komunikasi data pada transfer ini menggunakan protocol TCP, terlihat pada frame 1 – 3 bahwa antara klien dan server masih berkomunikasi dengan protocol TCP.

Pada frame 4 – 5 proses tranfer data ke sebuah server sedang dilakukan, ini dinamakan proses upload. Terlihat alamat IP sumber 67.169.189.180 berkomunikasi dengan IP tujuan 128.121.136.217 dengan protocol FTP-DATA, itu menunjukkan proses tranfer dengan protocol FTP sedang berjalan.

1371354669728462793
1371354669728462793

Pada frame 74 – 75 dan 77 proses uplooad masih dalam keadaan normal (berjalan dengan baik).

1371354688502413965
1371354688502413965

Tetapi pada frame 78 file mulai terjadi masalah. Terlihat pada layer TCP – [SEQ/ACK analysis] – [TCP Analysis Flags] – [The transmission window is now completely full] – [Expert Info (Warm/Sequence):Window is full] menunjukkan bahwa proses upload file terjadi masalah karena pada server sudah tidak dapat menampung hasil upload dari sebuah alamat IP sumber dan itu dapat ditunjukkan dengan adanya “window is full”. Mungkin dalam kasus ini, server sudah terlalu banyak menampung file data sehingga tidak ada ruang untuk file data yang masuk ke server (kehabisan memory).

13713547041214370334
13713547041214370334

Gambar diatas merupakan hasil dari file upload yang failed (gagal) yang merupakan terusan dari frame sebelumnya yaitu frame 78.

Mohon tunggu...

Lihat Inovasi Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun