# data[].attributes.body
IPv4 is 32-Bit IP address whereas IPv6 is a 128-Bit IP address.

IPv4 is a numeric addressing method whereas IPv6 is an alphanumeric addressing method.

IPv4 binary bits are separated by a dot(.) whereas IPv6 binary bits are separated by a colon(:).

IPv4 offers 12 header fields whereas IPv6 offers 8 header fields.

IPv4 supports broadcast whereas IPv6 doesn’t support broadcast.

IPv4 has checksum fields while IPv6 doesn’t have checksum fields

When we compare IPv4 and IPv6, IPv4 supports VLSM (Variable Length Subnet Mask) whereas IPv6 doesn’t support VLSM.

IPv4 uses ARP (Address Resolution Protocol) to map to MAC address whereas IPv6 uses NDP (Neighbour Discovery Protocol) to map to MAC address.

# data[].attributes.body
The main difference between IPv4 and IPv6 is the address size of IP addresses. The IPv4 is a 32-bit address, whereas IPv6 is a 128-bit hexadecimal address. IPv6 provides a large address space, and it contains a simple header as compared to IPv4.

# data[].attributes.body
Ping The Host

The first step in any connectivity troubleshooting with ping is to simply try and ping the remote host. Remember, not all devices are configured to respond to a ping request, so be sure that what you are trying to ping can even respond. If your ping is returned, then the network is working, and any issue you are having lies somewhere else.

To use ping, just type ping and then the host you are trying to reach.
For example, if you are having trouble connecting to a website, you could try and ping the URL of that website (see example below).

Those four replies show that the network and internet connection is good and that the server is reachable. In this case, maybe the problem is with the webserver configuration instead.

Ping By IP Address

Ping actually sends requests to an IP address. Which brings us to another troubleshooting step. If you can ping a host by its IP address, but not by the name, then the problem is with name resolution. In the example above, if I can ping the IP, but cannot ping the URL, then my problem is with resolving the name, perhaps a misconfigured DNS server. You can for example ping 8.8.8.8.

What Else Ping Tells Us

In the above example, there were four pings sent and replies received. Also listed is the time that the pings took, in this case a minimum of 13 milliseconds (ms), and a maximum of 23 ms . A wide variation might suggest that there is a connection issue, perhaps network congestion. While there is no “good” time for a ping to take, a time that is significantly higher than usual, or significantly higher than other hosts on the same network could indicate issues as well.

While all four of our pings came back good, missing pings suggest trouble on the network. However, if some pings do come back, then at least the network configuration is functional.

How To Pin Point Network Issues With Ping

Knowing that your network connection isn’t working properly or your internet is down is one thing. Knowing where the problem is, is much better. To get a better idea about where the network issue is, an administrator can ping key parts of the network infrastructure like the router.

The first key point to ping is the gateway. On many computers the default gateway can be determined by examining the IP configuration. If the gateway pings, that means the local portion of the network is functioning and the problem lies beyond.
If the gateway does not ping, then either the problem is with the gateway itself, or on the route to the gateway.

To test connectivity to the internet, some administrators ping 8.8.8.8, which is Google’s primary DNS server. It is not only easy to remember, it is very likely to be up and running at any given time.

Finally, pinging the loopback address ensures that the network stack is functioning and properly initialized on the system itself. To ping the loopback address, simply ping 127.0.0.1. If that fails, the network is not running properly on the system.

Keeping Pinging!

Another trick for troubleshooting with ping is to set a continuous ping. This can be useful for many situations, including ensuring the remote host stays reachable, or to see when connectivity is lost.

For example, an administrator can set a system to ping a remote host while making adjustments to wiring, or testing network equipment. If the pings stop coming back successful, then the change has broken the previously functioning network. This is particularly useful when installing, replacing, or removing network equipment.

To continuously ping with Windows, use the -t switch.
ping -t URL.

Type CTRL-C to end the pinging, or close the command window.

Ping From Different Global Locations

To get reliable ping data it is necessary to ping from different global locations. Imagine your server is located in Germany - a Ping response from a site in Germany can be way faster than the response time you get if you ping from China.

An easy way to test the response time from different locations all over the globe is our brand-new Ping Speed Test. We drop several ping commands from every continent and give you insight in minimum, maximum and average response time - plus more details of what a good ping speed is.

And now it's getting exciting. Want to know what the current ping times are for your (or any) website? Then take a look at our brand new ping test tool and see how ping times can be improved in your individual case.

# data[].attributes.body
The main difference between IPv4 and IPv6 is the address size of IP addresses. The IPv4 is a 32-bit address, whereas IPv6 is a 128-bit hexadecimal address. IPv6 provides a large address space, and it contains a simple header as compared to IPv4. IPv6 increases the IP address from 32 bits to 128 bits to support larger address demands. It is estimated that there are 4x10^18 IPv6 addresses per square meter on the Earth's surface, so that IP addresses will not run out in the foreseeable future. The encoding of IPv6 addresses uses a hierarchy similar to CIDR, which simplifies the routing.

# data[].attributes.body
A traceroute provides a map of how data on the internet travels from its source to its destination. A traceroute plays a different role than other diagnostic tools, such as packet capture, which analyzes data. Traceroute differs in that it examines how the data moves through the internet.
Traceroute displays information about each “hop” a packet takes from your computer to the remote host. It is often a good way to pinpoint possible ISP connection issues or network bottlenecks.
Traceroute most commonly uses Internet Control Message Protocol (ICMP) echo packets with variable time to live (TTL) values. The response time of each hop is calculated to guarantee accuracy. Each hop is queried multiple times (usually three times) to better measure the response of that particular hop.

# data[].attributes.body
Traceroute is a network diagnostic tool used to track in real-time the pathway taken by a packet on an IP network from source to destination, reporting the IP addresses of all the routers it pinged in between.

Traceroute also records the time taken for each hop the packet makes during its route to the destination.

Traceroute is a useful tool for determining the response delays and routing loops present in a network pathway across packet-switched nodes. It also helps to locate any points of failure encountered while en route to a certain destination.

# data[].attributes.body
6 Useful DNS tools to Check out:

ping

nslookup

traceroute

dig

host

whois

1. Ping checks to see if you can actually reach a server. It is the go to command for making sure that a server is online and functional. You can also use this tool to see if a website is down for every one, or just you. Ping is a simple way to check if your domain name is resolving correctly.

2. NSLookup A network administration command-line tool for querying the Domain Name System (DNS) to obtain the mapping between a domain name and IP address. Example of use: nslookup followed by the domain name will display the “A Record” (IP Address) of the domain.  It queries to domain name servers and gets the details in order to find the address record for a domain. (NS lookup is useful for quickly looking up name server information, but it usually requires detailed parameters, see Dig [next] for less parameters...)

3. Domain Information Groper (Dig) A network administration command-line tool for querying the DNS.  It can identify IP address records, record the query route as it obtains answers from an authoritative nameserver, and diagnose other DNS problems. You can use Dig to lookup nameservers.
Type “dig noip.com ns” and hit enter. This command will show all of the nameservers associated with noip.com. Check out this Dig tutorial for some cool ways to use it.

4. Traceroute Traceroute shows you the route (path) that was used to connect you to the IP address or hostname. It will show all of the routers it goes through until it gets to its destination, or it fails. A traceroute also tells you how long each hop to each router takes and if it fails, it will show you exactly where the IP packet failed.  This guide will show you how to run your own trace route.

5. Host command is used to find the IP address of a particular domain name or if you want to find out the domain name of a particular IP address

6. Whois command is an easy way to find information on the owner, nameserver, registrar etc. of a domain name. It is useful for getting all the detailed info you want from a domain, helping you identify the responsible party for a domain. This is useful if you have problems sending to, or receiving from a domain; or if you just want to query the authoritative nameservers for that domain.
(Type “Whois” followed by your domain of choice and hit enter. Then type Whois mashable.com and hit enter. It will bring up all of the domain registration information).

EXTRA TOOLS to check out if interested:

1. Route The route command is used to view and make changes to the kernel routing table on Linux, BSD, and other Unix-like systems.

2. IP command tool Found in the net tools which are used for performing several network administration tasks.

3. NETCAT and NCAT Nc or the Netcat command is a networking command-line tool in Linux. It works like a port scanning tool, a security tool, or a network monitoring tool. "It is an important utility for system administrators to be aware of and is often referred to as the Swiss army knife of networking tools."

4. Ethtool A tool used for troubleshooting in a Linux network. It is primarily used to query and control Ethernet devices, including driver and hardware settings on Linux systems.

5. PuTTY A free and open-source terminal emulator, serial console, and network file transfer application.

6. ManageEngine OpManager A scalable Linux network monitoring tool. It can monitor Linux devices and traffic in your network for availability, health, and performance in real-time and generate network performance reports

Sources:
https://www.noip.com/blog/2014/11/13/10-dns-tools-every-sysadmin-know/
https://www.redhat.com/sysadmin/DNS-name-resolution-troubleshooting-tools
https://help.dyn.com/how-to-use-binds-dig-tool/
https://www.geeksforgeeks.org/host-command-in-linux-with-examples/
https://www.geeksforgeeks.org/nslookup-command-in-linux-with-examples/

# data[].attributes.headline
Group 4                                                                                                     

# data[].attributes.subject
Group 4                                                                                                     

# data[].attributes.body
Ping
The ping utility is one of the most commonly used network troubleshooting tools, largely because it is supported on a large number of platforms and devices. Its primary task is to determine whether a specific host is reachable; this is done via the Internet Control Message Protocol (ICMP). An echo ICMP packet is sent from a source device toward a destination device. Assuming nothing is blocking the ICMP echo packet between the source and the destination, the destination device that is up will respond back to the source device with an ICMP echo reply packet. This assumption is often a problem, though, as many firewalls (host- and network-based) by default will block ICMP echo and echo reply packets.

