You are on page 1of 14

TELNET : TELNET (TELecommunication NETwork) is a network protocol used on the Internet or local area network (LAN) connections.

It was developed in 1969 beginning with RFC 15 and standardized as IETF STD 8, one of the first Internet standards. It is a network protocol used on the Internet or local area networks to provide a bidirectional interactive communications facility. Typically, telnet provides .access to a command-line interface on a remote host via a virtual terminal connection which consists of an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP). User data is interspersed in-band with TELNET control information. The network terminal protocol (TELNET) allows a user to log in on any other computer on the network. We can start a remote session by specifying a computer to connect to. From that time until we finish the session, anything we type is sent to the other computer. The Telnet program runs on the computer and connects your PC to a server on the network. We can then enter commands through the Telnet program and they will be executed as if we were entering them directly on the server console. This enables we to control the server and communicate with other servers on the network. To start a Telnet session, we must log in to a server by entering a valid username and password. Telnet is a common way to remotely control Web servers. The term telnet also refers to software which implements the client part of the protocol. TELNET clients have been available on most Unix systems for many years and are available virtually for all platforms. Most network equipment and OSs with a TCP/IP stack support some kind of TELNET service server for their remote configuration including ones based on Windows NT. TELNET is a client server protocol, based on a reliable connection oriented transport. Typically this protocol used to establish a connection to TCP port 23, where a getty-equivalent program (telnetd) is listening, although TELNET predates. Telnet was developed in 1969 to aid in remote connectivity between computers over a network. Telnet can connect to a remote machine that on a network and is port listening. Most common ports to which one can connect to through telnet are: elnet can be used to connect to virtually any machine that listens on ports. In other words, you can connect to any machine that has certain ports open. Once connected to a machine, you need to issue UNIX based commands to interact with the remote service. For example, a user don't need to login, check and send mails only through his e-mail service provider's interface but this can be achieved using simple telnet commands. It is because of this reason that many hackers can send spoofed emails or access information such as which services are running on the remote machine. This is also called banner grabbing or daemon tracking. Black hat hackers can also use telnet to sniff network packets which might contain sensitive information such as usernames and passwords. This is achieved by using telnet and network utilities such as TCP dump and wire shark. Telnet client and server functionality comes built-in in most operating systems. However, there are several third-party applications like putty client that enable remote connectivity. A user can connect to a remote machine through several access modes such as raw access, SSH access, etc. SSH mode offers encryption and security and hence can prevent eavesdropping by hackers. This is by far the most secure way of connecting to a machine. However, it is necessary that the remote machine supports SSH login to make use of the encryption and security features. On windows machines, telnet client can simply be started by issuing the telnet command in windows command shell. The following example would help you connect to a remote machine on the HTTP Port 80 and issue a GET command which would fetch a file as your web browser does it behind scenes:

Command Prompt> Telnet Command Prompt> open (somedomain.com or ip address) 80 At this stage, you would be connected to somedomain.com or ip address on port 80 and the daemon that is running on port 80 (most probably HTTP Server) would be waiting for HTTP requests. GET/HTTP/1.1host: Issuing the command above would make the HTTP Server return the file requested, in this case it would be the default file at the root location, most applications and embedded devices make use of the telnet technology to connect to remote server machines and provide end user functionality. The most common use of telnet stands to enable remote authentication and access, Establishing Telnet Connection To use Telnet, you need to know the address of the host whose resources you want to use. Your Telnet client contacts the host using its internet address. When you contact the host, the distant computer and your computer negotiate how they will communicate with each other. They decide which terminal emulation will be used. Telnet emulation determines how your keyboard will transmit information to the distant computer and how information will be displayed on your screen. For example, it determines how a back space key <- will work. Type text in a Telnet session accumulates in a buffer on your computer. When a complete line of data is ready for transmission, or when you give a command to transmit data (such as pressing the Enter key), the data is sent across the Internet from your Network Virtual Terminal (NVT) keyboard. Along with the data is the host's IP address, which makes sure that the packet is sent to the proper location. Your IP address is also sent so that information can be routed back to you. Additionally, specific Telnet commands that the other NVT will use, are sent to decide what to do with the data, or how to respond to the data. E.g. when data is sent from one NVT to another and certain information must be sent back to the originating NVT for a process to proceed, the Telnet Go Ahead (GA) command is sent. After Telnet host receives data you have sent it, processes the data and returns to your screen and give the results of using the data or running the command on a distant computer. Connecting to a Remote Host Follow these steps to connect to a remote host using Telnet 1. Open Telnet by clicking on Start menu and choose run. Now type Telnet, and press Enter key from the keyboard or by clicking on the OK button. 2. From the Menu, choose Connect. Remote 3. Enter the name or IP address of the system that you want to connect to in the Host Name Field. 4. If required, a port in the Port field. 5. In the term Type, select the type of terminal that you want Telnet to emulate. 6. After you are finished with the remote host, you can disconnect from a remote host by choosing Connect, Disconnect. Telnet Protocol Characteristics There are the various characteristics of Telnet which are described below:

Telnet is a terminal emulation protocol. When you start installing and configuring native TCP/IP devices, you are going to need some way to connect to the device to issue its commands. Telnet is versatile. You can establish Telnet sessions over the phone. If there is no phone connection and your device is accessible to the Internet, you can establish a Telnet session over the Internet. In any of these conditions you can establish a Telnet session with a remote host. Terminal Emulation A personal computer can connect via Modem to a large computer and run a terminal emulation program. The most common terminal emulation is the VT100. The computer works like a dumb terminal, except it is connected via a phone line instead of a direct connection. Often, you will not be able to use graphics on the Internet, such as the WWW (World Wide Web), this kind of access, although you will be able to browse the text-only portion of the Web. This kind of Internet account is sometimes called "Shell" account. This shell account is available with VSNL for students in India. Many terminal emulation programs can emulate DEC terminals, including the VT52 and VT200 series terminals. For example, tty pathname of your terminal's device file. The syntax for this command is tty [option] The options are: 1. -1 Prints the synchronous line number. 2. -s Causes tty not to print any output but sets the exit status to 0 if the standard input file is a terminal, and to 1 if it is not. TELNET is generally used with the following applications : (1) Enterprise networks to access host applications, e.g. on IBM Mainframes. (2) Administration of network elements, e.g., in commissioning, integration and maintenance of core network elements in mobile communication networks. (3) MUD games played over the Internet, as well as talkers, MUSHes, MUCKs, MOOes, and the resurgent BBS community. (4) embedded systems.

The telnet protocol gives you the ability to connect to a machine, by giving commands and instructions interactively to that machine, thus creating an interactive connection. In such a case, the local system becomes transparent to the user, who gets the feeling that he is connected directly to the remote computer. The commands typed by the user are transmitted directly to the remote machine and the response from the remote machine is displayed on the users monitor screen. An interactive connection is also know as remote login. In order to remote login the users computer must have the ability to establish a connection to another machine, emulate a terminal compatible with the remote machine, regulate the flow of data from the users terminal to remote machine, and vice versa. How application programs implement a TELNET client and server NETWORK VIRTUAL TERMINAL The Network Virtual Terminal is a device used by Telnet to enable a local computer to communicate with a remote machine.To make Telnet interoperate between as many systems as possible, it must accommodate the details of heterogeneous computers aand operating systems. To accommodate heterogeneity, Telnet defines how data and command sequences are sent across the Internet. The definition is known as the Network Virtual Terminal (NVT). The NVT defines how data and commands are sent across the internet. The NVT is a bi-directional character device that has a printer and a keyboard. The printer responds to incoming data and the keyboard produces outgoing data which is sent over the Telnet connection. The NVT is viewed as a half-duplex device. The Network Virtual Terminal implements a client-server architecture. A Telnet client transfers characters between the users terminal and a remote service. On one side, it uses the local operating system functions when it interacts with the users terminal. On the other side, it uses a TCP connection when it communicates with the remote service. The Telnet protocol defines the character set for the virtual terminal. Several of the keys correspond to conceptual operations instead of data values. For example, one key causes an Interrupt or Abort. The definition of NVT format is fairly straightforward. All communication involves 8-bit bytes. At startup, NVT uses the standard 7-bit USASCII representation for data and reserves bytes with the high order bit set for command sequences. The USASCII character set includes 95 characters that have "printable" graphics (letters, digits and punctuation marks) as well as 33 "control" codes. All printable characters are assigned the same meaning as in the standard USASCII character set. The NVT standard defines interpretations for control characters as shown in the table below. ASCII Control Decimal Assigned Meaning Code Value No operation (has no effect on NUL 0 output) Sound audible/visible signal (no BEL 7 motion) BS 8 Move left one character position HT 9 Move right to the next horizontal tab

