Download : Click Here
WinSCP (Windows Secure Copy) is a free and open-source SFTP, FTP, WebDAV and SCP client for Microsoft Windows. Its main function is secure file transfer between a local and a remote computer. Beyond this, WinSCP offers basic file manager and file synchronization functionality. For secure transfers, it uses Secure Shell (SSH) and supports the SCP protocol in addition to SFTP. 
Development of WinSCP Started around March 2000 and Continues. I Was Originally hosted by the University of Economics in Prague, Where Its author worked at the time. Since July 16, 2003 it is licensed under the GNU GPL and hosted on SourceForge.net. 
WinSCP is based on the Implementation of the protocol from PuTTY SSH and FTP protocol from FileZilla.  Also it is available as a plugin for Altap Salamander file manager,  and there exists a third-party plugin for the file manager FAR.
Graphical user interface
Translated Into Several languages
Integration with Windows (Drag-and-drop, URL, shortcut icons)
All common operations with files
Support for SFTP and SCP Protocols over SSH-1 and SSH-2 protocol FTP and WebDAV protocol. 
Batch file scripting, command-line interface and .NET wrapper
Directory synchronization in semi or fully automatic Several Ways
Integrated text editor
Support for SSH password, keyboard-interactive, public key and Kerberos (GSS) authentication
Integrates with Pageant (PuTTY authentication agent) for full support of public key authentication with SSH
Choice of Windows Explorer-like or Norton Commander-like interfaces
Stores session information Optionally
Optionally import from PuTTY sessions session information in the registry
Able to upload files and RETAIN Associated original date / timestamps, FTP Clients Unlikely
WinSCP Can act as a remote editor. When the user clicks on a (text) file in the remote file manager, it transfers the file to the local machine and opens it in the Integrated editor, Where Can Windows users feel very much at home. Alternatively, the user may Choose local editors based on file extensions. Whenever the document is saved, the remote version is automatically updated.
Apart from the standard package, three are portable versions Also available: A generic package  and two customized versions for LiberKey and Portableapps.com. The portable version runs on Wine in Linux.
The File Transfer Protocol (FTP) is a standard network protocol used to transfer files between a client computer and server computer on a network.
FTP is built on a client-server architecture and uses Separate model control and data connections between the client and the server.  FTP users may authenticate themselves with a clear-text sign-in protocol, Normally in the form of a username and password, connect anonymously soft Can f the server is configured to Allow it. For secure transmission That protects the username and password, and encrypts the content, is Often secured FTP with SSL / TLS (FTPS). SSH File Transfer Protocol (SFTP) is used Instead Sometimes Also, is technologically Different soft.
The first FTP client command-line applications Were Before Developer Programs hadd operating systems graphical user interfaces, and are still shipped with Most Windows, Unix, and Linux operating systems.   Many FTP Clients and automation utilities SINCE have been Developer for desktops, servers, mobile devices, and hardware, and FTP has been incorporated Into Productivity applications, Such as web page editors.
FTP may run in active or passive mode, Which determines how the data connection is Established.  In Both Cases, the client control Creates a TCP connection from a random, usually an unprivileged, N port command to the FTP server port 21.
In active mode, the client starts listening for incoming data connections from the server on port M. It sends the FTP PORT command M to inform the server on port qual it is listening. The crack initiates a data server to the client channel from Its port 20, the FTP server port data.
In Situations Where the client is behind a firewall and Unable to accept incoming TCP connections, passive mode may swear used. In this mode, the client uses the control connection to send a PASV command to the server and crack receives a server IP address and server port number from the server,   Which the client said uses to open a data connection from an arbitrary client to the server port and IP address Incoming server port number. 
Both modes Were updated in September 1998 to support IPv6. Further changes Were Introduced to the passive mode at That time, updating it to extended passive mode. 
The Responds server over the control connection with three-digit status codes in ASCII with an optional text message. For example, “200” (or “200 OK”) Means That Was Successful the last command. The numbers Represent the code for the response and the optional text represents a human-readable explanation or request (e.g. <Need account for storing file>).  An ongoing transfer of file data over the data connection Can Be aborted using an interrupt message sent over the control connection.
While transferring data over the network, four data representations Can Be used:   
ASCII mode: Used for text. Data is Converted, the if needed, from the sending host’s character representation to “8-bit ASCII” Before transmission, and (again, the if Necessary) to the receiving host’s character representation. As a Consequence, this mode is inappropriate for files That Contain date other than plain text.
Image mode (Commonly called Binary mode): The sending machine sends Each file byte for byte, and the recipient Stores the bytestream as it receives it. (Image mode support has been recommended for all implementations of FTP).
EBCDIC mode: Used for plain text between hosts using the EBCDIC character set.
Local mode: Allows two computers with identical setups to item data in a proprietary format without the Need to convert it to ASCII.
For text files, different format control and record structure options are Provided. These features Were Designed to Facilitate Containing files Telnet or ASA.
Data transfer Can Be done in any of three modes:  
Stream mode: Data is sent as a Continuous stream, Relieving FTP from doing any processing. Rather, all processing is left up to TCP. No End-of-file indicator is needed, unless the date is Divided Into records.
Block mode: FTP breaks the data Into Several blocks (block header, byte count, and the date field) and said passes it on to TCP. 
Compressed mode: Data is compressed using a simple algorithm (usually run-length encoding).
Some FTP Also implements a software-based deflate compressed mode, Sometimes called “Mode Z” after the command That Enables it. This mode Was describedat in an Internet Draft, But Not standardized.
FTP login utilizes a normal username and password scheme for Granting access.  The username is sent to the server using the USER command, and the password is sent using the PASS command.  If the information Provided by the client is accepted by the server, the server Will send a greeting to the client and Will commence the session.  If the server supports it, users may log in without Providing Login Credentials, But The Same server may only limited access for authorizat Such sessions. 
Anonymous FTP 
A host an FTP service Provides That may Provide anonymous FTP access.  Typically users log Into the service with an ‘anonymous’ (lower-case and case-sensitive In Some FTP servers) When prompted for user account name. Although users are Commonly Asked to Send Their email address Instead of a password,  Actually no verification is performed on the Supplied date.  Many FTP hosts Whose Purpose is to Provide software updates Will Allow anonymous logins. 
NAT and firewall traversal 
Normally FTP transfers data by having the server connect back to the client, after the PORT command is sent by the client. This is problematic for Both NATS and firewalls, Which will not Allow connections from internal hosts Towards the Internet.  For the Nats, an additional Complication That is the representation of the IP addresses and port number in the PORT command referee to the internal host’s IP address and port, Rather than the public IP address and port of the NAT.
There are two approaches to this problem. That One is the FTP client and FTP server use the PASV command, Which causes the data to swear Established connection from the FTP client to the server.  This is widely used by modern FTP Clients. Another approach is for the NAT to alter the values of the PORT command, using an application-level gateway for this project purpose. 
Differences from HTTP 
HTTP essentially fixes the bugs in the FTP That made it Inconvenient Many small to use for transfers Ephemeral as are typical in web pages.
FTP has a stateful connection qual control maintains a current working directory and other flags, and Each transfer Requires a secondary connection through the data are Transferred qual. In “passive” mode is this secondary connection from client to server, whereas in the default “active” mode this connection is from server to client. This apparent role reversal when in active mode, and random port numbers for all transfers, is why firewalls and NAT gateways have Such a hard time with FTP. HTTP is stateless and multiplexes control and data over a single connection from client to server on well-known port numbers, Which trivially passes through NAT gateways and firewalls for is simple to manage.
Setting up an FTP control connection is quite slow due to the round-trip delays of sending all of the required commands and awaiting responses, so it is customary to the bring up a control connection and hold it open for multiple file transfers Rather than drop and new -establish afresh Each time the session. In contrast, the connection dropped Originally HTTP After each transfer Was Because doing so so cheap. While HTTP has subsequently gained the Ability to reuse the TCP connection for multiple transfers, the conceptual model is still of Independent requests Rather than a session.
When FTP is transferring over the data connection, the connection is idle control. If the transfer takes long enough, the firewall or NAT That may as precisely control the connection is dead and stop tracking it, Effectively breaking the connection and confusing the download. The single HTTP idle connection is only between requests and it is normal and Expected for Such connections to swear dropped after a time-out.