Tracert
The Tracert command (or traceroute on other platforms) is another very common network troubleshooting tool. It is used to trace a packet’s path from source to destination. The output from this command gives the issuer a list of devices that a packet will move through on its way to the destination. This is then used to determine where the cause of a potential problem may exist. The Tracert tool uses ICMP echo packets to determine the different points on the path to the destination.

Pathping

The pathping utility is a Windows-specific utility that combines some of the advantages of both ping and tracert. Its output provides a tracert-like report along with an extended statistical look at all of the different hosts along the path to the destination. This information can then be used to determine the potential problem devices along with the path, especially for intermittent problems that are hard to pin down.
Route

The route command is used on Windows devices to add, remove, and view the routing table. For the most part, simple Windows installations rarely require the alteration of the routing table, but when devices are configured with multiple Network Interface Cards (NIC), it is can be used more frequently

Nslookup  The Nslookup utility is used to perform lookups and troubleshooting of the Domain Name System (DNS). Sometimes the problems that occur on a Windows device stem from an issue with DNS — this is where the nslookup command comes in: to determine if the current DNS configuration of a device is operating correctly

Arp

The arp utility it used to add, modify, delete, and view the entries of the Address Resolution Protocol (ARP) table. ARP is used on Ethernet networks to link together the physical MAC (layer 2) addresses and Internet Protocol (IP) addresses.
The arp utility is commonly used to view the contents of the ARP table, and this gives the troubleshooter a way to determine whether devices are communicating at a layer below IP.

# data[].attributes.body
Ping is a super simple program and the basics are the same no matter which operating system you're using. Ping let's you send a special type of ICMP message called an echo request. An ICMP echo request essentially just asks a destination, hey are you there? If the destination is up and running and able to communicate on the network, it will send back an ICMP echo reply message type. You can invoke the Ping Command from the command line of any modern operating system. In its most basic use you just type ping and a destination IP or a fully qualified domain name.
Output of the Ping Command is very similar across each of the different operating systems. Every line of output will generally display the adverse sending the ICMP Echo reply, and how long it took for the round trip communications. It will also have the TTL remaining and how large the ICMP message is in bytes.

Once the command ends, there will also be some statistics displayed, like percentage of packets transmitted and received, the average round trip time, and a couple other things like that.

On Linux and Mac OS, the Ping Command will run until it's interrupted by an end user sending an interrupt event. They do this by pressing the control key and the C key at the same time. On Windows, Ping defaults to only sending 4Echo requests. In all environments PING supports a number of command line flags that let you change its behavior like the number of echo request to send, how large they should be, and how quickly they should be sent

# data[].attributes.body
Traceroute is a tool that lets you discover the path between two nodes and gives you information about each hop along the way.

It works by manipulating the TTL at IP level (sets TTL for first packet to 1, second packet to 2, third to 3 etc..)

This allows for each packet to be discarded at each router hop until it reaches a destination and gets a reply.

This can be an effective tool for troubleshooting as it can  pinpoint what router is failing to forward the data i.e. where on the network the connection is having issues.

# data[].attributes.body
Traceroute is a command that runs tools used for network diagnostics. These tools trace the paths data packets take from their source to their destinations, allowing administrators to better resolve connectivity issues. On a Windows machine, this command is called tracert; on Linux and Mac, it’s called traceroute.
If you’re having trouble connecting to a website, traceroute can tell you where the problem is. It can also help visualize the path traffic takes between your computer and a web server.

How Traceroute Works

When you connect to a website – say, howtogeek.com – the traffic has to go through several intermediaries before reaching the website. The traffic goes through your local router, your Internet service provider’s routers, onto larger networks, and so on.
Traceroute shows us the path traffic takes to reach the website. It also displays the delays that occur at each stop. If you’re having issues reaching a website and that website is working properly, it’s possible there’s a problem somewhere on the path between your computer and the website’s servers. Traceroute would show you where that problem is.

In more technical terms, traceroute sends a sequence of packets using the ICMP protocol (the same protocol used for the ping command.) The first packet has a time-to-live (also known as TTL, or hop limit) of 1, the second packet has a TTL of 2, and so on. Each time a packet is passed to a new router, the TTL is decreased by 1. When it reaches 0, the packet is discarded and the router returns an error message. By sending packets in this manner, traceroute ensures that each router in the path will discard a packet and send a response.

How to Use Traceroute

Traceroute is run from a command prompt or terminal window. On Windows, press the Windows key, type Command Prompt, and press Enter to launch one.

To run a traceroute, run the tracert command followed by the address of a website. For example, if you wanted to run a traceroute on How-To Geek, you’d run the command:

tracert howtogeek.com.

# data[].attributes.body
The Internet Control Message Protocol (ICMP) is a protocol that devices within a network use to communicate problems with data transmission. In this ICMP definition, one of the primary ways in which ICMP is used is to determine if data is getting to its destination and at the right time.

How errors are reported:

The error-reporting message defines that the router encounters a problem when it processes an IP packet, then it reports a message. Error messages are continually transmitted to the original source because the only data possible in the datagram around the route is the source and destination IP addresses.

# data[].attributes.body
Traceroute is a network diagnostic tool used to test the connectivity of a network.  It provides a map of how data on the internet travels from its source to its destination in real time, giving precise route information.  It reports the IP addresses of all the routers it pings between, as well as, the time taken for each hop.  It is a useful tool for troubleshooting as it shows the path and points of failure giving the user a visual representation.

# data[].attributes.body
The PING utility is  the first command that needs to be issued when there is a need to find out whether a certain host is "alive" or not. Basically it tells whether a host is responding, If the destination is up and running and able to communicate on the network, it will send back an ICMP echo reply message type.

Example If “ping my. hostname. com”

returns ‘Name or service not known’ then it isn’t in DNS or your local resolver,

And if “ping 192.72.4.132 “

doesn’t respond, then the IP address isn’t allocated to a device with a functioning network interface.
The PING not only tells if the connection is responding but also reports the speed of said connection.

# data[].attributes.body
NSLOOKUP is a web based DNS (Domain Name System) Client that allows one to look up the IP address of a given host server.

NSLOOKUP can be used in troubleshooting by:

- Finding the IP address of a host.
- Finding the domain name of an IP address.
- Finding mail servers for a domain.

# data[].attributes.body
The most obvious difference, and the most applicable for regular people, is the difference in formats:

IPv4 uses a 32-bit address

IPv6 uses a 128-address

Without getting into the math (we’ll save that for the next section), this means that IPv6 offers 1,028 times more addresses than IPv4, which essentially solves the “running out of addresses” problem (at least for the foreseeable future).

IPv6 is also an alphanumeric address separated by colons, while IPv4 is only numeric and separated by periods. Again, here’s an example of each:

IPv4 – 32.253.431.175

IPv6 – 3002:0bd6:0000:0000:0000:ee00:0033:6778

There are also some technical differences between IPv4 vs IPv6, though non-developers don’t really need to know them. Some of the most notable technical differences are that:

IPv6 includes built-in Quality of Service (QoS).

IPv6 has a built-in network security layer (IPsec).

IPv6 eliminates Network Address Translation (NAT) and allows end-to-end connectivity at the IP layer.

Multicasting is part of the base specifications in IPv6, while it’s optional in IPv4. Multicasting allows for the transmission of a packet to multiple destinations in a single operation.

IPv6 has larger packet headers (about twice as large as IPv4).

# data[].attributes.body
1. Check the hardware. When you’re beginning the troubleshooting process, check all your hardware to make sure it’s connected properly, turned on, and working. If a cord has come loose or somebody has switched off an important router, this could be the problem behind your networking issues. There’s no point in going through the process of troubleshooting network issues if all you need to do is plug a cord in. Make sure all switches are in the correct positions and haven’t been bumped accidentally.
Next, turn the hardware off and back on again. This is the mainstay of IT troubleshooting, and while it might sound simplistic, often it really does solve the problem. Power cycling your modem, router, and PC can solve simple issues—just be sure to leave each device off for at least 60 seconds before you turn it back on.

2. Use ipconfig. Open the command prompt and type “ipconfig” (without the quotes) into the terminal. The Default Gateway (listed last) is your router’s IP. Your computer’s IP address is the number next to “IP Address.” If your computer’s IP address starts with 169, the computer is not receiving a valid IP address. If it starts with anything other than 169, your computer is being allocated a valid IP address from your router.
Try typing in “ipconfig /release” followed by “ipconfig /renew” to get rid of your current IP address and request a new one. This will in some cases solve the problem. If you still can’t get a valid IP from your router, try plugging your computer straight into the modem using an ethernet cable. If it works, the problem lies with the router.

3. Use ping and tracert. If your router is working fine, and you have an IP address starting with something other than 169, the problem’s most likely located between your router and the internet. At this point, it’s time to use the ping tool. Try sending a ping to a well-known, large server, such as Google, to see if it can connect with your router. You can ping Google DNS servers by opening the command prompt and typing “ping 8.8.8.8”; you can also add “-t” to the end (ping 8.8.8.8 -t) to get it to keep pinging the servers while you troubleshoot. If the pings fail to send, the command prompt will return basic information about the issue.
You can use the tracert command to do the same thing, by typing “tracert 8.8.8.8”; this will show you each step, or “hop,” between your router and the Google DNS servers. You can see where along the pathway the error is arising. If the error comes up early along the pathway, the issue is more likely somewhere in your local network.

4. Perform a DNS check. Use the command “nslookup” to determine whether there’s a problem with the server you’re trying to connect to. If you perform a DNS check on, for example, google.com and receive results such as “Timed Out,” “Server Failure,” “Refused,” “No Response from Server,” or “Network Is Unreachable,” it may indicate the problem originates in the DNS server for your destination. (You can also use nslookup to check your own DNS server.)

5. Contact the ISP. If all of the above turn up no problems, try contacting your internet service provider to see if they’re having issues. You can also look up outage maps and related information on a smartphone to see if others in your area are having the same problem.

6. Check on virus and malware protection. Next, make sure your virus and malware tools are running correctly, and they haven’t flagged anything that could be affecting part of your network and stopping it from functioning.

