Contact Us
+1.831.460.7010

The Internet Control Message Protocol (ICMP)

The purpose of ICMP is to provide feedback about problems in the communication environment, such as an error in datagram processing.  Typically ICMP reports problems in the processing of datagrams.  

The Maxwell Pro ICMP Test Suite provides a series of tests for verifying correct operation of ICMP.  The tests ensure TCP/IP compliance through vulnerability and robustness testing, with tests for ICMP in both the IPv4 and IPv6 environments.

The tests are grouped into categories as follows:

IPv4 ICMP

  • Change type and codes to values not assigned by IANA.
  • Set the checksum to zero.
  • Set unused protocol fields to non-zero values.
  • Truncate messages.
  • Extend messages
  • Set protocol fields (including length fields) to inconsistent values.
  • Set protocol address fields to unreasonable values such as 127.0.0.1 and 255.255.255.255.
  • Allow user specified changes of 8, 16, and 32-bit quantities in the packet.

IPv6 ICMP

  • Change type and code fields to values not assigned by IANA.
  • Set the checksum to zero.
  • Set unused protocol fields to non-zero values.
  • Truncate messages.
  • Extend messages
  • Set protocol fields to inconsistent values.
  • Set the Parameter Problem Pointer field to zero and 0xFFFF.
  • Change the address of the appended IPv6 header to contain an invalid or unusual address.
  • Allow user specified changes of 8, 16, and 32-bit quantities in the packet.

Establishing a source of authority

The Maxwell Pro TCP/IP Test Suite references the RFCs that correlate to each test area.  These official IETF documents detail the Internet standards and best current practices that can point the user toward a better understanding of the problem.

TCP/IP RFCs Covered

  • RFC 791, Internet Protocol (IP)
  • RFC 792 Internet Control Message Protocol (ICMP)
  • RFC 894 A Standard for the Transmission of IP Datagrams over Ethernet Networks
  • RFC 1042 Standard for the Transmission of IP datagrams over IEEE 802 networks
  • RFC 4443 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification

Sample Test Documentation

Test documentation follows the format below:

Purpose of the Test: 

Impairment Algorithm:

Possible Behaviors or Outcomes:

The ICMP Test Environment is used by design engineers, quality assurance engineers and testers to find and fix bugs in their stack or engine.  The tests help ensure that the  stack is sufficiently robust so that it is not vulnerable to the wide range of attacks in today's Internet.  The tests make use of the Maxwell Pro network emulation environment, so that each test sequence can intelligently impair all aspects of the protocol.  

 


Want to know more about ICMP?


Want to see this in action?

Client Reviews

 

We have found the Maxwell TCP/IP Test Suite a valuable addition to our test environment (testing an embedded TCP/IP stack).

 

-S/W Protocol Stack Manager
Telit Wireless