Introduction
To The Internet Control Message Protocol
Introduction
The Internet Control Message Protocol,
or ICMP as we will be calling it, is a
very popular protocol and actually part of an Internet Protocol (IP)
implementation. Because IP wasn't designed to be absolutely reliable,
ICMP came into the scene to provide feedback
on problems which existed in the communication environment.
If I said the word 'Ping' most people who work with networks
would recognise that a 'ping' is part of ICMP
and in case you didn't know that, now you do :)
ICMP is one of the most useful
protocols provided to troubleshoot network problems like DNS resolutions,
routing, connectivity and a lot more. Personally, I use ICMP
a lot, but you need to keep its limits in mind beause you might end
up spending half a day trying to figure out why you're not getting a
'ping reply' ('echo reply' is the correct term) from, for example, www.firewall.cx
when, in fact, the site's webserver is configured NOT to reply to 'pings'
for security reasons !
Cool Note
A few years ago there was a program released, which still
circulates around the Internet, called Click
( I got my hands on version 1.4). Click
was designed to run on a Windows platform and work against Mirc
users. The program would utilise the different messages available within
the ICMP protocol to send special error messages to Mirc
users, making the remote user's program think it had lost connectivity
with the IRC server, thus disconnecting them from the server ! The magic
is not what the program can do, but how it does it ! This is where a
true networking guru will be able to identify and fix any network security
weakness.
The Protocol
ICMP is defined in RFC (Request For Comments) 792.
Looking at its position in the OSI model we can see that it's sitting
in the Network layer (layer 3) alongside IP. There
are no ports used with ICMP, this is because of where the protocol
sits in the OSI model. Ports are only used
for protocols which work at the Session
layer and above: |