7. Review database logs. Review all your database logs to make sure the databases are functioning as expected. If your network is working but your database is full or malfunctioning, it could be causing problems that flow on and affect your network performance.

# data[].attributes.body
Dig (Mac OS and Linux) is the primary command-line tool for troubleshooting DNS issues.

This tool is used to determine the IP address associated with a domain name, obtain the mail server settings for a domain, and much more.

Some other useful tools are:

1. Ping A very widely used command line utility that tests remote host availability and reports on roundtrip time, packet loss, and jitter.

2. Ifconfig A command line system query that returns the current host’s IP addressing statuses.

3. NetStat Displays both incoming and outgoing connections active on the current system.

4. NSLookup A DNS lookup and reverse lookup mechanism.

5. Route View or alter entries in the local routing table.

6. Host A DNS name lookup and reverse lookup tool.

7. ARP Address Resolution Protocol implementation checker. Reads the mapping between IP addresses and MAC addresses.

8. EthTool A command line tool that enables the Ethernet adapter settings to be viewed or edited.

9. IWConfig View a wireless adapter configuration and edit it.

10. Hostname View and change the host name of the current system.

# data[].attributes.body
nslookup is a network administration command-line tool for querying the Domain Name System to obtain the mapping between a domain name and IP address or other DNS records.

There are two primary functions included with nslookup. The first is DNS lookup, whereby you enter a domain URL and retrieve the corresponding server IP address. You can also reverse this process and enter an IP address to retrieve the corresponding domain URL.

It is useful to troubleshoot server connections or for security reasons. Such reasons include guarding against phishing attacks, in which a domain name is altered -- for example, by substituting the numeral 1 for a lowercase l -- to make an unfriendly site look friendly and familiar (joes1owerprices.com vs. joeslowerprices.com).

DNS, or nslookup, also helps deter cache poisoning, in which data is distributed to caching resolvers, posing as an authoritative origin server.

# data[].attributes.body
IF you want to see exactly what's happening behind the scenes.

there are lots of different command line tools out there to help you with this.

The most common tool is known as nslookup. And it's available on all three of the operating systems we've been discussing, Linux, Mac, and Windows. A basic use of nslookup is simple.You execute the nslookup command with the host name following it. And the output displays what server was used to perform the request and the resolution result. Let's say you needed to know the IP address for a twitter.com.

You would just enter nslookup twitter.com and the A record would be returned. Nslookup is way more powerful than just that. It includes an interactive mode that lets you set additional options and run lots of queries in a row. To start an interactive nslookup session, you just enter nslookup, without any hostname following it. You should see an angle bracket acting as your prompt. From interactive mode, you can make lots of requests in a row. You can also perform some extra configuration to help with more in-depth

trouble shooting. While in interactive mode, if you type server, then an address, all the following name resolution queries will be attempted to be made using that server instead of the default name server.

You can also enter set type= followed by a resource record type. By default, nslookup will return A records.

But this lets you explicitly ask for AAAA or MX or even text records associated with the host.

If you really want to see exactly what's going on, you can enter set debug. This will allow the tool to display the full response packets, including any intermediary requests and all of their contents. Warning, this is a lot of data and can contain details like the TTL left, if it's a cached response, all the way to the serial number of the zone files the request was made against.

# data[].attributes.body
The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not available or that a host or router could not be reached.

After the IP header, comes the three field ICMP header. These contain a code that categories the error, a sub-code field, which refines the error code description, and then a checksum. After the ICMP field come the first eight bytes of the payload, which are actually the Transport Layer header (TCP or UDP).

When a router ricochet’s back an ICMP packet to report an error, it recreates all of the fields in the original IP header of the packet that it is reporting on. So, an error collection program on the original sending computer could analyze the header and work out exactly which of the IP packets that it sent out failed.

# data[].attributes.body
nslookup is a simple but very practical command-line tool, which is principally used to find the IP address that corresponds to a host, or the domain name that corresponds to an IP address (a process called “Reverse DNS Lookup”). nslookup allows itself to be used in the command-line of the operating system in question. nslookup is used to troubleshoot server connections or for security reasons. There are different scenarios in which the use of nslookup is appropriate. In this way, the command-line program is an especially crucial tool when resolving DNS issues. First and foremost, a data query helps find the cause of the problem at hand. For example, those who use Windows and experience an issue with the active directory can use nslookup to quickly and easily check whether all involved servers are converted in the domain name system as planned. Generally, this program shows its strengths when various subdomains are involved – not only when it is simply a matter of checking them, but also when there are connection problems.

# data[].attributes.body
Traceroute - a utility that lets you discover the path between two nodes, and gives you information about each hop along the way.

tracert - windows
traceroute - Linux

How does it used for troubleshooting?
Traceroute shows us the path traffic takes to reach the website. It also displays the delays that occur at each stop. If you're having issues reaching a website and that website is working properly, it's possible there's a problem somewhere on the path between your computer and the website's servers

# data[].attributes.body
To Ping something means that you send an internet packet to a destination computer or other network device and ask for a response. That device then sends a packet back to you.

Pings can be used to:

check whether your connection to a remote computer works

To check how healthy that connection is

If the ping reaches its destination and you get a reply, the ping response will tell you how long a packet took to return and how many packets have been lost. You can also use the ping command to diagnose if the connection is too slow or unreliable.

# data[].attributes.body
Traceroute:
Traceroute is a command-line tool included with Windows and other operating systems. Along with the ping command, it's an important tool for understanding Internet connection problems, including packet loss and high latency. If you're having trouble connecting to a website, traceroute can tell you where the problem is.
How it can be used for Troubleshooting:

1. Open a DOS command window. To do this, click Start, click Run, type cmd, and then press Enter.

2. At the command prompt, type the following command. Replace example.com with the domain that you want to test

3. Interpret the output from tracert:

Tracert displays each hop, indicated by a number in the left column. It also displays the domain and IP address at each hop, as well as the time spent. For example, the following output shows the path to an A2 Hosting server

4. You can examine the times between each hop to look for places where the connection “hangs”. In some cases, tracert may also time out, which is indicated by an asterisk (*)

# data[].attributes.body
A port in computer networking is how a computer can use a single physical network connection to handle many incoming and outgoing requests by assigning a port number to each. The numbers go from 0 to 65535, which is a 16-bit number.

# data[].attributes.body
Sometimes you need to know if things are working at the transport layer. There are 2 tools for this which displays diagnostic information for a connection.:
Netcat on Linux and Mac OS
Test-NetConnection on Windows

The Netcat tool can be run through the command 'nc' and has 2 mandatory arguments: a host and a port. Running nc google.com 80 would try to establish a connection on port 80 to google.com. If the connection fails, the command will exit. If it succeeds, you'll see a blinking cursor waiting for more input. This is a way for you to actually send application layer data to the listening service from your own keyboard. If you're only curious about the status report, you can issue the command with the -z flag, which stands for zero input/output mode. The -v flag, which stands for verbose makes the command's output useful to the human eye, as opposed to non-verbose output, which is better for scripts.
By issuing the -z and -v flags, the command's output will tell you if a connection to the port is possible or not.

The Test-NetConnection is similar to netcat. If you run Test-NetConnection with only a host specified, it will default to using an ICMP Echo request, much like the program ping, but with more data, such as the data link layer protocol being used. With the -port flag, you can ask Test-NetConnection to test connectivity to a specific port.

# data[].attributes.body
The main difference between IPv4 and IPv6 is the size of the address it self.
- IPv4 32bit address
- IPv6 128bit hexadecimal address

An IPv4 has 12 header fields whereas an IPv6 has 8 header fields. Also IPv4 has checksum fields whereas IPv6 doesn't.

Due to the lack of Network address Translation (NAT) IPv6 is thought to be faster than IPv4.

IPv6 allows a much larger pool of address for the internet than IPv4.
- 4,294,967,296 IPv4 addresses
- 340 trillion trillion trillion IPv6 addresses. or 128-bit (2¹²⁸) addresses, allowing 3.4 x 10 ³⁸ unique IP addresses

# data[].attributes.body
Nslookup is a tool that most operating systems have, it can look up IP addresses and perform searches on DNS and servers, it can be used to test Ip connection, people can set items like retry and timeout, designate a root server, or get debugging information. Nslookup can also be used to check mail records.

# data[].attributes.body
Nslookup; Is used to figure out names and IP addresses and resulve which is which and for who, you input a URL you should get the sever IP for that URL, if you input an IP you would get the Domain name if one exists. This can allow you to find out if the DNS server is still activly reconizing the URL or IP address you are trying to reach.

Traceroute; like Nslookup can show the route to a DNS server and be able to provide you with can connectivity between it, this would allow you to know if the package is dropping off short, or if there are any errors between you and the DNS server.

Ping; is a very simple one, it sends pagagers to the target IP address or website and waits for a return ICMP, this tells it, no error, if it doesn't get the retuen message it get outputs an error, telling you it can not conect to the server, in DNS this means that you can use this as a fist step to find out if you are connected to the Server or not.

As a group you could use these in different steps of the trouble shooting process to figure out who or where you are trying to reach, and resolve where the problem if one exists the issue is.

# data[].attributes.body
Name Server Lookup (NSLookup)

NSLookup is a network administration command-line tool for questioning  the Domain Name System (DNS) to obtain the mapping between a domain name and IP address. It’s convenient when troubleshooting DNS issues on a Linux system.

NSLookup queries the specified Linux DNS server and retrieves the requested records associated with the domain name you provided. Other DNS records that can be obtained include:

A: the IPv4 address of the domain.

AAAA: the IPv6 address of the domain.

CNAME: the canonical name (CNAME) allows one domain name to map onto another. This enables multiple websites to point to a single IP or web server.

MX: the server that handles email for the domain.

NS: one or more authoritative name server records for the domain.

TXT: a type of DNS record that contains text information for sources outside of your domain. This information is used for email spam prevention and domain ownership verification, among others.