LF VT FF CR other control

10 11 12 13 --

stop Move down (vertically) to the next line Move down to the next vertical tab stop Move to the top of the next page Move to the left margin on the current line No operation (has no effect on output)

To provide a full-duplex connection between the users terminal and a remote service, a Telnet client performs two tasks simultaneously : The client must read characters that the user types on the keyboard and send them across a TCP connection to the remote service. The client must read characters that arrive from the TCP connection and display them on the users terminal screen. Because the remote service can emit output at any time or the user can type at any time, a client cannot know which source of data will become available first. Thus, it cannot block indefinitely waiting for input from one of the two sources without also checking for input from the other. In short, the client must transfer data in both directions concurrently. The cheif advantage of using a Network Vitrual Terminal is that it permits clients from a variety of computers to connect to a service. USING TELNET In order to initiate a Telnet session, you need to know the address of the remote host computer. The syntax for using Telnet is : telnet < address of remote host > For example: telnet libra.math.tau.ac.il - This will initiate an interactive session with the libra server at the School of Exact Science at the Tel-Aviv University. Every Telnet site has two addresses - one composed of words that are easier for people to remember ; The other numerical address better suited for computers. Many remote hosts require you to have an acount to login (you must have a user-id and a password). However, there are some remote hosts that do not require users to have an acount. Users can login with the general user-id and password are usually not required (it is inserted automatically). What is Telnet and What Is It For? Telnet is a system for logging onto a remote computer through the Internet. There are lots of reasons to do this. Telnet allows you to access computers all over the world and use the resources you find on those computers. You could use telnet to access Brand X while on vacation to check your mail. You can use it to play games, to join chat lines, or you can use it to access and modify web pages if you have a web site. Telnet does this by simulating a Unix terminal connected to the other computer via the Internet. So what you see in Telnet is the same thing as what you would see if you were at a terminal hooked directly to the other computer.

Telnet began as one of the basic features of Unix, and at Brand X we use telnet from a central console to access and configure the various Brand X computers. We use the basic text version of Telnet, which is built into Berkely Unix. There are Mac and Windows versions of Telnet, which you can run from home, and which give you all of the features of Unix Telnet, but with a nifty graphical window. Once you've got a connection started, all of the various forms of Telnet are the same because what you really see is whatever the other computer is sending you, and telnet is always going to be text no matter which version of telnet you use. Telnet is easy and it is popular. It is well worth learning. If you enjoy the Internet, Telnet will become one of your most useful and frequently used tools. TELNET vs. telnet TELNET is a protocol that provides a general, bi-directional, eight-bit byte oriented communications facility. telnet is a program that supports the TELNET protocol over TCP. Many application protocols are built upon the TELNET protocol. TELNET vs. telnet TELNET is a protocol that provides a general, bi-directional, eight-bit byte oriented communications facility. telnet is a program that supports the TELNET protocol over TCP. Many application protocols are built upon the TELNET protocol. Network Virtual Terminal intermediate representation of a generic terminal. provides a standard language for communication of terminal control functions. The protocol for requesting optional features is well defined and includes rules for eliminating possible negotiation loops. The set of options is not part of the TELNET protocol, so that new terminal features can be incorporated without changing the TELNET protocol. Option examples Line mode vs. character mode echo modes character set (EBCDIC vs. ASCII) Control Functions TELNET includes support for a series of control functions commonly supported by servers. This provides a uniform mechanism for communication of (the supported) control functions. Interrupt Process (IP) suspend/abort process. Abort Output (AO) process can complete, but send no more output to users terminal. Are You There (AYT) check to see if system is still running. Erase Character (EC)

