In today’s world, most things are driven by technology. There is a growing need for professionals to have the right skills to be able to tackle the difficult challenges of making technology work for their business needs. Computer networks allow us to interact and accomplish our goals in this fast-paced digital world. Today, on enterprise networks, we are combining all the parts of networking, hosts and applications into a single, seamless, consolidated system. Network problems can arise from a variety of sources and networks. The ability to identify and resolve problems quickly and efficiently is necessary for most network engineers. In this blog post, we will review five of the most important command-line tools to utilize while managing and troubleshooting modern enterprise networks.
Command #1 – IPConfig/IFConfig
Let’s start with the ipconfig command in Windows. If you are trying to display the current configuration for a host system, this command is the most important because it gives you a list of the ip address, subnet mask, default gateway and dns server configured for a host. This command can also be used to manage the host configuration with both the DHCP and DNS services. It is essential to start here because, if you don’t know how a host is configured, you will find it extremely hard to troubleshoot the system from a network connectivity perspective.
Parameters to use with the ipconfig command:
- ipconfig/all -> Displays a full TCP/IP configuration for all adapters
- ipconfig/displaydns -> Displays the contents of the DNS client resolver cache
- ipconfig/flushdns -> Flushes and resets the contents of the DNS client resolver cache
- ipconfig/registerdns -> Initiates a manual registration for the DNS name of the host to the network configured DNS service
Don’t forget the Linux command alternative ifconfig. You may be managing a network with a mix of both Windows and Linux systems. Having the ability to get information about the configuration of a Linux system is also very vital to being able to troubleshoot the networking of these hosts.
Command # 2 – Ping/Packet InterNet Grouper
The second command we’ll discuss is the ping command. This command works well on both Windows and Linux systems. The focus of this command is to see if you can communicate with other hosts on your network or other networks. You can use both the ip address and/or the hostname of the systems you are trying to test or troubleshoot. It is like a handshake. The system will reach out using a protocol called the Internet Control Message Protocol (ICMP for short) to see if the other system is available for communications.
To test connectivity using the ping command, type: ping <ip address>
Command # 3 – Tracert/Traceroute
The third command to be aware of when troubleshooting modern networks is the traceroute command for Linux systems or the tracert command for Windows systems. This command sends a message to determine the path to reach a destination system. It allows you to see things like latency of connectivity to that remote system.
To trace the path to the host named dc1.microsoft.com, type: tracert dc1.microsoft.com
To trace the path to the host faster without doing name resolution for each ip address to its name, type: tracert /d dc1.microsoft.com
The Linux command, traceroute, tracks the route packets take and is a great tool to utilize when troubleshooting hosts on networks.
Command # 4 – Nslookup/Dig/Host
Being able to trace your connection from one host to another is an essential skill in modern networking. The fourth command we’ll explore is the nslookup command. In Windows, it allows you to test Domain Name Services to ensure users will be able to connect to resources on networks.
To start using nslookup in non-interactive mode, type: nslookup <hostname>
The alternative commands to nslookup on Linux are dig or host. The domain internet grouper and host are essential commands to testing name resolution and connectivity to domain name service on Linux systems.
Command # 5 – Netstat/SS
The final essential network command used to check the connections established on the host system is the netstat command. The netstat command, in Windows, is used to check process-to-port mapping. It is used to display networking statistics. It also reveals the ports that are currently listening and the currently established ports as you connect to other hosts on modern networks. This command will give you visibility inside the connections hosts are making to services as well as a better understanding of the requirements for allowing other hosts to connect to your systems and interact with network services.
To start displaying active TCP connections and the process bound to that connection, type: netstat -ano
The Linux command that can be used to do something similar to netstat is the ss (Socket Statistics) command. This doesn’t mean you can’t use netstat on Linux systems, but this command is the modern equivalent that is used as a replacement.
To view a list of all sockets listening on the system, type: ss -a
To analyze the listening sockets on a Linux system for the ssh service, type: ss -l | grep ssh
How Can I Become a Networking Specialist?
The best way for you to help organizations in this digital-first society is to understand what it takes to implement and design networks for the future. There are a variety of roles in technology that can benefit from a strong networking background such as help desk technician, network specialist, systems engineer, and security specialist roles. There are also numerous certifications to earn to become a network engineer. Two of the most popular courses to help you achieve your networking goals are CompTIA Network+ and, the extremely popular, Cisco Certified Network Associate. Both network certifications cover the functions you will use in a network engineering job role.
Here are some of the tasks you will perform as a networking specialist:
- Design and implement functional networks
- Configure, manage, and maintain essential network devices
- Use devices such as switches and routers to segment network traffic and create resilient networks
- Identify benefits and drawbacks of existing network configurations
- Implement network security, standards, and protocols
- Troubleshoot network problems
- Support the creation of virtualized networks