Thenslookup tool comes bundled inside the bind-utils package in older Linux systems, while newer Linux systems ship the nslookup tool by default. The nslookup tool can operate in interactive or non-interactive mode. When used interactively, the user issues parameter configurations or requests when presented with the nslookup prompt (>). When no arguments are given, then the command queries the default server. In non-interactive mode, i.e., when the first argument is a name or Internet address of the host being searched, parameters and the query are specified as command-line arguments in the program’s invocation. The non-interactive mode searches the information for a specified host using the default name server.

5. Domain Information Groper (Dig)

Dig is a network administration command-line tool for questioning the DNS. Dig is useful for network troubleshooting and educational purposes. With dig, you can query DNS servers for information regarding various DNS records, including host addresses, mail exchanges, name servers, and related information. It was intended to be a tool for diagnosing DNS issues. However, you can use it to poke around and learn more about DNS, which is one of the central systems that keep the internet routing traffic.

# data[].attributes.body
NSLOOKUP is a program to let an internet server administrator or any computer user to enter the host name and find out the corresponding IP address or Domain name system (DNS) record. We can use nslookup for troubleshooting or security reason. The security for instance, guard against phising attack which domain name is altered by substituting the numeral to lower case in order to make the website friendly and familiar.

We also can use NSLOOKUP to deter cache poisoning. Cache poisoning is a type of cyber attack in which attackers insert fake information into a domain name system (DNS) cache or web cache for the purpose of harming users.

This tools used in troubleshooting by :
- internet DNS
- IP address

references :
1. What is a Nslookup Command?
(techtarget.com)
2. Linux nslookup | Debugging or Troubleshooting the DNS Server (educba.com)
3. What is cache poisoning and how does it work? (techtarget.com)

# data[].attributes.body
What is the Internet Control Message Protocol (ICMP)?

The Internet Control Message Protocol (ICMP) is a network layer protocol used by network devices to diagnose network communication issues. ICMP is mainly used to determine whether or not data is reaching its intended destination in a timely manner. Commonly, the ICMP protocol is used on network devices, such as routers. ICMP is crucial for error reporting and testing, but it can also be used in distributed denial-of-service (DDoS) attacks.

Types of Messages:

ICMP messages are divided into two broad categories: error-reporting messages and query messages. The error-reporting messages report problems that a router or a host (destination) may encounter when it processes an IP packet. The query messages, which occur in pairs, help a host or a network manager get specific information from a router or another host.

I) Error Reporting:

One of the main responsibilities of ICMP is to report errors. Although technology has produced increasingly reliable transmission media, errors still exist and must be handled.

IP is an unreliable protocol. This means that error checking and error control are not a concern of IP.

ICMP was designed, in part, to compensate for this shortcoming. However, ICMP does not correct errors-it simply reports them. Error correction is left to the higher-level protocols.

Error messages are always sent to the original source because the only information available in the datagram about the route is the source and destination IP addresses.

ICMP uses the source IP address to send the error message to the source (originator) of the datagram.

Five types of errors are handled: destination unreachable, source quench, time exceeded, parameter problems, and redirection (see figure1).

Destination Unreachable: When a router cannot route a datagram or a host cannot deliver a datagram, the datagram is discarded and the router or the host sends a destination-unreachable message back to the source host that initiated the datagram.

Source Quench: The source-quench message in ICMP was designed to add a kind of flow control to the IP. When a router or host discards a datagram due to congestion, it sends a source-quench message to the sender of the datagram. This message has two purposes. First, it informs the source that the datagram has been discarded. Second, it warns the source that there is congestion somewhere in the path and that the source should slow down (quench) the sending process.

Time Exceeded: When the time-to-live value reaches 0, after decrementing, the router discards the datagram. However, when the datagram is discarded, a time-exceeded message must be sent by the router to the original source. Second, a time-exceeded message is also generated when not all fragments that make up a message arrive at the destination host within a certain time limit.

Parameter Problem: Any ambiguity in the header part of a datagram can create serious problems as the datagram travels through the Internet. If a router or the destination host discovers an ambiguous or missing value in any field of the datagram, it discards the datagram and sends a parameter-problem message back to the source.

Redirection: Tells the hosts on Network Layer that a better path exists to a particular destination, then will update hosts' routing tables with ICMP redirect messages.

In addition to error reporting, ICMP can diagnose some network problems. This is accomplished through the "query messages", a group of four different pairs of messages.

Echo Request and Reply: The echo-request and echo-reply messages are designed for diagnostic purposes. Network managers and users utilize this pair of messages to identify network problems.

Timestamp Request and Reply: Two machines (hosts or routers) can use the timestamp request and timestamp reply messages to determine the round-trip time needed for an IP datagram to travel between them. It can also be used to synchronize the clocks in two machines.

Address-Mask Request and Reply: If the host knows the address of the router, it sends the request directly to the router. If it does not know, it broadcasts the message. The router receiving the address-mask-request message responds with an address-mask-reply message, providing the necessary mask for the host.

Router Solicitation and Advertisement: A host that wants to send data to a host on another network needs to know the address of routers connected to its own network. Also, the host must know if the routers are alive and functioning. The router-solicitation and router-advertisement messages can help in this situation.

Checksum: In ICMP the checksum is calculated over the entire message (header and data).

# data[].attributes.body
Nslookup; Is used to figure out names and IP addresses and resolve which is which and for who, you input a URL you should get the sever IP for that URL, if you input an IP you would get the Domain name if one exists. This can allow you to find out if the DNS server is still activity recognising the URL or IP address you are trying to reach.

Traceroute; can show the route to a DNS server and be able to provide you with can connectivity between it, this would allow you to know if the package is dropping off short, or if there are any errors between you and the DNS server.

Ping; is a very simple one, it sends packages to the target IP address or website and waits for a return ICMP, this tells it, no error, if it doesn't get the return message it get outputs an error, telling you it can not connect to the server, in DNS this means that you can use this as a fist step to find out if you are connected to the Server or not.

All together in various parts of the trouble shooting process, this can show where there is a problem if one even exists.

# data[].attributes.body
Ping is a command-line utility, available on virtually any operating system with network connectivity, that acts as a test to see if a networked device is reachable.

The ping command sends a request over the network to a specific device. A successful ping results in a response from the computer that was pinged back to the originating computer.

How to use ping in troubleshooting?

Echo requests and echo responses form the standard for troubleshooting ICMP messages. Virtually every OS with network support includes ping for troubleshooting purposes.

Ping is the cornerstone of standard network troubleshooting. For example, an IP address can be pinged by typing in 172.168.9.13. If the ping is successful, it means that it is on, and the two machines can talk to each other.

However, if the ping is successful but the response time is long, it indicates network congestion, routing or speed issues. Even pings that are unsuccessful offer valuable troubleshooting information. When it comes to network speed tests, ping is the standard.

# data[].attributes.body
IPv4
- IPv4 consists of 32 bits
- Divided into 4 octets
- Notated in decimal.
- Each octet can have a value between 0-255.
- Each octet is separated by a (.)
- There are a total of 4,294,967,296 IPv4 addresses

IPv6
- IPv6 consists of 128 bits
- Notated in hexadecimal.
- Has a total of 32 hexadecimal numbers when uncompressed
- Split into 8 "hextets" or 16bit groups, which can have a value between 0-ffff
- Each "hextet" is separated by a (:)
- IPv6 addresses can be compressed by:
- Removing leading zeros
- Replacing groups of zeros with a (::)
- there are a total of 3.4 x 10³⁸ IPv6 addresses

Ipv4 vs Ipv6
- Address length | IPv4 is a 32-bit address. | IPv6 is a 128-bit address.
- Fields | IPv4 is a numeric address that consists of 4 fields which are separated by dot (.). | IPv6 is an alphanumeric address that consists of 8 fields, which are separated by colon.
- Classes | IPv4 has 5 different classes of IP address that includes Class A, Class B, Class C, Class D, and Class E. | IPv6 does not contain classes of IP addresses.
- Number of IP address | IPv4 has a limited number of IP addresses. | IPv6 has a large number of IP addresses.
- VLSM | It supports VLSM (Virtual Length Subnet Mask). Here, VLSM means that Ipv4 converts IP addresses into a subnet of different sizes. | It does not support VLSM.
- Address configuration | It supports manual and DHCP configuration. | It supports manual, DHCP, auto-configuration, and renumbering.
- Address space | It generates 4 billion unique addresses | It generates 340 undecillion unique addresses.
- End-to-end connection integrity | In IPv4, end-to-end connection integrity is unachievable. | In the case of IPv6, end-to-end connection integrity is achievable.
- Security features | In IPv4, security depends on the application. This IP address is not developed in keeping the security feature in mind. | In IPv6, IPSEC is developed for security purposes.
- Address representation | In IPv4, the IP address is represented in decimal. | In IPv6, the representation of the IP address in hexadecimal.
- Fragmentation | Fragmentation is done by the senders and the forwarding routers. | Fragmentation is done by the senders only.
- Packet flow identification | It does not provide any mechanism for packet flow identification. | It uses flow label field in the header for the packet flow identification.
- Checksum field | The checksum field is available in IPv4. | The checksum field is not available in IPv6.
- Transmission scheme | IPv4 is broadcasting. | On the other hand, IPv6 is multicasting, which provides efficient network operations.
- Encryption and Authentication | It does not provide encryption and authentication. | It provides encryption and authentication.
- Number of octets | It consists of 4 octets. | It consists of 8 fields, and each field contains 2 octets. Therefore, the total number of octets in IPv6 is 16.

https://www.javatpoint.com/ipv4-vs-ipv6

# data[].attributes.attachment_link.readable_text
next → ← prev

What is IP?

An IP stands for internet protocol. An IP address is assigned to each device connected to a network. Each device uses an IP address for communication. It also behaves as an identifier as this address is used to identify the device on a network. It defines the technical format of the packets. Mainly, both the networks, i.e., IP and TCP, are combined together, so together, they are referred to as a TCP/IP. It creates a virtual connection between the source and the destination.