delete last character sent typically used to edit keyboard input. Erase Line (EL) delete all input in current line. Command Structure All TELNET commands and data flow through the same TCP connection. Commands start with a special character called the Interpret as Command escape character (IAC). The IAC code is 255. If a 255 is sent as data - it must be followed by another 255. Looking for Commands Each receiver must look at each byte that arrives and look for IAC. If IAC is found and the next byte is IAC - a single byte is presented to the application/terminal (a 255). If IAC is followed by any other code - the TELNET layer interprets this as a command. Command Codes IP 243 AO 244 AYT 245 EC 246 EL 247 n WILL 251 n WONT 252 n DO 253 n DONT 254 n IAC 255 Playing with TELNET You can use the telnet program to play with the TELNET protocol. telnet is a generic TCP client. Sends whatever you type to the TCP socket. Prints whatever comes back through the TCP socket. Useful for testing TCP servers (ASCII based protocols) Playing with TELNET You can use the telnet program to play with the TELNET protocol. telnet is a generic TCP client. Sends whatever you type to the TCP socket. Prints whatever comes back through the TCP socket. Useful for testing TCP servers (ASCII based protocols)

Remote Login A remote login facility allows a user to establish a login session to a remote machine and then execute commands. Implementing a remote login facility is not as trivial as might seem: Some operating systems were built before networks existed and assume that login sessions can come only from terminal lines. Some systems allow special keys (e.g., CTRL-C) to abort the current process. In some systems it may be impossible to send the CTRL-C to the remote server. On the other hand, sending a CTRL-C to a remote server may prevent a user from aborting the local end of the session. A remote login facility should provide interoperability between heterogeneous machines. Should a program output CR-NL or just a NL? Individual machines have differing interpretations for how to specify functions to perform such logical functions as indicating end of record/line. Telnet is an Internet standard remote login protocol that connects a local terminal with a remote login session. It copies keystrokes to the remote machine and copies output from the remote machine to the local terminal. Telnet provides three services: 1. Telnet defines a Network Virtual Terminal (NVT) standard that describes a standard terminal. Client programs interact with the NVT, and the server translates NVT operations into ones specific to the actual hardware/operating system. 2. Telnet allows the two ends of the connection to negotiate options with one another. Option negotiation allows both ends to agree on a common level of service. 3. Telnet treats both ends of a connection symmetrically allowing both ends to be programs. To handle heterogeneity, telnet defines how data and command sequences are represented. The client translates keystrokes into NVT format and sends them the server. The server translates NVT operations into the appropriate local representation. All telnet operations are sent as 8-bit bytes: Bytes with a first bit of zero are treated as normal 7-bit ascii character data. Printable ascii characters have standard meanings, and the meaning of control characters is specified to eliminate ambiguities. Bytes with the high order bit set are used for command sequences. The two-character sequence CR-LF delimits records. Telnet defines the following commands: Interrupt process (IP): Terminate the running program. Abort output (AO): Discard any buffered output. Are you there (AYT): Allows client to send and out-of-band query to verify the remote end is still there. Erase character (EC): Erase the previous character.

