The Internet Control Message Protocol (ICMP) is one of the core protocols of the Internet protocol suite. It is chiefly used by networked computers’ operating systems to send error messages—indicating, for instance, that a requested service is not available or that a host or router could not be reached, the below are the 16 error codes for ICMP.
0 – Network unreachable – Tells you if a specific network is currently unreachable.
1 – Host unreachable – Tells you if a specific host is currently unreachable.
2 – Protocol unreachable – This code tells you if a specific protocol (tcp, udp, etc) can not be reached at the moment.
3 – Port unreachable – If a port (ssh, http, ftp-data, etc) is not reachable, you will get this message.
4 – Fragmentation needed and DF set – If a packet needs to be fragmented to be delivered, but the Do not fragment bit is set in the packet, the gateway will return this message.
5 – Source route failed – If a source route failed for some reason, this message is returned.
6 – Destination network unknown – If there is no route to a specific network, this message is returned.
7 – Destination host unknown – If there is no route to a specific host, this message is returned.
8 – Source host isolated (obsolete) – If a host is isolated, this message should be returned. This code is obsoleted today.
9 – Destination network administratively prohibited – If a network was blocked at a gateway and your packet was unable to reach it because of this, you should get this ICMP code back.
10 – Destination host administratively prohibited – If you where unable to reach a host because it was administratively prohibited (e.g., routing administration), you will get this message back.
11 – Network unreachable for TOS – If a network was unreachable because of a bad TOS setting in your packet, this code will be generated as a return packet.
12 – Host unreachable for TOS – If your packet was unable to reach a host because of the TOS of the packet, this is the message you get back.
13 – Communication administratively prohibited by filtering – If the packet was prohibited by some kind of filtering (e.g., firewalling), we get a code 13 back.
14 – Host precedence violation – This is sent by the first hop router to notify a connected host, to notify the host that the used precedence is not permitted for a specific destination/source combination.
15 – Precedence cutoff in effect – The first hop router may send this message to a host if the datagram it received had a too low precedence level set in it.