We can also define an IP address as a numeric address assigned to each device on a network. An IP address is assigned to each device so that the device on a network can be identified uniquely. To facilitate the routing of packets, TCP/IP protocol uses a 32-bit logical address known as IPv4(Internet Protocol version 4).

An IP address consists of two parts, i.e., the first one is a network address, and the other one is a host address.

There are two types of IP addresses:

IPv4

IPv6

What is IPv4?

IPv4 is a version 4 of IP. It is a current version and the most commonly used IP address. It is a 32-bit address written in four numbers separated by 'dot', i.e., periods. This address is unique for each device.

For example, 66.94.29.13

The above example represents the IP address in which each group of numbers separated by periods is called an Octet. Each number in an octet is in the range from 0-255. This address can produce 4,294,967,296 possible unique addresses.

In today's computer network world, computers do not understand the IP addresses in the standard numeric format as the computers understand the numbers in binary form only. The binary number can be either 1 or 0. The IPv4 consists of four sets, and these sets represent the octet. The bits in each octet represent a number.

Each bit in an octet can be either 1 or 0. If the bit the 1, then the number it represents will count, and if the bit is 0, then the number it represents does not count.

Representation of 8 Bit Octet

The above representation shows the structure of 8- bit octet.

Now, we will see how to obtain the binary representation of the above IP address, i.e., 66.94.29.13

Step 1: First, we find the binary number of 66.

To obtain 66, we put 1 under 64 and 2 as the sum of 64 and 2 is equal to 66 (64+2=66), and the remaining bits will be zero, as shown above. Therefore, the binary bit version of 66 is 01000010.

Step 2: Now, we calculate the binary number of 94.

To obtain 94, we put 1 under 64, 16, 8, 4, and 2 as the sum of these numbers is equal to 94, and the remaining bits will be zero. Therefore, the binary bit version of 94 is 01011110.

Step 3: The next number is 29.

To obtain 29, we put 1 under 16, 8, 4, and 1 as the sum of these numbers is equal to 29, and the remaining bits will be zero. Therefore, the binary bit version of 29 is 00011101.

Step 4: The last number is 13.

To obtain 13, we put 1 under 8, 4, and 1 as the sum of these numbers is equal to 13, and the remaining bits will be zero. Therefore, the binary bit version of 13 is 00001101.

Drawback of IPv4

Currently, the population of the world is 7.6 billion. Every user is having more than one device connected with the internet, and private companies also rely on the internet. As we know that IPv4 produces 4 billion addresses, which are not enough for each device connected to the internet on a planet. Although the various techniques were invented, such as variable- length mask, network address translation, port address translation, classes, inter-domain translation, to conserve the bandwidth of IP address and slow down the depletion of an IP address. In these techniques, public IP is converted into a private IP due to which the user having public IP can also use the internet. But still, this was not so efficient, so it gave rise to the development of the next generation of IP addresses, i.e., IPv6.

What is IPv6?

IPv4 produces 4 billion addresses, and the developers think that these addresses are enough, but they were wrong. IPv6 is the next generation of IP addresses. The main difference between IPv4 and IPv6 is the address size of IP addresses. The IPv4 is a 32-bit address, whereas IPv6 is a 128-bit hexadecimal address. IPv6 provides a large address space, and it contains a simple header as compared to IPv4.

It provides transition strategies that convert IPv4 into IPv6, and these strategies are as follows:

Dual stacking: It allows us to have both the versions, i.e., IPv4 and IPv6, on the same device.

Tunneling: In this approach, all the users have IPv6 communicates with an IPv4 network to reach IPv6.

Network Address Translation: The translation allows the communication between the hosts having a different version of IP.

This hexadecimal address contains both numbers and alphabets. Due to the usage of both the numbers and alphabets, IPv6 is capable of producing over 340 undecillion (3.4*10³⁸) addresses.

IPv6 is a 128-bit hexadecimal address made up of 8 sets of 16 bits each, and these 8 sets are separated by a colon. In IPv6, each hexadecimal character represents 4 bits. So, we need to convert 4 bits to a hexadecimal number at a time

Address format

The address format of IPv4:

The address format of IPv6:

The above diagram shows the address format of IPv4 and IPv6. An IPv4 is a 32-bit decimal address. It contains 4 octets or fields separated by 'dot', and each field is 8-bit in size. The number that each field contains should be in the range of 0-255. Whereas an IPv6 is a 128-bit hexadecimal address. It contains 8 fields separated by a colon, and each field is 16-bit in size.

Differences between IPv4 and IPv6

| Ipv4 | Ipv6
Address length | IPv4 is a 32-bit address. | IPv6 is a 128-bit address.
Fields | IPv4 is a numeric address that consists of 4 fields which are separated by dot (.). | IPv6 is an alphanumeric address that consists of 8 fields, which are separated by colon.
Classes | IPv4 has 5 different classes of IP address that includes Class A, Class B, Class C, Class D, and Class E. | IPv6 does not contain classes of IP addresses.
Number of IP address | IPv4 has a limited number of IP addresses. | IPv6 has a large number of IP addresses.
VLSM | It supports VLSM (Virtual Length Subnet Mask). Here, VLSM means that Ipv4 converts IP addresses into a subnet of different sizes. | It does not support VLSM.
Address configuration | It supports manual and DHCP configuration. | It supports manual, DHCP, auto-configuration, and renumbering.
Address space | It generates 4 billion unique addresses | It generates 340 undecillion unique addresses.
End-to-end connection integrity | In IPv4, end-to-end connection integrity is unachievable. | In the case of IPv6, end-to-end connection integrity is achievable.
Security features | In IPv4, security depends on the application. This IP address is not developed in keeping the security feature in mind. | In IPv6, IPSEC is developed for security purposes.
Address representation | In IPv4, the IP address is represented in decimal. | In IPv6, the representation of the IP address in hexadecimal.
Fragmentation | Fragmentation is done by the senders and the forwarding routers. | Fragmentation is done by the senders only.
Packet flow identification | It does not provide any mechanism for packet flow identification. | It uses flow label field in the header for the packet flow identification.
Checksum field | The checksum field is available in IPv4. | The checksum field is not available in IPv6.
Transmission scheme | IPv4 is broadcasting. | On the other hand, IPv6 is multicasting, which provides efficient network operations.
Encryption and Authentication | It does not provide encryption and authentication. | It provides encryption and authentication.
Number of octets | It consists of 4 octets. | It consists of 8 fields, and each field contains 2 octets. Therefore, the total number of octets in IPv6 is 16.

Next Topic Computer Network Tutorial

← prev next →

# data[].attributes.attachment_link.description
IPv4 vs IPv6 with Tutorial, features, types of computer network, components, cables and connectors, Router, Intranet, Modem, Uses Of Computer Network, Hub, Software and Hardware, etc.

# data[].attributes.body
ICMP (Internet Control Message Protocol)
ICMP is a type of protocol that communicates to the source device of any potential traffic related issues.
ICMP is usually used by a router or host to tell the origin point why the transmission failed

Errors include:
-Router unable to route to destination or host
-Expiry of TTL field
-Port not reachable

The ICMP packet contents provide the data for error reporting, this is usually automated and not mean to be read by humans

1st field (type field)
-8bit field that specifies the type of message being delivered ie: dest, unreachable, time exceeded

2nd field(code field)
-a more specific message ie: destination unreachable, port unreachable, or destination network unreachable

Data Section field:
- this exists so the recipient of the messages knows what part of the transmission caused the error to be reported

ping command is just a special type of ICMP called an 'echo request'

# data[].attributes.body
When it comes to computer networking, a port is a way a computer can use a physical network connection to handle numerous incoming and outgoing requests by assigning a port number to each.

Two tools that are used in the Transport layer
netcat - Linux/macOS
Test-NetConnection - Windows

netcat tool can be run through the command nc and has 2 mandatory arguments, a HOST and a PORT

nc host
nc host port

- port flag - to test connectivity to a specific port.

How does it use in troubleshooting?
To verify the server is listening on the specific network port and determine whether the application is listening.

# data[].attributes.body
Port connectivity refers how a computer uses a single physical network connection to handle many incoming and outgoing requests by assigning a port number to it.
During troubleshooting, ensure network cables are plugged into the network ports, restart your computer, register wired network interface and both network ports are working properly. Try to connect through another network port and cable.

# data[].attributes.body
Definition:
The Internet Control Message Protocol (ICMP) is a network layer protocol used by network devices to diagnose network communication issues.

Fields:
Type : This ICMP field explains type of error
Code : This field describes and gives reason for the error
Checksum : Checksum value of the message to check authenticity and correctness

ICMP Error messages :

ICMP error messages are used to report non-transient delivery problems. ICMP provides two sets of error messages: one for IPv4 and another for IPv6. The following table lists all ICMP error messages.

Error Reporting codes:

ICMP message type | Description | Codes | IP Version
3 | Destination Unreachable | 0 - 15 | IPv4
5 | Redirect | 0 - 3 | IPv4
11 | Time Exceeded | 0 - 1 | IPv4
12 | Parameter Problem | 0 -2 | IPv4
4 | Source Quench (Deprecated) | NA | IPv4
1 | Destination Unreachable | 0 - 8 | IPv6
2 | Packet Too Big | 0 | IPv6
3 | Time Exceeded | 0 - 1 | IPv6
4 | Parameter Problem | 0 - 10 | IPv6

Destination unreachable:

This error message indicates that the destination host, network, or port number that is specified in the IP packet is unreachable. This could happen due to a lot of reasons such as the destination host device is down, an intermediate router is unable to find a path to forward the packet, and a firewall is configured to block connections from the source of the packet.

Source Quench:

This message indicates that either the destination host or an intermediary router (or device) is receiving more data than it can process. If a source receives this error message, it can reduce the rate of transfer to solve this issue

Redirect:

This error message is used when a router needs to tell a sender that it should use a different path for a particular destination. Usually, it happens when the router knows a shorter path to the destination

Time Exceeded:

