Networking · Cross-Platform Network Commands

Cross-Platform Network Commands: A Practical Tutorial

Core CLI tools to diagnose connectivity, DNS, routing, and paths across Windows, Linux, and macOS.

View this project on GitHub

Understanding Network Commands

The following outlines some Essential Network Commands used between Windows, Linux, as well as macOS.

Network commands via the Command-Line Interface (CLI) allow you to effectively diagnose, troubleshoot, and manage network connections by offering detailed insights and real-time control over network environments.

1. Ping

Testing connectivity and measuring latency:

Windows:
ping example.com
ping -t example.com
ping -n 10 example.com
ping -l 1500 example.com
      
ping example.com

This sends four ICMP echo request packets to example.com
to test if the host is reachable and how long it takes for each response.

Use Case:
Quick connectivity test.

ping.PNG
ping -t example.com

This sends continuous pings to example.com until manually stopped with ctrl + c
It's useful for monitoring real-time connectivity or detecting intermittent packet loss.

Use Case:
Ongoing monitoring for uptime and stability.

Ping2.PNG
ping -n 10 example.com

Sends exactly 10 ping requests to example.com, instead of the default 4.

The -n switch allows you to specify the number of echo requests to send.

Use Case:
More thorough connectivity testing without going infinite.

ping3.PNG
ping -l 1500 example.com

Sends a ping to example.com with a custom packet size of 1500 bytes (instead of the default 32 bytes).

The -l option allows you to stress test the MTU and check for fragmentation.

Use Case:
MTU path discovery or testing network handling of large packets.

omg4.PNG
Linux:
ping example.com
ping -c 4 example.com
ping -i 0.5 example.com
ping -s 10 example.com
      
ping example.com

Sends continuous ICMP echo requests to example.com

Until manually stopped (usually with ctrl + c)

This is the default behavior on most Linux systems:

Use Case:
Live monitoring of reachability and response times.

ping1.png
ping -c 4 example.com

Sends exactly 4 ping requests to example.com and then stops automatically.

The -c flag stands for "count".

Use Case:
Simple, quick connectivity test — very similar to Windows default ping behavior.

ping2.png
ping -i 0.5 example.com

Sends pings to example.com at 0.5-second intervals between each request.

The -i flag sets the interval in seconds.

Use Case:
Faster-than-default pinging for fine-grained timing analysis or when observing short-lived connectivity changes.

ping3.png
ping -s 10 example.com

Sends pings with a custom ICMP payload size of 10 bytes, not counting the 8-byte ICMP header.

Total size sent = 18 bytes.

Use Case:
Useful for testing small packet delivery or for troubleshooting fragmentation or MTU-related issues.

ping4.png

2. Displaying Network Configuration

Quickly retrieving network interface configurations and IP details
to address network connectivity and configuration issues promptly:

Windows:
ipconfig /all
ipconfig /release
ipconfig /renew
ipconfig /flushdns
      
ipconfig /all

Displays detailed network configuration for all network adapters on the system.

Including IP addresses, MAC addresses, DNS servers, DHCP lease info, and more.

Use Case:
Great for network troubleshooting, verifying DNS settings, checking DHCP status, or seeing physical (MAC) addresses.

ipconfig-all.PNG
ipconfig /flushdns

Clears the local DNS resolver cache, forcing the system to re-fetch DNS records the next time a domain is queried.

Use Case:
Used to fix DNS resolution issues, especially when a site has changed IP addresses or DNS has become stale or corrupted.

ipconfig-flushdns.PNG
ipconfig /release

Releases the current IP address lease from the DHCP server for all adapters (or a specific one if specified).

Use Case:
Typically used to force-disconnect from a network or to troubleshoot DHCP assignment problems.

ipconfig /renew

Then requests a new IP address from the DHCP server for all adapters (or a specific one if specified).

Use Case:
Helps reconnect to a network, especially after a release or when troubleshooting automatic IP assignment issues.

ipconfig-renew-release.PNG
Linux:
ifconfig
ip a
sudo dhclient -r
sudo dhclient
sudo systemctl restart NetworkManager
      

Displays the IP address, MAC address, and interface status for all active network interfaces. It's the legacy tool for interface configuration and inspection.

Use Case:
Quick way to check current IPs, interface names (like eth0, wlan0), or bring interfaces up/down (e.g., ifconfig eth0 down)

ifconfig.png

Displays all IP address information for each network interface, including IPv4/IPv6, loopback, and virtual interfaces. This command is part of the more modern iproute2 suite.

Use Case:
Preferred over ifconfig in modern systems for a more comprehensive and scriptable view of network config.

ipa.png
sudo dhclient -r

Sends a DHCP release request to the server and removes the current IP lease from the system.

Use Case:
Useful for disconnecting from the network or clearing stale DHCP settings before getting a new lease.

sudo dhclient

Requests a new IP address from the DHCP server for a network interface. If no interface is specified, it attempts on all interfaces.

Use Case:
Similar to ipconfig /renew — used when you need to reacquire an IP address or force DHCP negotiation.

dhcp.png
sudo systemctl restart NetworkManager

Fully restarts the NetworkManager service, which manages network interfaces, DHCP leases, and DNS on many Linux distributions.

Use Case:
Used when facing network misbehavior or configuration changes that didn't apply.

It resets network connectivity without rebooting.

RestartNM.png

Scenarios for use:

3. ARP Table Inspection

Inspecting ARP tables to correlate IP addresses with MAC addresses:

arp -a
arp-a.PNG

Benefits:

4. Domain Name Resolution (DNS Lookup)

Resolving domain names to IP addresses for verifying DNS records:

Windows:
nslookup example.com
nslookup -type=mx example.com
nslookup -type=ns example.com
      
