ICMPSocket for REALbasic by Charlie Boisseau & Aaron Ballman February 2005 |
About these classes. Requirements If you use these classes in your project, be sure to let me know, and give Aaron and I credit in your about box. |
Class ICMPSocket | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Class ICMPPacket | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Class ICMP_ECHOREPLY | ICMP_TYPE = 0 | |||||||||||||||||||||
Super: ICMPPacket This type of packet is a reply to an ICMP_ECHO request. It should contain the exact data sent in the original request. These packets are most often used in 'ping' and simple 'traceroute' implementations.
|
Class ICMP_UNREACH | ICMP_TYPE = 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Super: ICMPPacket This message is generated by a router to inform the source host that the destination address is unreachable. This message is not generated in response to a datagram destined for a multicast address. The IP header plus the first 8 bytes of the original datagram's data is returned to the sender. This data is used by the host to match the message to the appropriate process. If a higher level protocol uses port numbers, they are assumed to be in the first 64 data bits of the original datagram's data.
|
Class ICMP_SOURCEQUENCH | ICMP_TYPE = 4 | ||||||||||||||||||
Super: ICMPPacket This message is a request to decrease the traffic rate of data messages sent to an internet destination. The offending packet is contained. NB: If it was an ICMP packet, retrieve it with OriginalICMPPacket.
|
Class ICMP_REDIRECT | ICMP_TYPE = 5 | |||||||||||||||||||||||||||||||||||||||||||||||||||
Super: ICMPPacket Contains a redirect message to send data packets on an alternative route. ICMP Redirect is a mechanism for routers to convey routing information to hosts.
|
Class ICMP_ECHO | ICMP_TYPE = 8 | |||||||||||||||||||||
Super: ICMPPacket This type of packet is a request for an ICMP_ECHOREPLY request packet to be sent back. It should contain the exact data sent in the original request. These packets are most often used in 'ping' and simple 'traceroute' implementations.
|
Class ICMP_ROUTERADVERT | ICMP_TYPE = 9 | |||||||||||||||||||||||||||
Super: ICMPPacket The ICMP router discovery messages are called "Router Advertisements" and "Router Solicitations". Each router periodically multicasts a Router Advertisement from each of its multicast interfaces, announcing the IP address(es) of that interface. Hosts discover the addresses of their neighbouring routers simply by listening for advertisements.
|
Class ICMP_RouterAddress | |||||||||||||||
Used by the ICMP_ROUTERADVERT messages to contain information on each router advertisement.
|
Class ICMP_ROUTERSOLICIT | ICMP_TYPE = 10 |
Super: ICMPPacket When a host attached to a multicast link starts up, it may multicast a Router Solicitation to ask for immediate advertisements, rather than waiting for the next periodic ones to arrive. If (and only if) no advertisements are forthcoming, the host may retransmit the solicitation a small number of times, but then must desist from sending any more solicitations. There are no additional attributes, functions or constants for this class. |
Class ICMP_TIMXCEED | ICMP_TYPE = 11 | |||||||||||||||||||||||||||||||||
Super: ICMPPacket A host may receive an ICMP Time Exceeded Message from a destination host that has timed out and discarded an incomplete datagram.
|
Class ICMP_PARAMPROB | ICMP_TYPE = 12 | |||||||||||||||||||||||||||||||||||||||
Super: ICMPPacket This message is generated as a response for any error not specifically covered by another ICMP message.
|
Class ICMP_TSTAMP | ICMP_TYPE = 13 | |||||||||||||||||||||||||||||||||
Class ICMP_TSTAMPREPLY | ICMP_TYPE = 14 | |||||||||||||||||||||||||||||||||
Super: ICMPPacket The data received (a timestamp) in this message is returned in the reply together with an additional timestamp. The timestamp is an Integer containging the number of milliseconds since midnight UT.
|
Class ICMP_IREQ | ICMP_TYPE = 15 | |||||||||||||||
Class ICMP_IREQREPLY | ICMP_TYPE = 16 | |||||||||||||||
Super: ICMPPacket This message may be sent with the source network in the IP header source and destination address fields zero (which means "this" network). The replying IP module should send the reply with the addresses fully specified. This message is a way for a host to find out the number of the network it is on.
|
Class ICMP_MASKREQ | ICMP_TYPE = 17 | |||||||||||||||||||||
Class ICMP_MASKREPLY | ICMP_TYPE = 18 | |||||||||||||||||||||
Super: ICMPPacket A gateway receiving an address mask request should return it with the address mask field set to the 32-bit mask of the bits identifying the subnet and network, on which the request was received. If the requesting host does not know its own IP address, it may leave the source field zero; the reply should then be broadcast. However, this approach should be avoided if at all possible, since it increases the superfluous broadcast load on the network. Even when the replies are broadcast, since there is only one possible address mask for a subnet, there is no need to match requests with replies. The "Identifier" and "Sequence Number" fields can be ignored.
|