This message indicates that the Time-To-Live value of the datagram has reached zero but the datagram has not yet been reached the final destination. A destination system can also send this error when it does not receive all fragments on an IP datagram within the allotted time.

Parameter Problem:

If a device finds a problem that is not covered in any ICMP message type, it sends a parameter problem message to the sender. In IPv4 network, usually it occurs when arguments to an option are incorrect. In IPv6, this error occurs when the value in the header field is out of the range, or one of the options is not recognized, or the value in the type or code field is invalid.

Packet too big:

This error occurs when a datagram is too big for a network over which it must travel. To report this problem, ICMP uses different message types and codes in both versions of IP. In IPv4, it uses a destination unreachable message with the code field set to 4. In IPv6, it uses a packet too big message which has a type field of 2

# data[].attributes.body
The Internet Control Message Protocol (ICMP) is a network layer protocol used by network devices to diagnose network communication issues. ICMP is mainly used to determine whether data is reaching its intended destination in a timely manner, and it is also, and it is also an auxiliary protocol which provides diagnostic information when requested. ICMP can be divided into two broad categories.

ICMP Error-reporting Messages:

Error reporting messages are generated when, during the processing of any internet packet, a host encounters a problem:

·       Error reporting and,

·       Query

*ICMP Error-reporting Messages:

Error reporting messages are generated when, during the processing of any internet packet, a host encounters a problem.

*Query Messages:

Query messages, on the other hand, are generated when requested.

Error Reporting messages

·       Destination unreachable

The message of “Destination unreachable” is passed to the sender when the receiver could not be contacted, or the packet was discarded because the ultimate destination could not be contacted.

·       Source Quench

It is a message from one host to another asking the other host to slow down the speed at which the packets are being sent. Source Quench is one of the ways to control the packet flow on the internet.

·       Time Exceeded

Also known as TTL Time Exceeded, this is an interesting message generated using ICMP.

·       Parameter problem

Sometimes, problems might not specifically be covered by any ICMP messages. In that case, Parameter Problem is shown.

·       Redirection

ICMP redirect messages direct a host to deliver the next packet for the same destination IP address to a different router.

# data[].attributes.headline
Group 6 Ping: Ping is the first command that needs to be issued when there is a need to find out whether a certain host is "alive" or not. It is mostly used when facing network reachability problems. Ping uses the service of the ICMP. Hence it is operated on the Network layer. Since traffic reliability is not a matter of issue, ping does not use the services of the Transport layer. Ping performs a perfect host lookup. Ping is regularly compared to traceroute when it is troubleshooting. Both have their own advantages and disadvantages. How to operate?Open a command prompt window and type in PING (Ip of the host) if DNS (URL of destination)The extended ping command, which issues continuous echo request messages PING -t (IP address of the host). It operates the same way in other OS like Unix, Cisco machines 

# data[].attributes.subject
Group 6 Ping: Ping is the first command that needs to be issued when there is a need to find out whether a certain host is "alive" or not. It is mostly used when facing network reachability problems. Ping uses the service of the ICMP. Hence it is operated on the Network layer. Since traffic reliability is not a matter of issue, ping does not use the services of the Transport layer. Ping performs a perfect host lookup. Ping is regularly compared to traceroute when it is troubleshooting. Both have their own advantages and disadvantages. How to operate?Open a command prompt window and type in PING (Ip of the host) if DNS (URL of destination)The extended ping command, which issues continuous echo request messages PING -t (IP address of the host). It operates the same way in other OS like Unix, Cisco machines 

# data[].attributes.attachment_link.readable_text
When it comes to Ping vs Traceroute, they both have their advantages in helpint to troubleshoot connections.

The PING utility is one of the most famous and most helpful networking commands. It's the first command that comes to mind when facing network reachability problems. It's also the first command that needs to be issued when there is a need to find out whether a certain host is "alive" or not.

The ping command uses the services of the Internet Control Message Protocol (ICMP), the latter being encapsulated in the IP header. Therefore, the ping utility operates basically on layer 3 (the Network layer) of the OSI model. It does not use the services of the Transport layer, and the reason for that is that traffic reliability issues are not the case here. Ping performs a simple host lookup.

TRACEROUTE is another very helpful utility that operates similarly to ping and also uses the services of the ICMP protocol. Traceroute, as the name implies, is used to trace the path between the sender and the destination host. It is a one-way trace, meaning that it traces the route from the source to destination and not the other way around, which by the way, may follow a different path. Traceroute also uses the services of User Datagram Protocol (UDP), in specific implementations, as the transport layer for a specific reason that we'll go into further on.

So first, lets start with an overview of ICMP protocol and then we can get into the details of how ping and traceroute use this protocol to perform their tasks.

Internet Control Message Protocol (ICMP)

ICMP is a Network layer protocol that belongs to the group of control protocols similar to ARP and RARP. ICMP protocol has been designed with the unreliable characteristics of the IP protocol in mind. Due to this unreliability and connectionless behavior of IP, there was no way of informing the originator host that something went wrong during data transmission. ICMP has been designed to provide this function.

ICMP messages report back to the sender when something unexpected occurs, giving the person a clue of what might have gone wrong. I want to remind you that ICMP does not solve the reliability issues of IP; that is up to the upper layer (the Transport layer) to perform. ICMP messages are encapsulated in IP packets as seen below:

Image 1: ICMP Encapsulation

ICMP messages use the following format:

Image 2: ICMP Message Format

The most important ICMP message types are listed below:

Image 3: Important ICMP Message Types

Troubleshooting with PING

Lets take a look at the behavior of the ping command with the help of Ethereal application. First, to launch the ping command the simplest way is to open a command prompt window and type in PING [ip address of the host to reach], or if DNS service is running type in PING [URL of the destination host]. Sometimes, the extended ping command, which issues continuous echo request messages, is very helpful. The format of this command is PING -t [IP address of the host]. The ping command operates the same way in Windows, Unix, Cisco machines and in every other networking device. The principle is the same, even though variations on the extended functions of the command may exist.

In the next image you can see a ping command towards the URL of Trainsignal.com. DNS query is performed first to translate the URL to an IP address, and then four echo request message types are transmitted. Transmit packets are time stamped. When the remote host receives these echo requests, inside the echo reply messages it includes the timestamp enclosed in the echo request. Upon receiving the reply message and performing simple calculations, the round trip delay time is revealed and noted:

Image 4: Executing the Ping Command

Looking at the Ethereal trace, you can see that the echo request ICMP message has the type field value set to 8. This is the standard value for echo request messages. Also notice that the TTL field has the value of 128 (Common value for Windows platforms). This value indicates the number of hops the packet is allowed to traverse before getting dropped. This value, due to scattering of networks, should have a great value -- anything above 64. Cisco machines use a TTL value of 256.

Image 5: Echo Request Message Encapsulation

Below you can see one of the echo reply messages as captured by Ethereal tool. It can be seen that the ICMP echo reply message has a type value 0 (zero):

Image 6: Echo Reply Message Encapsulation

Troubleshooting with TRACEROUTE

The traceroute command operates similarly to ping. On Cisco routers and Unix platforms the layout of the command is: TRACEROUTE [destination IP address] or TRACEROUTE [URL of the destination host]. On Windows machines the function of traceroute comes with the command TRACERT (short for trace route), which operates in a slightly different manner than in Cisco and Unix platforms (details on this are below). Traceroute uses a clever way to capture the footprint of a packet's journey. We will use an imaginary example (see the next image) to help us investigate how traceroute achieves its purpose:

RouterA prepares an ICMP echo request message, encapsulates it in an IP packet having Source address=172.16.1.1, Destination address=192.168.7.2 with Time-To-Live (TTL) value=1, Destination UDP port= anything not used (usually greater than 30000) and forwards it.

RouterB, upon receiving this packet, decrements one unit from TTL value, hence TTL becomes 0, which means that it has to drop this packet. It replies back to the sender with an ICMP Time exceeded message, including its source address in the SA field of the IP header (SA=172.16.1.2).

RouterA receives the response and prints out on the screen the first hop (IP address=172.16.1.2).

Afterwars, RouterA sends the same echo request message with TTL value=2.

RouterB decrements it by one and forwards it to RouterC which decrements by one again (TTL=0), forcing it to return an ICMP time exceeded message with SA=192.168.1.2.

RouterA now prints out the second hop on screen (IP address=192.168.1.2).

Finally RouterA sends an ICMP echo request with TTL value=3 which is terminated on RouterD. The latter passes the packet to the transport layer where the wrong UDP port number causes RouterD to issue an ICMP Port Unreachable message.

RouterA upon receiving this message from RouterD knows that it has reached the final hop which prints out on screen and stops sending any more messages.

Image 7: Traceroute Example

A Real Example of Traceroute

Now that we understand how traceroute works, lets see how it behaves in a real situation. Using command prompt under Windows host, TRACERT to www.trainsignal.com is issued. The result is shown in the image below:

Image 8: Printout of TRACERT Command

By looking at the image above, you can see that each ICMP echo request message is repeated three times before the sender increments the TTL value and resend the request message. The three round trip delay times for all three messages are included at the beginning of each hop. A couple of request timed out messages come from routers that are configured not to respond to ICMP echo request messages.

The image below shows the content of the echo reply message received from trainsignal.com (message number 20 as shown on figure 8). Although we would expect an ICMP message with type value=3 (Port Unreachable), a TTL exceeded message (type=11) is received. This difference comes from the fact that in Windows platforms UDP ports are not used.

Image 9: Time Exceeded Message from Destination Host

The Windows platforms, upon receiving an echo reply message from the final destination, issue three more echo request messages to that host; hence the last noted echo reply message on in the iamge above.

What Can Ping and Traceroute Do for You?

Ping and traceroute commands can be very helpful -- if used appropriately. Use the PING command when the existence of a host is what interests you. Use TRACEROUTE in Cinsco and Unix or TRACERT in Windows to get an idea of what route your packets take to reach their destination.