nslookup example.com

The nslookup command in Windows queries the nameserver for the IP address of the given host or vice versa in performing a reverse DNS lookup.

Launches an interactive DNS lookup tool that allows you to manually query DNS records.

Running it by itself drops you into a prompt where you can type in domains and get their associated IP addresses.

Use Case:
Useful for troubleshooting DNS resolution and verifying that a domain points to the correct IP address.

nslookup1.PNG

Reverse DNS (PTR) lookup example:

nslookup reverse DNS (PTR) lookup
nslookup -type=mx example.com

This command queries the Mail Exchange (MX) record for example.com, showing which mail servers are responsible for handling email for the domain.

Use Case:
Helpful for email delivery diagnostics, checking mail server priorities, or verifying email infrastructure.

nslookup2.PNG
nslookup -type=ns example.com

Retrieves the Name Server (NS) records for example.com, identifying which DNS servers are authorized for the domain.

Use Case:
Used to validate domain delegation, ensure DNS servers are responding, or troubleshoot DNS propagation issues.

nslookup3.PNG
Linux:
host example.com
host -t MX example.com
host -t NS example.com
dig example.com
dig MX example.com
dig NS example.com
      
host example.com

The host command is a simple DNS lookup utility that returns DNS records for the given domain.

Use Case:
Ideal for quick DNS lookups when you want a fast, human-readable response without the detailed output of dig. Perfect for verifying basic DNS, mail routing, and domain delegation settings.

host.png
dig example.com

Performs a DNS query for example.com, returning A records (IPv4 addresses) by default, including a detailed breakdown of the query and response.

Use Case:
Preferred tool for troubleshooting DNS issues, seeing exact response times, and analyzing query behavior.

dig1.png
dig MX example.com

Queries the Mail Exchange (MX) records for example.com and shows priority & hostnames.

Use Case:
Used to inspect email routing setup, diagnose mail delivery problems, or verify MX changes after DNS edits.

dig2.png
dig NS example.com

Retrieves the Name Server (NS) records for example.com, showing the authoritative DNS servers responsible for handling domain resolution.

Use Case:
Helpful for checking domain delegation, identifying authoritative zones, and troubleshooting DNS propagation.

dig3.png

Troubleshooting scenarios:

5. Network Statistics and Active Connections

Monitoring current connections and ports:

Windows:
netstat -a
netstat -an
netstat -b
      

The netstat command displays network connections, listening ports, and routing tables.

Use Case:
Great for identifying open ports, active connections, unauthorized programs, or malicious activity tied to running processes.

netstat -a
netstat1.PNG
netstat -an
netstat3.PNG
netstat -b
netstat-an.PNG
Linux:
netstat -an
ss -tuln
      

These commands show active and listening network sockets on a Linux system.

Use Case:
Perfect for port auditing, service monitoring, or detecting unauthorized listeners.

netstat -an
netstat-an.png
ss -tuln
ss.png

Applicable scenarios:

6. Trace Routing

Systematically analyzing the route network packets take:

Windows:
tracert google.com
      

Sends ICMP echo requests to trace the network path packets take from your machine to a destination.

It shows each hop along the way, along with the response time for each.

Use Case:
Helps identify where delays or failures occur between your system and a remote host. Useful for diagnosing routing or latency issues.

tracert.png
Linux:
traceroute example.com
      

Similar to tracert but uses UDP packets by default instead of ICMP.

It traces the route from the local system to a destination IP or domain, showing each router (hop) along the way.

Use Case:
Used to track the path of packets, and can help detect routing loops, packet loss points, or performance bottlenecks across networks.

traceroute.png
Linux (using MTR):
mtr example.com
      

Combines the functionality of both ping and traceroute into a real-time, continuously updating tool.

It shows the live performance of each hop, including packet loss and latency statistics.

Use Case: Excellent for ongoing network diagnostics, spotting intermittent issues, or visualizing route health over time.

mtr.png
mtr2.png

mtr (My Traceroute) in Linux is the network diagnostic tool that combines the functionalities of traceroute and ping.

Scenarios for use:

7. Pathping

Comprehensive analysis of latency and packet loss:

Windows:
pathping example.com
      
pathping.png

The pathping command in Windows is a network diagnostic tool that combines the functionality of traceroute and ping.

Providing detailed information about network performance to be able to identify any potential issues along the path of a network route.

8. Routing

Route (View routing tables):

Windows:
route print
      

Displays the entire routing table used by Windows to determine how packets are forwarded across the network.

Use Case:
Essential for diagnosing routing issues, checking the default gateway, verifying network paths, or auditing static routes.

routeprint.PNG
Linux:
route -n
ip route
      

These commands show the Linux kernel routing table, helping determine how outbound traffic is routed.

Use Case:
Used for gateway verification, troubleshooting unreachable networks, or understanding packet flow based on routing properly.

route.png

9. Hostname (View or change hostname)

Displays the name of the current system (host) on the network.

This name identifies the machine in a LAN or DNS environment and is often used for network management and domain joining.

Use Case:
Useful for verifying system identity, and remote session awareness.

Windows:
hostname
      
hostname.PNG
Linux:
hostname
sudo hostnamectl set-hostname new-hostname
      

The sudo hostnamectl set-hostname new-hostname command permanently changes the system’s hostname on a modern Linux system using systemd.

Use Case:
Commonly used during initial server setup, renaming machines, or customizing hosts in a lab or production environment. After running this command, the new hostname will take effect immediately.

hostname.png

Mastering these network commands significantly empowers you to diagnose, troubleshoot, and optimize network environments. This guide provided practical usage and scenarios for each command, delivering crucial insights into network performance and maintenance.

Back to Home