Essential Linux Networking Commands#

As a network engineer, mastering various Linux networking commands is crucial for effective network management and troubleshooting. This appendix covers essential commands, providing examples and explanations to help you understand their usage and importance.

1. ifconfig#

The ifconfig command is used to configure network interfaces. It displays information about all active interfaces and allows you to assign IP addresses, enable or disable interfaces, and more.

  • Example:

ifconfig eth0

Displays information about the eth0 interface.

2. ip#

The ip command is a powerful tool for network configuration. It replaces older tools like ifconfig and route. It can be used to configure IP addresses, routes, and interfaces.

  • Example:

ip addr show

Shows the IP addresses assigned to network interfaces.

3. route#

The route command is used to display and manipulate the IP routing table. It helps in adding or removing routes and viewing the current routing table.

  • Example:

route -n

Displays the routing table in numeric format.

4. ping#

The ping command checks the connectivity between your system and another host. It sends ICMP echo requests and waits for replies, helping diagnose network issues.

  • Example:

ping google.com

Sends ICMP echo requests to google.com.

5. traceroute#

The traceroute command traces the path packets take to reach a destination. It helps identify where delays or failures occur in the network.

  • Example:

traceroute google.com

Traces the route to google.com.

6. netstat#

The netstat command displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

  • Example:

netstat -a

Lists all active connections and listening ports.

7. dig#

The dig command queries DNS servers for information about host addresses, mail exchanges, name servers, and related information.

  • Example:

dig google.com

Performs a DNS lookup for google.com.

8. nslookup#

The nslookup command queries DNS to obtain domain name or IP address mappings and other DNS records.

  • Example:

nslookup google.com

Performs a DNS lookup for google.com.

9. tcpdump#

The tcpdump command captures and displays network packets. It is used for network troubleshooting and security analysis.

  • Example:

sudo tcpdump -i eth0

Captures packets on the eth0 interface.

10. ssh and sshd#

The ssh command provides secure remote login and command execution. The sshd command starts the SSH daemon, which listens for incoming SSH connections.

  • Example:

ssh user@remotehost

Connects to the remote host remotehost as the user user.

11. telnet#

The telnet command establishes text-based connections to remote systems. It is used for remote login and communication but is less secure than SSH.

  • Example:

telnet example.com 80

Connects to the remote host example.com on port 80.

12. scp#

The scp command securely transfers files between hosts over a network using SSH.

  • Example:

scp file.txt user@remotehost:/remote/directory/

Copies file.txt from the local machine to the remote host.

13. nmap#

The nmap command scans networks for hosts, open ports, and services, and detects vulnerabilities.

  • Example:

nmap 192.168.1.1

Scans the host with the IP address 192.168.1.1.

14. arp#

The arp command manipulates the ARP cache, mapping IP addresses to MAC addresses.

  • Example:

arp -a

Displays all the entries in the ARP cache.

15. resolvconf#

The resolvconf command manages DNS server information in the /etc/resolv.conf file.

  • Example:

sudo resolvconf -u

Updates the nameserver information.

16. nmcli#

The nmcli command controls NetworkManager, allowing you to manage network connections and devices from the command line.

  • Example:

nmcli connection show

Lists all network connections.

17. nmtui#

The nmtui command provides a text user interface for NetworkManager, making it easier to configure network settings interactively.

  • Example:

sudo nmtui

Launches the nmtui interactive menu.

Using man Command#

To dive deeper into the documentation for these commands directly from the terminal, you can use the man (manual) and --help options. Here’s how you can do it for each command:

The man command displays the manual page for a specified command, providing detailed information about its usage, options, and examples.

  • Syntax:

man [command]
  • Examples:

man ip

Using --help Option#

The --help option provides a brief overview of the command’s usage and available options.

  • Syntax:

[command] --help
  • Examples:

ip --help

Additional Tips#

  • Search within man pages: You can search for specific keywords within a man page by pressing / followed by the keyword, and then pressing Enter. Use n to move to the next occurrence.

  • Exit man pages: Press q to exit the man page and return to the terminal.

Mastering these Linux networking commands will empower you to manage and troubleshoot networks effectively. Whether you’re configuring interfaces, monitoring traffic, or securing your network, these tools are essential for any network engineer.