Do NOT rely on traceroute to give you the exact route path of your packets. Keep in mind that ICMP operates on top of IP. Also, remember that IP is unreliable, meaning that not every packet towards the same destination always takes the same path. Moreover, received messages may follow different paths each time, so make sure to treat traceroute results cautiously.

Both ping and traceroute are extremely important in exposing hidden network malfunctions besides basic troubleshooting. Talking from personal experience, extended ping utility has once exposed a hardware glitch which had the symptom of dropping packets randomly during peak hour traffic. Therefore, don't forget to take advantage of ping's special capabilities.
Ready to test your skills in CISCO? See how they stack up with this assessment from Smarterer. Start this CISCO test now

# data[].attributes.attachment_link.title
Ping vs Traceroute: How to Troubleshoot Your Connections

# data[].attributes.attachment_link.description
When it comes to Ping vs Traceroute, they both have their advantages in helpint to troubleshoot connections. The PING utility is one of the most famous and most helpful networking commands.

# data[].attributes.body
An individual computer accepts information sent over from the internet by using TCP or UDP ports.

You have an IP address, and then many ports on that IP address. You can have a total of 65,535 TCP Ports and another 65,535 UDP ports. When a program on your computer sends or receives data over the Internet it sends that data to an ip address and a specific port on the remote computer, and receives the data on a usually random port on its own computer. If it uses the TCP protocol to send and receive the data then it will connect and bind itself to a TCP port. If it uses the UDP protocol to send and receive data, it will use a UDP port.

ping/vmkping to troubleshoot network connectivity between two servers.

telnet to troubleshoot TCP port connectivity.

netcat (nc) to troubleshoot TCP port connectivity.

openssl to troubleshoot SSL port connectivity and verify SSL certificate information.

tcpdump and tcpdump-uw to collect packet traces to troubleshoot network issues.

netstat and esxcli network to view active TCP/UDP connections to the host.

Note: The telnet and nc tools help you to check if a TCP port is online or if there is a firewall blocking access to a TCP port.

# data[].attributes.body
nslookup (from n ame s erver lookup)is a network administration command-line tool for querying the Domain Name System to obtain the mapping between domain name and IP address, or other DNS records. With Nslookup, you can find the IP address of any website by its name and also find the detailed information of the various DNS records of the specific domain name.

With Nslookup, you can find the IP address of any website by its name and also find the detailed information of the various DNS records of the specific domain name.The TCP/IP protocol must be installed on the computer running Nslookup.exe

At least one DNS server must be specified in the DNS Service Search Order field on the DNS tab of the Microsoft TCP/IP Properties page.

Nslookup will always devolve the name from the current context. If you fail to fully qualify a name query (that is, use trailing dot), the query will be appended to the current context. For example, the current DNS settings are att.com and a query is performed on www.microsoft.com; the first query will go out as www.microsoft.com.att.com because of the query being unqualified. This behavior may be inconsistent with other vendor's versions of Nslookup, and this article is presented to clarify the behavior of Microsoft Windows NT Nslookup.exe

If you have implemented the use of the search list in the Domain Suffix Search Order defined on the DNS tab of the Microsoft TCP/IP Properties page, devolution will not occur. The query will be appended to the domain suffixes specified in the list. To avoid using the search list, always use a Fully Qualified Domain Name (that is, add the trailing dot to the name).

# data[].attributes.body
In computer networking, a port is a communication endpoint. At the software level, within an operating system, a port is a logical construct that identifies a specific process or a type of network service. A port is identified for each transport protocol and address combination by a 16-bit unsigned number, known as the port number. The most common transport protocols that use port numbers are TCP: Transmission Control Protocol and UDP: User Datagram Protocol.

Troubleshooting Port Problems

Failures of the serial, parallel, and game ports tend to end with poor or no operation of the peripheral. Generally, there are only four possible causes for a problem with a device connected to an I/O port:

·       The port is defective.

·       The software is not configured properly for the port (that is, the resource allocation, speed, or protocol settings do not match).

·       The connecting signal cable is bad.

·       The attached device is not functional.

How to verify the server is listening on the specific network port and determine the application listening

1. Open an administrator cmd window.

2. Run the following command: netstat -ano | find ":<port number> "  Replace <port number> with the specific port number being verified.  For a list of commonly used ports see Section 3 in this article.

3. Take note of the rightmost number.  This is the PID (Process ID)

4. Run the following command: tasklist | find " <PID> "  Replace <PID> with the PID discovered from step 3.  The leftmost entry is the name of the executable listening on the network port.

# data[].attributes.body
The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol address It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communicating with another IP address, for example, an error is indicated when a requested service is not available or that a host or router could not be reached.[2] ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications (with the exception of some diagnostic tools like ping and traceroute).

ICMP for IPv4is defined in RFC 792. A separate ICMPv6, defined by RFC 4443, is used with IPv6.

The ICMP message contains the following fields:

Type: It is an 8-bit field. It defines the ICMP message type. The values range from 0 to 127 are defined for ICMPv6, and...

Code: It is an 8-bit field that defines the subtype of the ICMP message

Checksum: It is a 16-bit field to detect whether the error exists in the message or not.

# data[].attributes.body
ping: we can use it to check whether an ip address can be recached and also we can use it through a web
traceroute: we can use it daily
ipconfig: rounding out the last three are windows ,Linux ,Unix when we need to know the ip address of the host that we are working on
netstat: a useful command line network that allows you to display the network connection 2
putty: the need for a remote console can not be overstated especially with Linux or unix
Nslookup : that we can use for windows linux unix and mac

# data[].attributes.body
Ping: Ping is a super simple program and the basics are the same no matter which operating system you're using. Ping let's you send a special type of ICMP message called an echo request. If the destination is up and running and able to communicate on the network, it will send back an ICMP echo reply message type.

Output of the Ping Command is very similar across each of the different operating systems. Every line of output will generally display the adverse sending the ICMP Echo reply, and how long it took for the round trip communications. It will also have the TTL remaining and how large the ICMP message is in bytes. Once the command ends, there will also be some statistics displayed, like percentage of packets transmitted and received, the average round trip time, and a couple other things like that. On Linux and Mac OS, the Ping Command will run until it's interrupted by an end user sending an interrupt event. They do this by pressing the control key and the C key at the same time. On Windows, Ping defaults to only sending 4Echo requests.

Tracert: On Windows, the Traceroute command has a shortened name tracert, and defaults to using ICMP echo request. Traceroute is an awesome utility that lets you discover the paths between two nodes, and gives you information about each hop along the way. The way traceroute works is through a clever manipulation technique of the TTL field at the IP level.

Two more tools that are similar to traceroute are mtr on Linux and MacOS and pathping on Windows.

Nslookup: It is a name resolution tool and available on all three of the operating systems we've been discussing, Linux, Mac, and Windows. A basic use of nslookup is pretty simple. You execute the nslookup command with the host name following it. And the output displays what server was used to perform the request and the resolution result. Let's say you needed to know the IP address for twitter.com. You would just enter nslookup twitter.com and the A record would be returned.

Test-NetConnection Displays diagnostic information for a connection. It is similar to Netcat in Linux.

The Test-NetConnection cmdlet displays diagnostic information for a connection. It supports ping test, TCP test, route tracing, and route selection diagnostics. Depending on the input parameters, the output can include the DNS lookup results, a list of IP interfaces, IPsec rules, route/source address selection results, and/or confirmation of connection establishment.

# data[].attributes.body
It is a primary protocol in the Internet Protocol Suite. It is used by network devices to relay an error message and management queries. It helps to reroute the message to its right course. The ICMP is the best-known protocol for the PING command in Windows and Unix OS. The ICMP protocol is also considered an essential part of IP. However, it is built upon IP (it relies on IP to transmit its data from one end to another end). Thus ICMP, ICMP must be implemented in all IP modules. The general role of the ICMP is to generate error packets about the network.

The ICMP messages are categorized into two:

1. Error reporting messages

2. Query messages

The two are further categorized into the types of messages. The ICMP messages are relayed in IP datagrams; The IP header always has number 1 (protocol number) showing of ICMP and the type of service 0 for routine.

ICMP has numeric message codes.

0: Echo reply

3: Destination not reached or unreachable

The ICMP message contains the following fields: 1 Type: It is an 8-bit field. It defines the ICMP message type. 2 Code: It is an 8-bit field that defines the subtype of the ICMP message 3 Checksum: It is a 16-bit field to detect whether the error exists in the message or not.

# data[].attributes.body
IPv4 and IPv6 are internet protocol version 4 and internet protocol version 6, IP version 6 is the new version of Internet Protocol, which is way better than IP version 4 in terms of complexity and efficiency.

Difference Between IPv4 and IPv6:

1. IPv4 has a 32-bit address length whereas IPv6 has a 128-bit address length
2. IPv4 Supports Manual and DHCP address configuration whereas IPv6 supports Auto and renumbering address configuration
3. Address representation of IPv4 is in decimal whereas Address Representation of IPv6 is in hexadecimal
4. IPv4 has broadcast Message Transmission Scheme whereas in IPv6 multicast and anycast message transmission scheme is available
5. IPv4 has a header of 20-60 bytes whereas IPv6 has header of 40 bytes fixed
6. In IPv4 checksum field is available whereas in IPv6 checksum field is not available
7. IPv4 consist of 4 fields which are separated by dot (.) whereas IPv6 consist of 8 fields, which are separated by colon (:)
8. IPv4’s  IP addresses are divided into five different classes. Class A , Class B, Class C , Class D , Class E whereas IPv6 does not have any classes of IP address
9. IPv4 supports VLSM(Variable Length subnet mask) whereas IPv6 does not support VLSM
10. Example of IPv4:  66.94.29.13 and Example of IPv6: 2001:0000:3238:DFE1:0063:0000:0000:FEFB

# data[].attributes.body
In Networking, ports are virtual recepticles. Think of them as 'doors' allowing data it's own dedicated channel.

Each is allotted a number, (a room number) which determines where the data will be recieved.

Client having issues connecting? In addition to performing PING and netcat procedures the following is an additional  ways to test for port related issues.

