Networking Basics in Unix: Commands You Need to Know

Networking is a crucial aspect of working with Unix systems, whether you’re troubleshooting network issues, testing connections, or gathering network information. Unix provides a set of powerful commands to help you interact with and manage network interfaces.

In this blog, we’ll cover essential networking commands like ping, curl, and netstat, and demonstrate how they can help you monitor and troubleshoot network activities.


1. Testing Network Connectivity with ping

The ping command is one of the most basic and commonly used network diagnostic tools. It sends a small packet to a target host (another computer or server) and measures the round-trip time it takes for the packet to reach the target and return.

Basic Syntax

ping [host]
  • [host]: The target IP address or hostname.

Examples of Using ping

  1. Ping a Website (e.g., Google):
   $ ping google.com

This will repeatedly send packets to Google’s servers and display the response times.

  1. Ping a Specific IP Address:
   $ ping 192.168.1.1
  1. Ping with a Timeout:
    Limit the number of packets sent with the -c option:
   $ ping -c 5 google.com

This will send 5 packets and then stop.

  1. Ping to Check Local Network Connectivity:
    Ping your local router to check if you’re connected to the local network:
   $ ping 192.168.0.1

2. Fetching Web Content with curl

The curl command allows you to send HTTP requests to retrieve web content or interact with APIs. It’s a versatile tool that works with various protocols like HTTP, FTP, and more.

Basic Syntax

curl [options] [URL]

Examples of Using curl

  1. Fetch the Content of a Webpage:
   $ curl https://www.example.com

This retrieves the HTML content of the page.

  1. Download a File:
    Use the -O option to download a file:
   $ curl -O https://example.com/file.zip
  1. Check HTTP Response Code:
    Use the -I option to get the HTTP headers and response code:
   $ curl -I https://www.example.com

This will show details like the status code (e.g., 200 OK).

  1. Send Data via POST Request:
    Use the -X and -d options to send a POST request:
   $ curl -X POST -d "username=test&password=1234" https://example.com/login

3. Viewing Network Connections with netstat

The netstat command provides information about network connections, routing tables, and interface statistics. It’s valuable for monitoring network activity and diagnosing issues.

Basic Syntax

netstat [options]

Examples of Using netstat

  1. List All Active Connections:
   $ netstat -tuln
  • -t: Shows TCP connections.
  • -u: Shows UDP connections.
  • -l: Shows only listening sockets.
  • -n: Shows numerical addresses instead of resolving hostnames.
  1. Show Routing Table:
   $ netstat -r

This displays the system’s routing table.

  1. View Network Statistics:
   $ netstat -s

This gives a summary of network statistics, such as the number of packets sent and received.

  1. Find the Process Using a Specific Port:
   $ netstat -tulnp

The -p option shows the PID and program name that is using each port.


4. Check DNS Resolution with nslookup

nslookup is a tool used to query DNS records for a domain name. This is useful for checking DNS resolution or diagnosing domain-related issues.

Basic Syntax

nslookup [domain]

Examples of Using nslookup

  1. Get the IP Address of a Domain:
   $ nslookup google.com
  1. Query a Specific DNS Server:
   $ nslookup google.com 8.8.8.8

This queries Google’s public DNS server (8.8.8.8) instead of the default DNS.


5. Checking IP Configuration with ifconfig

The ifconfig command displays network interfaces and their current configurations (IP address, subnet mask, etc.).

Basic Syntax

ifconfig

Examples of Using ifconfig

  1. View Network Interface Information:
   $ ifconfig
  1. Show a Specific Interface (e.g., eth0):
   $ ifconfig eth0
  1. Enable or Disable a Network Interface:
  • To enable:
    bash $ sudo ifconfig eth0 up
  • To disable:
    bash $ sudo ifconfig eth0 down

Practice Time!

  1. Use ping to check connectivity to a website of your choice.
   $ ping example.com
  1. Download a file using curl.
   $ curl -O https://www.example.com/samplefile.txt
  1. View the network connections and listening services using netstat.
   $ netstat -tuln
  1. Check your local machine’s IP configuration with ifconfig.
   $ ifconfig

Summary

  • Use ping to test network connectivity.
  • Use curl to interact with web content and APIs.
  • Use netstat to monitor network connections and statistics.
  • Use nslookup to diagnose DNS issues.
  • Use ifconfig to view and manage network interfaces.

Leave a Reply

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