Edit Template

Cheat Sheet: Essential Network Commands for Windows & Linux Every IT Engineer Should Know

Introduction

In the fast-paced world of IT, knowing your way around network commands is like having a Swiss Army knife in your pocket. Whether you're troubleshooting connectivity issues, configuring network settings, or just trying to understand what's happening on your system, these commands are essential tools of the trade.

At DevOps Horizon, we believe that mastering the fundamentals creates a solid foundation for advanced skills. That's why we've compiled this comprehensive cheat sheet of must-know network commands for both Windows and Linux environments. Whether you're starting your IT journey or looking to refresh your knowledge, this guide has got you covered.

Windows Network Commands

Let's start with the commands you'll use most frequently in Windows environments. These commands can be executed from the Command Prompt (cmd) or PowerShell.

1. ipconfig – The IP Configuration Command

ipconfig

This basic command displays your current IP configuration, including IP address, subnet mask, and default gateway for all network adapters.

For more detailed information:

ipconfig /all

This extended version shows everything from IP addresses to physical (MAC) addresses, DHCP status, DNS servers, and more.

Other useful ipconfig parameters:

  • ipconfig /release – Release the current IP address
  • ipconfig /renew – Request a new IP address from DHCP
  • ipconfig /flushdns – Clear the DNS cache

2. ping – The Connectivity Tester

ping google.com

The ping command tests connectivity to a remote host by sending ICMP Echo Request packets and waiting for responses. It's the first tool you should reach for when troubleshooting connectivity issues.

Advanced options:

  • ping -t google.com – Continuous ping (press Ctrl+C to stop)
  • ping -n 10 google.com – Send exactly 10 packets
  • ping -l 1500 google.com – Test with larger packet sizes

3. tracert – Trace Route

tracert google.com

Tracert (trace route) shows the path that packets take to reach a destination, revealing each hop along the way. It's invaluable for identifying where network problems might be occurring.

4. netstat – Network Statistics

netstat -an

This command displays all active network connections and listening ports in numerical form.

Other useful netstat options:

  • netstat -b – Show executable involved in creating each connection
  • netstat -o – Display process IDs
  • netstat -r – Display routing table

5. nslookup – DNS Query Tool

nslookup google.com

Nslookup queries DNS servers to obtain domain name or IP address mapping information.

For more specific DNS queries:

nslookup -type=mx gmail.com

This looks up mail exchange records for gmail.com.

6. arp – Address Resolution Protocol

arp -a

Displays the ARP cache, which maps IP addresses to MAC addresses on your local network.

7. route – Routing Table Management

route print

Displays the routing table, showing how traffic is directed based on destination IP addresses.

To add a route:

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1

8. netsh – Network Shell

netsh interface ip show config

The netsh command provides a scripting interface for configuring networking components. This particular command displays the IP configuration of all interfaces.

image_1

Linux Network Commands

Now let's explore the equivalent commands in Linux environments. These commands can be executed from the terminal.

1. ifconfig/ip – Interface Configuration

Traditional command:

ifconfig

Modern equivalent:

ip addr show

These commands display information about all network interfaces, including IP addresses, MAC addresses, and interface statistics.

2. ping – Connectivity Tester

ping google.com

Just like in Windows, ping tests connectivity to a host. By default, Linux ping continues until stopped with Ctrl+C.

To limit the number of pings:

ping -c 4 google.com

3. traceroute – Trace Route

traceroute google.com

Traces the route packets take to reach a destination, showing each hop along the way.

4. netstat/ss – Network Statistics

Traditional command:

netstat -tulpn

Modern equivalent:

ss -tulpn

Both commands display network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. The options -tulpn show TCP/UDP listening ports with numeric addresses and associated processes.

5. dig/nslookup – DNS Query Tools

dig google.com

or

nslookup google.com

Both commands query DNS servers, with dig providing more detailed information.

6. arp – Address Resolution Protocol

arp -a

or

ip neigh

Displays the ARP cache (IP-to-MAC address mappings).

7. route – Routing Table Management

Traditional command:

route -n

Modern equivalent:

ip route

