Top 20 Linux Networking Commands

Do you want to learn about networking in Linux? We show you the top Linux Networking Commands that you, as a System Administrator, will find them extremely useful.

Networking is an essential part of an operating system. Most of the computers in the world connect through a network. This network can be a small and straightforward home-based or as complex as a cloud computing data center. The networking task includes configurations, traffic monitoring, and troubleshooting.

Linux Networking Commands

In this article, we will show 20 useful Linux networking commands that would help you configure or troubleshoot network-related problems.

1. ifconfig

ifconfig (interface configurator) is one of the most basic and commonly used commands for finding network details. It is also used to configure network interface parameters.

We can use this command to get the IP address, MAC address, and MTU of available networks.

$ ifconfig

Example:

ifconfig basic command
ifconfig basic command

In our example, we see the IP address information of 2 networks, ethernet, and local network.

To get details of a specific network, we will use the ‘ifconfig’ command with additional parameters. For example, to only show information that is related to Ethernet Network.

$ ifconfig etho

This command can also be used to set configurations like IP addresses or gateway to an interface.

Syntax:

$ ifconfig eth0 <address> netmask <address>

You can replace <address> with the desired IP address and Gateway address.

2. ip

ip command is the latest version of ifconfig. It is more powerful than ifconfig command as it can perform several other tasks like configuring default or static routing, showing IP addresses and its properties, setting up IP addresses, and routes for network interfaces.

Syntax:

$ ip <option>

Where <option> can be the address used to show all IP Addresses of all network interfaces.

Example:

ip command example
ip command example

Link is used to show all network devices that are currently available.

Example:

ip link command example

Route shows entries in your system routing table. You can also get details of a specific network interface as well.

Syntax:

ip address show <interface>

Where <interface> can be a network interface available in your system.

3. traceroute

traceroute command is commonly used to troubleshoot the network. It finds out the delay and pathway to your destination. It determines and reports where is network latency comes from.

It is not installed by default on some Linux Distros, so you can install it using the following command.

sudo apt-get install inetutils-traceroute

Syntax:

traceroute <destination>

Where <destination> is the host IP you want to troubleshoot, and its a mandatory parameter for this command.

Example:

traceroute command example
traceroute command example

The above output shows the specified hostname, size of network packets, maximum hops required, and IP address.

4. tracepath

tracepath is just like a ‘traceroute’ command to detect network delay but does not need root privileges. It is pre-installed on Ubuntu. It points out the exact place where your network is lagging. It also recognizes each hop in the route to the destination.

Syntax:

tracepath <destination>

Where <destination> is the host IP you want to troubleshoot, and its a mandatory parameter for this command.

Example:

tracepath command example
tracepath command example

5. ping

ping (Packet INternet Groper) is another most commonly used network command to check connectivity between two network nodes. It is used to measure the average response. If we can send a ping to any host and if it did not give any response, we can assume that either host is not reachable due to any network issue or its firewall is blocking the request.

Syntax:

ping <destination>

Example:

ping command example
ping command example

Ping command will keep executing until it is interrupted. You can limit the number of packets being sent using the ‘- c’ parameter in the command.

Syntax:

$ ping -c <number> <destination>

Where <number> is the packets limits you want to specify for the response.

Tip: The response rate of the ping command will be affected by your network connection and the host’s physical location.

6. netstat

netstat command used to review each network connection and open sockets on the Linux device.  It provides connections, open sockets, routing tables information.

$ netstat

Example:

netstat command example
netstat command example

This command can be used with additional parameters as well.

Syntax:

$ netstat <option>

Where <option> can be :

  • -p shows all programs with open sockets
  • -s gets all details about ports
  • -r get details of the routing table

7. nslookup

nslookup (Name Server Lookup) command used to query DNS to get a domain name, IP address mapping, or DNS records.

Syntax:

nslookup <domainName>

Where <domainName> is the DNS you want to analyze.

Example:

nslookup command example
nslookup command example

8. dig

dig (Domain Information Groper) is another command used to investigate DNS. It is an updated version of nslookup. It performs a DNS Lookup query and displays the response returned from name servers. It is also used to verify DNS mappings, MX records, and other DNS records.

Syntax:

dig <domainName>

Where <domainName> is the DNS you want to analyze.

Example:

dig command example
dig command example

This command, by defaults, shows only A-type DNS records; you can use additional options to get other types of DNS records.

Syntax:

$ dig <domainName> <option>

Where <option> can be :

  • MX for all MX type of DNS records
  • NS for all NS type of DNS records
  • ANY for all type of DNS records

9. route

route command is used to shows or modifies the system’s routing table. Using this command, you can troubleshoot the network issue caused by a wrong entry in the system routing table. Setting a routing table is very important to make the router work correctly.

Syntax:

route

Example:

route command example
route command example

Using this command, we can modify the routing table as well.

Syntax:

route [-p] command dest [mask subnet] gateway [-if interface]
  • -p is used to make entry persistent; otherwise, the entry will be deleted on the next reboot. It is used only for adding a new entry.
  • command can be ‘add’, ‘change’ or ‘del’.
  • mask subnet:  It is a subnet mask. By default, it is 255.255.255.255 if not provided in the command.
  • gateway: The IP address of the gateway via packets will be sent.
  • -if interface: it is the network interface for which you want to set up entry. It can be ethernet, WLAN, or local network.

10. Host

host command is used to display domain name for an IP address or IP address for a domain name. It can also be used to query DNS.

Syntax:

host <domain name> 
host <ip address>

