Linux recognizes network interfaces on bootup. (Or at least it does so if the kernel is configured properly.) Each interface is automatically assigned a label - like ``lo0'' for the loopback interface with which the machine talks to itself, ``eth3 '' for the fourth internet card installed on the system (since numbering starts with zero), and ``ax0'' for the first Ham radio packet interface present.
These commands are presented in the order they would typically be used while setting up networking.
TCP/IP Testing and Troubleshooting
The ping command (named after the sound of an active sonar system) sends echo requests to the host you specify on the command line, and lists the responses received their round trip time. When you terminate ping (probably by hitting control-C) it summarizes the results, giving the average round trip time and the percent packet loss. This command is used constantly to determine whether there is a problem with the network connection between two hosts.
These commands all perform a DNS query for you. All three can do simple queries (host name to address), reverse queries (address to host name), and more exotic operations (like listing all of the hosts in a domain). The dig command is often considered to give the most behind-the-scenes information for those interested, while host has the simplest default output.
Network Clients and Services
These days your system instead contains TCP wrappers, which monitor all of the incoming ports by themselves. When a connection is made the wrappers decide whether access will be permitted, and only when a connection is approved is the daemon run to respond to it. The access rules are usually found in the configuration files /etc/hosts.allow and /etc/hosts.deny .
|21||ftp||in.ftpd||File transfer protocol - The standard protocol for transferring files across the Internet, whether from password-protected user accounts or publicly available ``anonymous'' servers.|
|23||telnet||in.telnetd||Telnet remote terminal protocol - The standard protocol for logging in to a remote machine.|
|37||rdate||in.timed||System time - Responds with the time according to the system clock.|
|67||bootptest||bootpd||Internet Bootstrap Protocol - If you want to control IP address assignment from a central location, you can have machines broadcast a query upon booting that a nearby bootp server must respond to with the IP address the machine should use, and possibly the name of a configuration file to retrieve through tftp.|
|69||tftp||in.tftpd||Trivial file transfer protocol - A very simple file transfer protocol that lets any host download any publicly readable file in its directory (which is normally /tftpboot). If you use this make sure to protect it with TCP wrapper. This is normally used to provide configuration files to machines initializing themselves with bootp.|
|70||gopher||gn||Gopher - A hierarchical information browser that was in vogue before the introduction of HTML.|
|79||finger||in.fingerd||User information lookup - Takes a username (or, for some servers, part of a user's real name) and responds with basic statistics including time of last login and whether the user has read his mail. Access to service is often restricted through the TCP wrappers since public knowledge about users reduces security.|
|110||(various)||ipop3d||PostOffice V.3 - A protocol for remote mail retrieval.|
|113||(various)||in.identd||User Authentication - An important service that, given the number of an active IP port on a host, returns the username of the user who is employing that port. Used in many access and security related applications.|
|119||nntp||in.nntpd||Net news (Usenet) transfer protocol - The protocol that lets a client remotely query a news server.|
|512||rexec||in.rexecd||Remote command execution - Allows a user to execute a command on a remote system. This and the next two services permit a common authentication shortcut, where a user may create an .rhosts file in his home directory that lists login names and machines which can access his account without having to enter a password. Whether to enable these services is an important security issue.|
|513||rlogin||in.rlogind||Remote login - Permits login from a remote system (see rexec above).|
|514||rsh||in.rshd||Remote shell - Gives a user a command prompt on a remote machine (see rexec above).|
|517||talk||in.talkd||(BSD) Talk to another user - Allows two users to type live messages back and forth to each other over the Internet. Popular for dating couples at different colleges or institutions.|
|540||uucp||uucico||Unix-to-Unix Copy protocol - An Internet incarnation of the ancient and venerated UUCP protocol which linked the world of Unix computers back when periodic modem connections were the primary means of communication.|
There are some more complex services which are usually always TCP wrapped: