Home > Articles > Software Development & Management

  • Print
  • + Share This

Internet Control Message Protocol

With the vast amount of traffic being carried across networks, there needed to be some mechanism for managing the overall infrastructure and determining things such as connection status, traffic flow, and availability. To handle these tasks, the Internet Control Message Protocol (ICMP) was developed. ICMP was designed to carry error, control, and informational messages. It also provides some excellent capabilities such as determining whether a destination is reachable, testing how long it takes to get to a particular destination, discovering what route a packet might take to get to a particular destination, and telling other network systems to slow down their rate of packet transmission.

Although originally designed with good intentions, ICMP has become the most popular mechanism for executing Denial of Service (DOS) attacks, which are designed to disrupt, delay, or destroy legitimate network communications. (See Chapter 26, "Distributed Denial of Service Attack Survivability," for more information on DOS attacks). Due to the rise in both the destructiveness and popularity of ICMP-based DOS attacks, many organizations block or deny any inbound ICMP packets from external sources.

ICMP packets are sent using the same header structure as IP packets with the Protocol Field set to "1" to indicate that it is an ICMP packet. Each packet also contains a type, which indicates what type of ICMP message it is, and a code field, which tells you what the message really means. For example, an ICMP packet with a type of 3 and a code of 1 tells you this is a "Destination Unreachable" message and, more specifically, a "Host Unreachable" message, usually indicating that you are unable to communicate with the intended destination. With more and more organizations blocking ICMP, but allowing specific TCP and UDP services, these messages can no longer be relied on to provide reliable information about the status or location of a destination. Table 3.2 shows some common ICMP message types and their corresponding codes.

Table 3.2 ICMP Message Types and Codes

Type

Code

Message

Meaning

0

0

Echo Reply

The destination machine is reachable and transmitting and receiving network traffic.

3

0

Net Unreachable

The destination network cannot be reached.

3

1

Host Unreachable

The destination system cannot be reached.

3

2

Protocol Unreachable

You cannot communicate to the destination using this protocol.

3

3

Port Unreachable

The specified destination port is not reachable.

3

4

Fragmentation Needed

You cannot communicate with your destination unless you use smaller packet sizes.

3

5

Source Route Failed

The route specified cannot reach the intended destination.

4

0

Source Quench

Please slow down, you are sending information too quickly for me to handle.

5

0

Network Redirect

To reach the destination network, use this other route.

5

1

Host Redirect

To reach the destination system, use this other route.

5

2

Service and Network Redirect

To reach a particular service on a particular network, use this route.

5

3

Service and Host Redrect

To reach a particular service on a particular system, use this route.

8

0

Echo Request

If you are my intended destination, please tell me that you are sending and receiving network traffic.

11

0

Time to Live Exceeded

The packets you sent were only valid for a certain time and they could not be delivered to the destination before that time ran out.

11

1

Fragment Reassembly Exceeded

The fragmented packets you sent could not be put back together in time.

12

0

Parameter Problem

The packet you sent had some problems in it and could not be processed. The code field points to where the error was located.

13

0

Timestamp Request

What time do you think it is?

14

0

Timestamp Reply

This is the time according to my clock.

15

0

Information Request

What network are you on and what is your IP address?

16

0

Information Reply

This is my network and IP address.


  • + Share This
  • 🔖 Save To Your Account

Related Resources

There are currently no related titles. Please check back later.