Both commands display the routing table, with the -n option showing numerical addresses.

8. tcpdump – Network Packet Analyzer

tcpdump -i eth0

Captures and displays packets on a network interface (requires root privileges). This is a powerful tool for debugging network issues.

9. iptables/nftables – Firewall Management

iptables -L

or

nft list tables

These commands display firewall rules, with nftables being the modern replacement for iptables.

10. nmcli – NetworkManager Command-Line Interface

nmcli device status

Shows the status of all network interfaces managed by NetworkManager.

image_2

Practical Use Cases for Network Commands

Understanding when and how to use these commands in real-world scenarios is crucial. Here are some common situations where these commands prove invaluable:

Troubleshooting Network Connectivity Issues

  1. Basic Connectivity Testing:
ping 8.8.8.8   # Test internet connectivity using Google's DNS
ping localhost # Test local networking stack
  1. Tracing Network Problems:
tracert/traceroute github.com  # Identify where packets are getting lost
  1. DNS Resolution Issues:
nslookup devopshorizon.com     # Check if DNS is resolving correctly
ipconfig /flushdns             # Clear DNS cache (Windows)

Network Security and Monitoring

  1. Identifying Suspicious Connections:
netstat -an | findstr ESTABLISHED  # Windows
ss -tuln                           # Linux
  1. Checking Open Ports:
netstat -an | findstr LISTENING    # Windows
ss -tulpn                          # Linux
  1. Monitoring Network Traffic (Linux):
tcpdump -i eth0 -c 100            # Capture 100 packets on eth0

Network Configuration

  1. Adding Static Routes:
route add 192.168.2.0 mask 255.255.255.0 192.168.1.254  # Windows
ip route add 192.168.2.0/24 via 192.168.1.254           # Linux
  1. Changing IP Address (Linux):
ip addr add 192.168.1.10/24 dev eth0

image_3

Best Practices for Network Command Usage

  1. Document Your Changes: Always document network configuration changes, especially when adding routes or changing IP addresses.

  2. Use Elevated Privileges Wisely: Many network commands require administrator/root privileges. Use them judiciously.

  3. Create Aliases for Complex Commands: For frequently used complex commands, create aliases or scripts to save time.

  4. Combine Commands with Pipes: Use command piping to filter and process output:

netstat -an | findstr :80          # Windows
ss -tuln | grep ":80"              # Linux
  1. Regular Network Auditing: Periodically check your routing tables, open ports, and established connections as part of system maintenance.

Beyond the Basics: Advancing Your Network Skills

While mastering these commands is essential, the journey doesn't end here. To further enhance your networking expertise, consider:

  1. Scripting and Automation: Learn to automate network tasks using PowerShell (Windows) or Bash scripts (Linux). Our bash and Python scripting guide can help you get started.

  2. Network Monitoring Tools: Explore tools like Wireshark for deeper packet analysis.

  3. Infrastructure as Code: Learn to manage network configurations with tools like Ansible or Terraform. Check out our guide on Infrastructure as Code.

  4. Cloud Networking: Understand how networking concepts apply in cloud environments like AWS. Our AWS questions and answers resource covers many cloud networking topics.

Conclusion

Network commands are the fundamental tools that every IT engineer needs in their technical arsenal. Whether you're working in Windows, Linux, or both, understanding these commands will help you diagnose issues, configure systems, and maintain network infrastructure effectively.

At DevOps Horizon, we believe that mastering these basics is crucial before moving on to more advanced networking concepts. For more in-depth resources, check out our Linux command line cheat sheet or explore our blog for additional DevOps and networking content.

Remember, the best way to learn is by doing. Set up a test environment and practice these commands to see how they work in different scenarios. Your future IT self will thank you for the time invested in mastering these essential tools.

Happy networking!

Leave a Reply

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

Most Recent Posts

Category

content created for you!

Company

About Us

FAQs

Contact Us

Terms & Conditions

Features

Copyright Notice

Mailing List

Social Media Links

Help Center

Products

Sitemap

New Releases

Best Sellers

Newsletter

Help

Copyright

Mailing List

© 2023 DevOps Horizon