One of the things I love about Linux is that you don't always need a fancy application with a graphical interface to figure out what's going on with your computer.

Sometimes, all you need is a terminal and the right command.

Whether you're running Ubuntu on your desktop, managing a home server, troubleshooting your Wi-Fi, or just experimenting with Linux, there are some incredibly useful networking tools built right into the Linux world.

And the best part? Most of them are free.

Today, we're looking at five networking tools that I think every Ubuntu user should have in their toolbox. You don't need to be a network engineer to use them, either. A little curiosity and a willingness to type a few commands will get you surprisingly far.

Let's dig in.

  1. IP: Know What's Happening With Your Network

If there's one networking command I'd recommend learning first, it's ip.

The ip command lets you see information about your network interfaces, IP addresses, routing tables, and more.

Think of it as your network information dashboard, except it lives in the terminal.

Open a terminal and type:

ip addr

You'll see your network interfaces and their assigned IP addresses.

Want a cleaner, shorter version?

ip -br addr

This gives you a quick overview without all the extra information.

You can also check your default network route:

ip route

This is useful when you're trying to figure out which gateway your computer is using to reach the internet.

Why I like it:

If your Ubuntu machine isn't connecting to your network, this is one of the first places I'd look. You can quickly see whether your network interface is active and whether it has an IP address.

One little bonus: You may have seen older Linux tutorials using ifconfig. While that command is still available through the optional net-tools package, ip is the modern replacement and is the better command to learn.

  1. Ping: Is Anything Actually Responding?

We've probably all heard someone say, "Just ping it."

But what does that actually mean?

ping sends small network packets to another device and waits for a response. It helps you determine whether a destination is reachable and how long the round trip takes.

For example:

ping google.com

Ubuntu will start sending packets and displaying the response time.

You'll see something similar to:

64 bytes from ...: icmpseq=1 ttl=... time=15.2 ms 64 bytes from ...: icmpseq=2 ttl=... time=14.8 ms

The important part is the time value. That's the round-trip time, measured in milliseconds.

If you want to send only four packets instead of letting it run indefinitely, use:

ping -c 4 google.com

You can also ping another device on your home network:

ping -c 4 192.168.1.1

Replace that address with your router's actual IP address.

Why I like it:

It's one of the quickest ways to start troubleshooting a connection.

If you can ping your router but can't reach an internet destination, you've narrowed down where to investigate.

Just remember that some networks block ping requests. A failed ping doesn't automatically mean a device or website is offline.

  1. Traceroute: Where Is Your Connection Going?

Ever wondered how your computer gets from your home network to a website on the other side of the world?

That's where traceroute comes in.

Instead of simply checking whether a destination responds, traceroute helps show the network hops packets travel through along the way.

Install it if you don't already have it:

sudo apt install traceroute

Now try:

traceroute google.com

You'll see a list of network hops between your computer and the destination.

Each hop represents a router along the route.

This can be particularly useful when you're experiencing connection problems and suspect something is going wrong somewhere between your network and the destination.

You might notice that some hops display asterisks instead of response times.

Don't immediately panic. Some routers simply don't respond to these types of diagnostic requests.

Why I like it:

It's a great way to understand that the internet isn't one giant direct connection. Your data travels through multiple networks and routers before reaching its destination.

It's also a useful troubleshooting tool when a particular website or server isn't behaving properly.

  1. Dig: Find Out What's Happening With DNS

DNS is one of those things most people never think about until something breaks.

DNS stands for Domain Name System. Its job is to translate human-friendly website names into IP addresses that computers use to communicate.

For example, when you visit a website, your computer needs to figure out which IP address belongs to that domain.

That's where dig comes in.

On Ubuntu, install it with:

sudo apt install bind9-dnsutils

Now try:

dig google.com

You'll get information about the DNS query, including the IP addresses returned.

Want a simpler result?

dig +short google.com

This displays just the returned address records.

You can even query a specific DNS server:

dig @1.1.1.1 google.com

In this example, you're asking Cloudflare's public DNS resolver to look up the domain.

Why I like it:

If your internet connection appears to be working but websites aren't resolving properly, DNS is one possible culprit.

For example, you might be able to reach an IP address directly but have trouble accessing a website using its domain name.

dig helps you investigate whether DNS is part of the problem.

  1. SS: See What's Listening on Your Computer

Our final tool is ss.

This one is especially useful if you run servers, host applications, or experiment with self-hosting.

The ss command displays information about network sockets and connections.

In simpler terms, it helps you see which network connections exist and which ports your computer is listening on.

Try:

ss -tuln

Here's what those options mean:

-t shows TCP sockets.

-u shows UDP sockets.

-l shows listening sockets.

-n displays numerical addresses and port numbers.

Want to see which processes are associated with those connections?

sudo ss -tulpn

This can help you identify which applications are listening for incoming connections.

For example, if you're running a web server, you might see something listening on port 80 or 443.

Why I like it:

If you're running Docker containers, Jellyfin, a web server, or other self-hosted applications, knowing what's listening on your machine is incredibly useful.

It's also a good starting point when you're trying to figure out why an application isn't accessible from another computer.

Just because an application is running doesn't necessarily mean it's listening on the network interface you expect.

Installing Everything at Once

If you'd like to install the additional tools from this article without doing them individually, open your terminal and run:

sudo apt update

sudo apt install traceroute bind9-dnsutils

The ip and ss commands are provided by Ubuntu's iproute2 networking tools, which are normally already installed. ping is also commonly available.

You can check whether a command is installed by typing:

which ip which ping which traceroute which dig which ss

If a command returns a location, it's available on your system.

Final Thoughts: Learn Your Tools, Don't Just Install Them

One of the biggest advantages of Linux is how much control it gives you over your system.

You don't need to install a massive networking application just to figure out why your computer can't reach a website.

Sometimes, five simple terminal commands can tell you more than clicking through a dozen settings windows.

These five tools are a great starting point, whether you're a casual Ubuntu desktop user, someone learning Linux, or a homelab enthusiast running a few services in the basement.

And if you're anything like me, once you start experimenting with Linux networking, you'll probably find yourself opening a terminal just to see what happens.

That's part of the fun.

Just remember: understanding your network is a lot more useful than blindly throwing commands at it and hoping something fixes itself.

Happy tinkering, and I'll see you in the terminal!

Frank The Tech Tank


BACK_TO_ARCHIVE
Frank The Tech Tank
// STATUS: OPERATIONAL //