Example:

host command example
host command example

11. arp

arp (Address Resolution Protocol) is used to manipulate kernel’s ARP table. Using this command, you can view, add, update, or remove entries in the kernel’s ARP table.

Syntax:

arp

Example:

arp command example
arp command example

By default, the arp command shows the hostname, but if you want to see the IP address instead.

Syntax:

arp -n

You can also delete the entry from the ARP table using the command:

Syntax:

arp -d <address>

Here <address> is the IP address of the entry you want to remove from the ARP table.

12. iwconfig

iwconfig command is used to configure the WLAN interface. It can view or set up basic wireless network interface properties like SSID and encryption type.

Syntax:

iwconfig

It has many options that can be used to change the network name, enable/disable the network, set frequency, etc.

13. curl

curl is a utility used to transfer data to and from a server without user interaction. It can communicate using HTTP, HTTPS, FTP, SFTP, and SCP protocols. It can be used to upload or download data using any of the above protocols. You can transfer data allowing resume, setup bandwidth limit and user authentication, and so many other stuff with curl. It is installed by default in most of the Linux systems.

Syntax:

curl fosslinux.com

This command will show the content of the home page of fosslinux.com in the terminal. By default, curl uses an HTTP protocol for communication. You can also download a file using curl using the following command.

curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js

The above command will download the file with its original name.

Example:

curl download file example
curl download file example

14. wget

wget is also a pre-installed package. It is used to download files using HTTP, HTTPS, FTP Protocols. It provides the ability to download multiple files, resume downloads, download in the background, etc.

Syntax:

wget <option> <url>

Here <url> is the path of file or directory to be download, and <option> can be read in detail here.

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz

Example:

wget file download example
wget file download example

In our example, the command first resolves the IP address and then starts downloading files showing filename, speed, and progress in the terminal. You can disable output using the -q parameter with the command.

15. telnet

telnet command uses the Telnet protocol to communicate with the destination host. You must need to specify the host with port (mostly 443 port).

Syntax:

telnet <host> <port>

Example:

telnet command
telnet command

16. whois

whois command is used to get all the information about a website. You can get all registration and ownership details using it.  You need to install the whois package before using it.

sudo apt install whois

Syntax:

whois <website>

Example:

whois command example
whois command example

17. ifplugstatus

ifplugstatus command is used to check if the network cable is connected to the network interface. To use the command, you first need to install it on Ubuntu.

sudo apt-get install ifplugd

Syntax:

ifplugstatus

Example:

ifplugstatus command example
ifplugstatus command example

18. nload

nload command is used to monitor your network bandwidth. It can show the total amount of data usage and min/max bandwidth usage. You need to install the nload package to run it.

sudo apt-get install nload

Using it without any parameter will show you bandwidth usage of all network interfaces.

Syntax:

nload

Example:

nload command example
nload command example

19. w

w command is used to get a list of currently logged in users on a system. It also provides valuable information like host, login time, idle time, JCPU.

Syntax:

w

Example:

w command example
w command example

20. mail

mail command is used to send email from the terminal. You can send email to multiple recipients. You should install the mailutil package to use the command.

sudo apt-get install mailutils

Syntax:

mail -s <subject> <recipient> <<< <body>

Example:

mail -s "Test Subject" admin@fosslinux.com <<< 'This is a test email'

Conclusion

Those were the most useful network commands in Linux that are commonly used by the system and network administrators to investigate network related issues. I hope you have enjoyed learning these Linux networking commands. Do you have an exciting command that you want to share with our readers? Go for it in the comments below.

Habib Ahmed
He is a professional writer with more than seven years of experience in the field. He also enjoys technical writing/ manuals, white papers, and scientific presentations.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

STAY CONNECTED

23,281FansLike
386FollowersFollow
16SubscribersSubscribe

LATEST ARTICLES

MUST READ

Buyers who wish to go for a machine that is based on Linux often show interest in Chromebooks due to the form factor and extended battery life capabilities. Although ChromeOS power these machines, users can still miss out on a more genuine Linux experience. For those who happen to agree, the new Lemur Pro by System76 might get some heads turning.
Linux is growing faster than ever. As per the latest report, there is a drop in the Windows 10 market share for the first time, and Linux's market share has improved to 2.87% this month. Most of the features in the list were rolled out in the Pop OS 20.04. Let's a detailed look into the new features, how to upgrade, and a ride through video.

The 6 Best Download Managers for Fedora

It is a well-known fact that using download managers can help improve download speeds as compared to web browsers. Apart from the inbuilt download manager wget on Fedora, just as on any distribution that is based on GNU/Linux package, there are more options to explore.

10 Reasons to use Cinnamon as your Desktop Environment

With the release of Gnome 3 in 2011, there was quite a mixed reaction from users and developers. Most of them preferred the original Gnome that got forked, and one of those forks was Cinnamon. Since the release of Cinnamon 2.0, Cinnamon has evolved to become a desktop environment by itself.

3 Best Ways to Uninstall Software on Ubuntu

Uninstallation of programs can be done by graphical way using the Ubuntu Software Center, and the Synaptic Package manager. Command-line way of doing it is also possible using apt-get and aptitude commands. We shall discuss each one of them in detail.

5 Best Ways to Free up Hard Disk Space in Ubuntu

Hard disk space can easily get filled up with cached package files, old kernels, and other obsolete files that occupy unwanted hard disk space. Here are top five best and safer ways to clean and free up hard disk space in Ubuntu. We show you Terminal and GUI way of cleaning up system.