10 Useful Linux (Raspberry Pi) Networking Commands

The networking commands are mainly used for getting network system information and troubleshooting networking problems.

Here we look at the 10 commands that I use most often.

1. Ping Command

The ping command is one of the most often used networking utilities for detecting devices on a network and for troubleshooting network problems.



When you ping a device you send that device a short message, which it then sends back (the echo).

The general format is ping hostname or ping IPaddress.

Example

ping www.google.com or ping 216.58.208.68

On Linux the command repeats at 1 second interval. To restrict the number of attempts use the -c switch

ping www.google.com -c 4 //4 pings

 

2. ifconfig Command

This utility  is used for finding network information about your local machine interfaces.

Type the command ifconfig at the prompt to view the IP addresses of all interfaces, and use

ifconfig eth0 //show Ethernet interface details

ifconfig wlan0 //show Wi-Fi interface details

To shut down or bring up an interface use

sudo ifconfig wlan0 down
sudo ifconfig wlan0 up

3. IP Command

Similar to ifconfig and has most of the same functionality. There is an excellent tutorial on using it here.

4. Hostname

hostname  //shows name of host
hostname -d //shows domain name of host
hostname -I //shows all IP addresses assigned to host

5. Dhclient

This you can use to release and renew IP addresses from a DHCP server

to release use:

dhclient -r

to renew use:

dhclient

to target a particular interface (e.g eth0) use

dhclient -r eth0

to enable more details use the -v (verbose) switch

dhclient -r -v eth0

Note: the above commands only work if you are using the dhclient daemon.

Doing this on my PI has no effect as it uses dhcpcd daemon and not the dhclient daemon.

6. Route

Used to display and configure routing information on your host.

It is only really used if you want your machine to act as a router on your network.

However it is also a quick way to find out the address of your gateway as shown in the screenshot below  where the gateway address is 192.168.1.1:

linux-route-command

For more information on using the command see this article

7. Netstat (network statistics)

Very useful tool for finding information on your network connections and ports.

You can use it to find out all of the tcp or udp ports that are active on your system.

If for example you want to know if the mosquitto broker was active on the server then use:

netstat -at

list-ports-tcp-netstat

For more netstat commands see this tutorial- 20 netstat commands

You can see that port 1883 (default MQTT port) is in a listening state.

8. Tcpdump

Very useful command line network monitoring tool like Wireshark.

It is automatically installed on Linux. Here is a very good tutorial on how to use it.-TCP dump Tutorial with Examples

8. ARP

Arp shows the address resolution cache. This will show the IP address and MAC address of devices that the machine knows about.

The screen shot below show the result of using the arp -v command

arp-pi

9. Nslookup, dig and host

These tools are used for troubleshooting DNS issues. Nslookup was the original DNS tool and is available on Windows and Linux. Dig is more powerful and more modern tool to use.

The screen shot below show the results of a nslookup and dig query:

dns-dig--nskookup

You can find a more detailed tutorial on using nslookup here and dig here including how to install it if it isn’t installed.

The host tool provides a different output to nslookup and dig. If you query the domain e.g. google.com you get to see the mail servers.

host-tool

This tutorial shows how to use the host command in more detail.

10. Iptables

This is used for viewing and setting up the firewall on Linux machines. By default no firewall rules are installed as shown in the screen shot below:

iptables
This howto goes into using it in more detail.

Related tutorials and resources

Please Let me Know if you found it Useful
[Total: 1 Average: 1]

Leave a Reply

Your email address will not be published. Required fields are marked *