The ping utility uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (``pings'') have an IP and ICMP header, followed by a ``struct timeval'' and then an arbitrary number of ``pad'' bytes used to fill out the packet. exec ping ${-c :num_echos} ${-t :hops} ${dest} The Internet is a large and complex aggregation of network hardware, con- nected together by gateways. Tracking the route one's packets follow (or finding the miscreant gateway that's discarding your packets) can be dif- ficult. traceroute utilizes the IP protocol `time to live' field and at- tempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to some host. The only mandatory parameter is the destination host name or IP number. exec traceroute ${-m :hops} ${dest}