Erase line (EL): Delete the entire current line. Synchronize: Clear data path to remote party. Break: Equivalent of the BREAK or ATTENTION key. To send a command, telnet sends the escape sequence Interpret As Command (IAC) followed by the 1-byte command. The IAC has a value of 0xff (and must be escaped when it appears in the data). Sending control functions is not always enough to guarantee the desired results. Consider the following scenario: If the remote program is in a loop, it may never read input or generate output. If the client continues sending output, the server's receive buffer will fill, and the server will eventual advertise a TCP flow-control window of size 0. Further data sent to the server will remain in buffered at the sender. What if the client now sends an ``interrupt process'' command? It will never be delivered because the client is no longer allowed to send new data. The command stays in the sender's buffer. Telnet solves this problem by using the TCP urgent pointer mechanism to send an out-ofband signal. When it sends the interrupt process command, it directs TCP to set the urgent pointer to the IAC command. TCP then sends a segment (that doesn't necessarily have data in it) with the urgent pointer set. The remote TCP then alerts the remote telnet of the urgent data, which proceeds to process it. Note: The TCP urgent mechanism specification requires that the operating system provide a mechanism for asynchronously notifying a process of the presence of urgent data; Unix uses the SIGURG signal. Telnet allows either end of a connection to negotiate the use of options. Option processing is interesting because either end can request the use of an option. To request an option, side A sends a ``Will X'' option request. The remote side responds with ``Do X'' or ``Don't X'', indicating that it will or will not participate in the requested option. If an option is accepted, it become effective immediately after the ``DO X'' in the data stream. Actual option negotiation takes place in two steps. At the top level, two telnet processes negotiate as to whether they are willing to negotiate an option. If the answer is yes, further option-specific subnegotiation takes place to exchange the actual option information. Example options: 1. Use an 8-bit instead of 7-bit data path. This allows the transmission of non-ascii data. 2. Full duplex vs. half duplex operation. 3. Local editing. That is, have the local telnet perform echoing, erase, etc., and only send complete lines. This can save a tremendous amount of bandwidth. Another option allows the remote side to specify what characters indicate ``end of command''.

4. Specify mappings of characters to interrupt functions. For example, map ctrl-C into the abort command. 5. Determine the size (rows and columns) of the terminal. Telnet and Rlogin _Login to and execute commands on remote machines. _Telnet works between hosts with different OS dates back to 1969 on the ARPANET its name stands for telecommunications network protocol _Rlogin works between Unix systems only. Local Shell Execution Shell Terminal Driver User _A shell is an application that reads and understands user commands and invokes corresponding programs on behalf of users. Command.com in Windows Tcsh, bash, sh, etc. in Unix TELNET Telnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP). Telnet was developed in 1969 beginning with RFC 15, extended in RFC 854, and standardized as Internet Engineering Task Force (IETF) Internet Standard STD 8, one of the first Internet standards. How telnet works Telnet is a TCP/IP network protocol which is helpful in assessing distant computer terminals. Telnet allows the administrator of another computer to access the computer of any other computer residing on network. The HTTP and FTP protocols are often ready to lend a hand to ask or send request to access particular files on the network. However both of these protocols do not provide any help to actually log in to the remote PC. It is however possible to log in to access any remote Pc and you can utilize the various applications on which you have been provided an authorize access. Telnet is a useful source of using a remote PC by the program developers or the network administrators who need to use the host PC for virus scanning and related applications. It is telnet which connects your PC to the network. When a person enters a command with using a telnet program he/she has to enter a specific username

