Akan seseorang tolong katakan padaku apa perbedaan antara aktif dan pasif FTP? Yang satu adalah lebih baik?
Aktif dan pasif adalah dua mode FTP yang dapat berjalan di.
Untuk latar belakang, FTP benar-benar menggunakan dua saluran antara klien dan server, perintah dan data saluran, yang sebenarnya terpisah koneksi TCP.
Saluran perintah untuk perintah dan tanggapan sedangkan data channel ini untuk benar-benar mentransfer file.
Pemisahan ini dari perintah data dan informasi ke dalam saluran yang terpisah cara yang bagus mampu mengirim perintah ke server tanpa harus menunggu untuk saat ini transfer data untuk menyelesaikan. Sesuai RFC, ini hanya diamanatkan untuk subset dari perintah, seperti berhenti merokok, membatalkan transfer saat ini, dan mendapatkan status.
Di aktif mode, klien menetapkan saluran perintah tapi server bertanggung jawab untuk membangun saluran data. Ini benar-benar dapat menjadi masalah jika, misalnya, mesin klien dilindungi oleh firewall dan tidak akan memungkinkan tidak sah sesi permintaan dari pihak eksternal.
Di pasif mode, klien menetapkan kedua saluran. Kami sudah tahu itu menetapkan saluran perintah dalam mode aktif dan melakukan hal yang sama di sini.
Namun, kemudian permintaan server (pada command channel) untuk memulai mendengarkan pada port (di server kebijaksanaan) daripada mencoba untuk membangun kembali koneksi ke klien.
Sebagai bagian dari ini, server juga kembali kepada klien dengan nomor port yang telah dipilih untuk mendengarkan, sehingga klien tahu bagaimana untuk terhubung ke itu.
Setelah klien tahu bahwa, itu kemudian berhasil membuat saluran data dan melanjutkan.
Rincian lebih lanjut tersedia di RFC: https://www.ietf.org/rfc/rfc959.txt
Saya baru-baru ini lari ke pertanyaan ini di tempat kerja saya jadi saya pikir saya harus mengatakan sesuatu yang lebih di sini. Saya akan menggunakan gambar untuk menjelaskan bagaimana FTP bekerja sebagai sumber tambahan untuk jawaban sebelumnya.
Active mode:
Mode pasif:
Dalam mode aktif konfigurasi, server akan mencoba untuk menghubungkan komputer client-side port. Jadi kemungkinannya adalah, bahwa port tidak't menjadi salah satu dari mereka yang telah ditetapkan port. Akibatnya, upaya untuk menghubungkan untuk itu akan diblokir oleh firewall dan tidak ada koneksi yang akan didirikan.
Pasif konfigurasi tidak akan memiliki masalah ini sejak klien akan menjadi salah satu yang memulai koneksi. Tentu saja, hal's mungkin untuk sisi server untuk memiliki firewall juga. Namun, karena server diharapkan untuk menerima lebih banyak permintaan sambungan dibandingkan dengan klien, maka itu akan menjadi logis untuk server admin untuk beradaptasi dengan situasi dan membuka pilihan port untuk memenuhi pasif mode konfigurasi.
Jadi itu akan menjadi yang terbaik bagi anda untuk mengkonfigurasi server untuk mendukung pasif mode FTP. Namun, mode pasif akan membuat sistem anda rentan terhadap serangan karena klien harus terhubung ke server secara acak port. Dengan demikian, untuk mendukung mode ini, tidak hanya harus server anda harus memiliki beberapa port yang tersedia, anda firewall juga harus memungkinkan koneksi ke semua port tersebut untuk melewati!
Untuk mengurangi risiko, sebuah solusi yang baik akan menentukan berbagai port pada server anda dan kemudian memungkinkan hanya itu berbagai port pada firewall anda.
Untuk informasi lebih lanjut, silakan baca dokumen resmi.
Disunting versi dari artikel saya Koneksi FTP Mode (Aktif vs Pasif):
Koneksi FTP mode (aktif atau pasif), menentukan bagaimana koneksi data. Dalam kedua kasus, klien menciptakan TCP mengontrol koneksi ke server FTP command port 21. Ini adalah standar keluar koneksi, seperti halnya file transfer protocol (SFTP, SCP, WebDAV) atau lainnya aplikasi client TCP (misalnya web browser). Jadi, biasanya tidak ada masalah ketika membuka koneksi kontrol.
Dimana protokol FTP adalah lebih rumit dibandingkan dengan yang lain transfer file protokol untuk transfer file. Sementara protokol-protokol lainnya menggunakan koneksi yang sama untuk kedua sesi kontrol dan file (data) transfer, protokol FTP menggunakan koneksi terpisah untuk transfer file dan directory listing.
Di aktif mode, klien mulai mendengarkan pada port acak untuk masuk koneksi data dari server (client mengirimkan perintah FTP PORT
untuk memberitahu server pada port yang mendengarkan). Saat ini, itu adalah khas bahwa klien berada di belakang firewall (misalnya built-in Windows firewall) atau NAT router (misalnya modem ADSL), tidak dapat menerima koneksi TCP masuk.
Untuk alasan ini pasif mode diperkenalkan dan banyak digunakan saat ini. Menggunakan pasif modus adalah lebih baik karena sebagian besar konfigurasi yang rumit ini dilakukan hanya sekali pada sisi server, oleh administrator berpengalaman, bukan secara individual pada sisi client, dengan (mungkin) pengguna berpengalaman.
Di pasif mode, client menggunakan koneksi kontrol untuk mengirim PASV
perintah ke server dan kemudian menerima alamat IP server dan nomor port server dari server, dimana client kemudian digunakan untuk membuka koneksi data ke alamat IP server dan nomor port server diterima.
Dengan pasif mode, sebagian besar konfigurasi beban pada sisi server. Administrator server harus men-setup server seperti yang dijelaskan di bawah ini.
Firewall dan NAT pada FTP server harus dikonfigurasi yang tidak hanya memungkinkan/rute koneksi masuk pada port 21 FTP tapi juga berbagai port untuk koneksi data yang masuk. Biasanya, perangkat lunak server FTP memiliki pilihan konfigurasi untuk pengaturan berbagai port, server yang akan digunakan. Dan kisaran yang sama harus dibuka/diarahkan pada firewall/NAT.
Ketika FTP server di belakang NAT, perlu tahu itu's alamat IP eksternal, sehingga dapat memberikan kepada klien dalam menanggapi PASV
perintah.
Dengan aktif mode, sebagian besar konfigurasi beban pada sisi klien.
Firewall (misalnya Windows firewall) dan NAT (misalnya modem ADSL aturan routing) pada sisi klien harus dikonfigurasi untuk memungkinkan/rute berbagai port untuk koneksi data yang masuk. Untuk membuka port di Windows, pergi ke Control Panel > Sistem dan Keamanan > Windows Firewall > Advanced Settings > Aturan Inbound > Aturan Baru. Untuk routing port pada NAT (jika ada), lihat dokumentasinya.
Ketika ada's NAT dalam jaringan anda, klien FTP perlu tahu alamat IP eksternal yang WinSCP kebutuhan untuk memberikan ke FTP server menggunakan PORT
perintah. Sehingga server dapat benar menghubungkan kembali ke klien untuk membuka sambungan data. Beberapa klien FTP mampu autodetecting alamat IP eksternal, beberapa harus dikonfigurasi secara manual.
Beberapa firewall/Nat mencoba untuk secara otomatis membuka/menutup port data dengan memeriksa FTP koneksi kontrol dan/atau menerjemahkan data koneksi alamat IP koneksi kontrol lalu lintas.
Dengan seperti firewall/NAT, konfigurasi di atas tidak diperlukan untuk polos terenkripsi FTP. Tapi ini tidak bisa bekerja dengan FTPS, sebagai koneksi kontrol lalu lintas dienkripsi dan firewall/NAT tidak bisa memeriksa atau memodifikasinya.
Active mode: -server memulai koneksi.
Mode pasif: -klien memulai koneksi.
Mode aktif—klien mengeluarkan perintah PORT untuk server yang menandakan bahwa itu akan "aktif" memberikan IP dan nomor port untuk membuka Sambungan Data kembali ke klien.
Mode pasif—klien mengeluarkan perintah PASV untuk menunjukkan bahwa ia akan menunggu "pasif" untuk server untuk memberikan IP dan nomor port, setelah itu klien akan membuat Sambungan Data ke server.
Ada banyak jawaban yang baik di atas, tapi posting blog ini termasuk beberapa grafis dan memberikan cukup penjelasan yang solid: https://titanftp.com/2018/08/23/what-is-the-difference-between-active-and-passive-ftp/