HOW TO DETERMINE IF THE SERVER IS LISTENING ON ITS PORT.

1.Enter CMD window.
2.Type   netstat -ano | find ":<port#>"
3. The right most number is your PID (process ID)
4.CMD window
5.Type tasklist | find "<PID>"
6.The left most number is the name of your listening port and will determine it's status.

# data[].attributes.headline
Group 6      D-Domain   I - Information  G-Groper         

# data[].attributes.subject
Group 6      D-Domain   I - Information  G-Groper         

# data[].attributes.body
DIG is a command line function exclusive to Linux OS that is not only just as easy to use as nslookup, but offers considerably more information for the same effort.

With DIG, you specify all aspects of the query you'd like to send on the command line - the domain name you want to look up as an argument, and the type of query you want to send (e.g., a for address records, mx for MX records) as another argument; the default is to look up address records.

You specify the name server you'd like to query after an "@." You can use either a domain name or an IP address to designate a name server.

In Command Line -
1. Dig @yahoo.ca

DIG returns much more information than nslookup.
You will recieve hops, query time, server, size of file, day of creation etc...

Too much information? Adding +short will decrease the verbosity.

In Command Line
1.Dig @yahoo.ca +short

SEE IT IN ACTION BELOW

$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org

; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;cardiff.tzmchapters.org.   IN  A

;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600   IN  CNAME   ghs.google.com.

;; AUTHORITY SECTION:
google.com.     3600    IN  SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600

;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE  rcvd: 128

# data[].attributes.body
1. PING

In any of the network issue, you probably want to use ping tool first to check the connection with the destination server if ICMP is enabled. This is very basic but most important tool used as network troubleshooting tools.

2. NETSTAT

This is another important network troubleshooting tools where you can check all the tcp and udp connections established with the Server. This tool is used to gather a wide range of information of network topology like no of connections, no of Listening connections, local and remote IP addresses and ports.

3. NETCAT

It first surfaced in 1995.It is one of the most popular and very lightweight network troubleshooting tools to date. It lets two computer transfer data with each other using TCP and UDP protocols via Network Layer Protocol IP. The name may have derived from common command cat we use in Linux. You can initiate a connection and check the port reachability of remote server using nc command as shown below.

4. TRACEPATH

This tool is very similar like traceroute tool. You will find this command already installed in Ubuntu Systems. If you want to check and verify the network path and network delay caused by any of the hops between source to destination, then tracepath tool is the best network troubleshooting tools to use in Ubuntu Machine as you can see below.

5. TELNET

This tool will not be available by default in your system. You need to download and install in your Linux machine to use it. You can use yum install telnet to install in RedHat/CentOS based System and sudo apt-get install telnet in Ubuntu based Systems.

6. CURL

Sometime you might not get telnet or netcat tool in a security enhanced server, there curl tool can become very handy to check the port reachability for any remote Service. Usually you will find this tool installed in your Linux system by default so you don't have to take overhead of installing it separately.

7. ETHTOOL

If you are observing any slowness in network due to parameters mismatch between switch and local interface, then probably ethtool will be the best tool to use to check all the parameters configured on host end.

8. IP ADDR SH

You might be habitual of using ifconfig -a command in previous RedHat/Centos based system to check the network interface and IP associated with it. In recent released version, you might not able to use ifconfig command anymore. You need to use ip addr show command to check the interface and ip associated with it as shown below.

# data[].attributes.body
Tools like Ping Sweep, DNS Analyzer and TraceRoute can be used to perform robust network diagnostics and quickly resolve complex network issues. And if your concerns are with security, you can use some of the toolset’s tools to simulate attacks on your network and help identify vulnerabilities.

Ping Sweep lets you scan a range of IP addresses to see which ones are in use. You can also use this tool to perform reverse DNS lookups. The Engineer’s Toolset also includes a wide set of administrator tools for configuration management, diagnostics, IP monitoring, log management, network discovery and monitoring, and security.

# data[].attributes.body
Ping command: Ping is part of the iputils (or iputils-ping) package, pre-installed on nearly all Linux distributions. There are many additional ping options and variations but the basic syntax is: ping [option] [hostname] or [IP address]. Ex. ping google.com.

IP Command: The tool is similar to the ifconfig command, but it is much more powerful and has more functions and facilities. The syntax for the IP command is as follows: [OPTION] OBJECT {COMMAND | help}. Ex. ip route list

NSLookup command: NSLookup is a network administration command-line tool for querying the Domain Name System (DNS) to obtain the mapping between a domain name and IP address. The syantax is as follows  nslookup [-option] [name | -] [server] but admits other options. Ex.nslookup redhat.com.

Dig command (Domain Information Groper): Dig is a network administration command-line tool for querying the DNS. The basic syntax for dig command in Linux is as follows:

dig Hostname,

dig DomaiNameHere

dig @DNS-server-name Hostname

dig @DNS-server-name IPAddress

dig @DNS-server-name Hostname|IPAddress type

Ex. dig www.cyberciti.biz

Ethtool: Ethtool is a tool used for troubleshooting in a Linux network. It is primarily used to query and control Ethernet devices, including driver and hardware settings on Linux systems. Ethtool can also be used to find important information about connected Ethernet devices on your Linux network. Ex. ethtool eth0

Traceroute and Tracepath: Traceroute is a tool in Linux that allows you to investigate the routes of network packets and identify the limiting factor in their journeys. Traceroute is also helpful for mapping local networks and troubleshooting sluggish connections. Ex. traceroute google.com

route command: The route command is used to view and make changes to the kernel routing table on Linux, BSD, and other Unix-like systems. It sets up static routes to specific hosts or networks through an interface after it has been configured.  Ex.

route [-nNvee] [-FC] [<AF>]           List kernel routing tables

NETCAT and NCAT: Netcat is a tool for reading from and writing to network connections using TCP or UDP. It is a feature-rich network troubleshooting and investigation tool.

Ex. nc -h

# data[].attributes.body
Troubleshooting network and TCP/UDP port connectivity issues using these troubleshooting tools:

ping/vmkping to troubleshoot network connectivity between two servers.

telnet to troubleshoot TCP port connectivity.

netcat (nc) to troubleshoot TCP port connectivity.

openssl to troubleshoot SSL port connectivity and verify SSL certificate information.

tcpdump and tcpdump-uw to collect packet traces to troubleshoot network issues.

netstat and esxcli network to view active TCP/UDP connections to the host.

Note: The telnet and nc tools help you to check if a TCP port is online or if there is a firewall blocking access to a TCP port.

# data[].attributes.body
As windows is more GUI based we can find not only command line tools but also visual software that allows to monitor the network problems on a more user friendly way:

1. ping:  Simple command-line utility that checks on the speed of connections.

2. tracert: command-line utility that lists the probable hops to a network or internet destination address.

3. Ipconfig: This command-line tool reports the IPv4 and IPv6 addresses, subnets, and default gateways for all network adapters on a PC.

4. Netstat: This tool displays active connections on your computer.

5. Nslookup: available for Windows, Unix, Linux, and Mac OS, this tool gives you DNS server diagnostics.

6. Sysinternals: set of Microsoft tools for Windows that help troubleshoot and configure Active Directory.

7. Wireshark : packet sniffer that will help you analyze traffic flows.

8. Nmap: Network security and monitoring tool that needs a companion utility, Zenmap, as a user interface.

With the addition on the last versions of part of the linux kernel to windows some of the tools are now available windows through the powershell of the windows OS.

# data[].attributes.attachment_caption
Ping is a simple way to check for a response from a host.

# data[].attributes.body
What is a ping?

A ping (Packet Internet or Inter-Network Groper) is a basic Internet program that allows a user to test and verify if a particular destination IP address exists and can accept requests in computer network administration. The acronym was contrived to match the submariners' term for the sound of a returned sonar pulse.

Ping is also used diagnostically to ensure that a host computer the user is trying to reach is operating. Any operating system (OS) with networking capability, including most embedded network administration software, can use ping.

or example, to find the dot address, such as 205.245.172.72, for any given domain name, Windows users can go to the command prompt screen (start/run/cmd) and enter ping xxxxx.yyy, where xxxxx is the second-level domain name, like "whatis," and yyy is the top-level domain name, like "com." Ping is a simple way to check for a response from a host.

Ping on a speed test

The term is also used to test and determine how fast a data signal travels from one place, like a computer, to another, like a website. Ping is also used to troubleshoot and test connectivity and determine response time.

How does ping work?

Ping works by sending an Internet Control Message Protocol (ICMP) Echo Request to a specified interface on the network and waiting for a reply. When a ping command is issued, a ping signal is sent to a specified address. When the target host receives the echo request, it responds by sending an echo reply packet. This approach serves two specific purposes: verifying that the target host is available and determining round-trip time (RTT) or latency.

RTT is a measure of how long it took to receive a response. Measured in milliseconds (ms), the process starts when a browser sends a request to a server and is completed when a response from the server is received. RTT is a key performance metric of web applications.

By default, ping commands send multiple requests usually four or five and display the results. The echo ping results show whether a particular request received a successful response. It also includes the number of bytes received and the time it took to receive a reply or the time-to-live. With pinging, a target host receives an echo request to which it responds by sending an echo reply packet.

How to use ping in troubleshooting?

Echo requests and echo responses form the standard for troubleshooting ICMP messages. Virtually every OS with network support includes ping for troubleshooting purposes. However, the exact implementation varies slightly among manufacturers.

Ping is the cornerstone of standard network troubleshooting. For example, an IP address can be pinged by typing in 172.168.9.13. If the ping is successful, it means that it is on, and the two machines can talk to each other.

However, if the ping is successful but the response time is long, it indicates network congestion, routing or speed issues. Even pings that are unsuccessful offer valuable troubleshooting information. When it comes to network speed tests, ping is the standard.

What is ping in gaming?

Ping is also useful for online gaming. It measures the time it takes for the signal to transmit from a computer or console to a server.

Source: techtarget.com