and password, if the username is correct a person can remotely administer the web servers. Telnet uses in LAN Telnet can also guide us to use it as a LAN tool to help allow remote access to network. Connect the Ethernet or LAN cable to the instrument. Then type the IP address into the web browser, then click on advanced information and locate the SCPI port. Then recheck your connection using a DOS window, type IP and the PING address of the product. Run Telnet command and at the command bar type the IP address and the port number. Then enter the command for the product. Afterwards shut the connection and egress Telnet. Telnet is also popularly used in enterprise networks to access host PCs. It can be used to administrate network. It is still used in mobile network communications and industrial control units. It used in internet games like internet chess club and internet go server. Furthermore it is also used in entrenched systems. Telnet also runs over the secure networks. It is also helpful in file sharing such as session transfer, sharing and swap. Telnet Security In 1969 when telnet was initially introduced the use of PC and the internet was not common. Hence the security risks aware limited. However, now the demand for internet and increased bandwidth has led to security threats. Therefore the use of telnet to access remote computers is limited and subject to security constraints. The telnet offers weak security. Data is not encrypted naturally when it is sent over the network. There are security tools to encrypt and decrypt the data in order to make it safe. For this reason password and user Id is recommended. The telnet is commonly used to allow communication between two systems specifically allocated to communicate hence there is no loss of data from it. However what if one wants to use the telnet for LAN network. In that case he has to bear the risk of data loss. Hence with the passage of time the use of telnet was replaced greatly by other network protocols such as secure shell protocol and, transport layer security. REMOTE LOGIN Remote login is one of the most popular Internet applications. Instead of having a hardwired terminal on each host, we can login to one host and then remote login across the network to any other host (that we have an account on, of course). Two popular applications provide remote login across TCP/IP internets. 1. Telnet is a standard application that almost every TCP/IP implementation provides. It works between hosts that use different operating systems. Telnet uses option negotiation between the client and server to determine what features each end can provide. 2. Rlogin is from Berkeley Unix and was developed to work between Unix systems only, but it has been ported to other operating systems also.

Telnet is one of the oldest of the Internet applications, dating back to 1969 on the ARPANET. Its name is actually an acronym that stands for "telecommunications network protocol." Remote login uses the client-server paradigm. Figure shows the typical arrangement of the Telnet client and server. Overview of Telnet client-server: There are numerous points in this figure. 1. The Telnet client interacts with both the user at the terminal and the TCP/IP protocols. Normally everything we type is sent across the TCP connection, and everything received from the connection is output to our terminal. 2. The Telnet server often deals with what's called a pseudo-terminal device, at least under Unix systems. This makes it appear to the login shell that's invoked on the server, and to any programs run by the login shell, that they're talking to a terminal device. Some applications, such as full-screen editors, assume they're talking to a terminal device. Indeed, making the login shell on the server think that it's talking to a terminal is often one of the hardest programming aspects involved in writing a remote login server. 3. Only a single TCP connection is used. Since there are times when the Telnet client must talk to the Telnet server (and vice versa) there needs to be some way to delineate commands that are sent across the connection, versus user data. We'll see how both Telnet and Rlogin handle this. 4. We show dashed boxes to note that the terminal and pseudo terminal drivers, along with the TCP/IP implementation, are normally part of the operating system kernel. The Telnet client and server, however, are often user applications. 5. We show the login shell on the server host to reiterate that we have to login to the server. We must have an account on that system to login to it, using either Telnet or Rlogin. Rlogin Examples Initial Client-Server Protocol . Time line for an Rlogin connection. The protocol we described in the previous section can be seen in segments 19. The client sends a single byte of 0 (segment 1) followed by three strings (segment 3). In this example the three strings are rstevens (the login name on the client), rstevens (the login name on the server), and ibmpc3/9600 (the terminal type and speed). The server authenticates this and responds with a byte of 0 (segment 5). The server then sends the window request command (segment 7). It is sent using TCP's urgent mode and again we see an implementation (SVR4) that uses the older, but more common interpretation, where the urgent pointer specifies the sequence number plus one of the last byte of urgent data. The client responds with 12 bytes of data: 2 bytes of 0xff, 2 bytes of s, and 4 16-bit values. The next four segments from the server (10, 12, 14, and 16) are the operating system greeting from the server. This is followed by the 7-byte shell prompt on the server: "svr4 % " in segment 18.

