TCP standards - telnet and ftp



Copyright Phillip Farrell. Last revision June 8, 2006

Additional topics:

Two basic client application programs are an essential part of the TCP/IP protocol suite and should be found in all implementations in some form: telnet and ftp. These programs contact server programs on remote computers to initiate remote login sessions or file transfers, respectively.

Telnet and ftp were written when the Internet was a small, friendly place. They send your password and data over the Internet in plain text format, with no encryption or security. This makes your password vulnerable to capture by hackers in the modern, hostile Internet. The ssh family of programs for remote login and file transfer are now the recommended standards, because they encrypt both your password and your data to protect them from hackers. The telnet and ftp services are maintained on pangea for those rare occasions when you may need to connect from a computer that does not have the ssh programs available. An anonymous form of ftp is also maintained by many sites, including pangea, as a mechanism for distributing large files to remote users.

All computers do not implement the server function. Typically, Unix systems have both the client programs and the server function (although the server may be turned off or restricted by the system manager for security reasons), allowing two-way connections between Unix computers, initiated at either end. Desktop computers such as Windows PCs and Macintoshes typically only have the client programs, and can initiate connections to Unix servers, but not to other desktop computers.

If you are working with multiple Unix systems under the same management, also check the rlogin, rcp, and rsh commands, which provide more versatility for remote login, file copying, and remote program execution. Those programs are available only on Unix systems, and should only be used on sets of computers under the same management for security reasons.

Although the telnet and ftp client programs may be implemented differently on different operating systems, and even go by other names, they operate in the same basic manner regardless of system.

On Unix systems, these programs are universally available to be run from a shell command line. You start these programs by typing the program name followed by the name or Internet address of the remote host as the argument, for example:

    telnet toquima
    ftp wasson
    telnet 171.64.168.232
    ftp 171.64.169.203

Windows PCs and Macintoshes usually have programs that implement the telnet and ftp client functions with menus and graphical displays, rather than a command line. They have a "new session" or "new connection" menu item that brings up a dialog box into which you can type the remote computer name or IP address to connect. Stanford University has site-licensed SecureFX for Windows PCs and Fetch for Macintosh computers. These programs support both plain ftp, as described here, and encrypted sftp based on the ssh protocol. You can download these programs to any Stanford computer from the Essential Stanford Software web site.

Windows 95/98/NT/2000/XP also allow you to run the command line versions of telnet and ftp, exactly like you would do on Unix. Simply select the Run item from the Start menu, and type cmd (followed by the RETURN key) to get a Command Prompt window. In that window, you can type telnet hostname or ftp hostname as the command to run (followed by the RETURN key), substituting the remote computer name or IP address for hostname. Then proceed as you would for the Unix commands, described below.

Because MacOS X is based on Unix, you can also run the command line versions of telnet and ftp from MacOS X, exactly like you would do on a Unix workstation. Simply start the Terminal application (found in the Utilities subfolder of the Applications folder). In the Terminal window, you can type telnet hostname or ftp hostname as the command to run (followed by the RETURN key), substituting the remote computer name or IP address for hostname. Then proceed as you would for the Unix commands, described below.

See descriptions of the specific commands available in each program:

Comments or Questions?