The data entered by the client is then sent 1 byte at a time. The connection can be closed by either end. If we type a command that causes the shell running on the server to terminate, the server's end does the active close. If we type an escape to the Rlogin client (normally a tilde), followed by a period or our endof-file character, the client does the active close. rlogin is most commonly deployed on corporate or academic networks, where user account information is shared between all the Unix machines on the network (often using NIS). These deployments essentially trust ALL other machines (and the network infrastructure itself) and the rlogin protocol relies on this trust. rlogind allows logins without password (where rlogind trusts a remote rlogin client) if the remote host appears in the /etc/hosts.equiv file, or if the user in question has a .rhosts file in their home directory (which is frequently shared using NFS).

Use

Security rlogin has several serious security problems: All information, including passwords, is transmitted unencrypted (making it vulnerable to interception). The .rlogin (or .rhosts) file is easy to misuse (potentially allowing anyone to login without a password) - for this reason many corporate system administrators prohibit .rlogin files and actively search their networks for offenders. The protocol partly relies on the remote party's rlogin client providing information honestly (including source port and source host name). A corrupt client is thus able to forge this and gain access, as the rlogin protocol has no means of authenticating other machines' identities, or ensuring that the rlogin client on a trusted machine is the real rlogin client. The common practice of mounting users' home directories via NFS exposes rlogin to attack by means of fake .rhosts files - this means that any of NFS's security faults automatically plague rlogin. Replacements The original Berkeley package which provides rlogin also features rcp (remote-copy, allowing files to be copied over the network) and rsh (remoteshell, allowing commands to be run on a remote machine without the user logging into it). These share the hosts.equiv and .rhosts access-control scheme (although they connect to a different daemon, rshd), and as such suffer from the same security problems. The ssh suite contains suitable replacements for both: scp replaces rcp, and ssh itself replaces both rlogin and rsh. Difference between TELNET and rlogin Telnet has a similar "sister" remote login protocol called rlogin. It also is a part of TCP/IP, and most UNIX systems with a TCP/IP stack provide both Telnet and rlogin as connectivity services. First, from the user standpoint, rlogin automatically assumes that when a user tries to connect to another system, the username will be consistent from system to system. If user Bill utilizes rlogin to connect to another server, the remote system

assumes that it is user Bill trying to connect and asks immediately for a password, not permitting Bill to use a different login name. rlogin also can be configured to allow trusted hosts. This way, a user can connect directly to another system via rlogin without even typing a password. rlogin may seem like a tremendous time-saver, bypassing the inconvenience of typing in usernames and passwords when connecting to another system. Keep in mind, however, the security issues that arise. Walking away from your desk for a half hour does not merely compromise the security of your local machine, but also any other systems on your LAN that permit rlogin and regard your system as a trusted host. From a technical standpoint, Telnet is not only more secure, but it also is more stable than rlogin. The Telnet protocol allows both the client and server systems to negotiate the flow control and duplex, letting the systems make adjustments for slow network links, which rlogin does not. Telnet and FTP are two very commonly used application-layer protocols on the Internet. They have been around for over 20 years now. Telnet is an application-layer protocol and allows a user to connect to an account on another remote machine. A client program on one machine can connect with a server program running on another machine using this protocol. Users utilizing Telnet interact with the remote machine in the same way as they would with a local machine. Telnet was one of the earliest protocols and in the early days was used primarily to allow users in one location to access accounts or machines in another location. The Telnet client has two primary functions: Interacting with the user terminal on the local host Communicating with the remote telnet server The default port (reserved by IANA) that the telnet client connects to on the server side is port 23. The client/server TCP connection is maintained throughout the telnet session. Since telnet can work across different platforms, telnet assumes that the hosts run a general network virtual terminal, which is a simple character device with a keyboard and printer. Data typed by a user on the keyboard are transmitted to the remote server, and the received data from the server are output to the printer. In order to differentiate between a telnet control message and user data, each control message is preceded with a special octet, eight bits of 1s. Initial control messages during a telnet setup indicate the capabilities of the two endpoints to each other. After this is completed, the server requests an ID and password for logging in. The user types in his or her ID and password, and this is transferred to the server over the TCP connection. Once authenticated at the server, the connection is opened and data start to flow in both directions.