Get IP of non-responsive traceroute?

0

The DOS version of tracert doesn't give the IP address of failed pings. What is a reasonably simple way to find the IP's of non-responsive servers in a traceroute?

John

Posted 2012-07-31T18:45:22.953

Reputation: 1 490

1If they are non-responsive, you don't even know if your ICMP packets reached them, so how can you know the IP address of an interface that your packets never reached? If they did reach the interface, but the stack ate them without replying, you still can't know. – Fran – 2012-07-31T19:15:17.100

If a request is timing out a request has been MADE, WHERE is that request sent to? – John – 2012-07-31T20:00:55.070

1The ICMP Echo Request packet is sent to the destination you are tracerouting (e.g., traceroute java.sun.com or traceroute 18.3.0.92). If a router along the way eats or drops the packet without responding, all you see is no response. You know all the routers addresses up to the one that isn't responding, and nothing more. – Fran – 2012-07-31T23:33:45.087

Answers

3

There are none. The only trivial way would be asking the hop. Traceroute implements this by sending an ICMP echo request (pinging) the destination multiple times with different time-to-live values. Every hop decreases this counter by one. When the TTL hits zero, the packet is not relayed any further and the hop attempts to return an error message to the source, primarily to prevents packets on faulty routes from circulating indefinitely and congesting the network. By looking at the source of the returned error messages, the machine doing the traceroute can identify hops between itself and the destination.

If for whatever reason no error message is received, the fate of the echo request cannot be determined. After the first hop, the packet enters a black box and the sender has effectively no control over or information about how it is routed. Hops immediately before (and often immediately after) will know the address of the missing link, but there is no universal way to exchange this information.

Marcks Thomas

Posted 2012-07-31T18:45:22.953

Reputation: 5 749

This does not answer the question. If a request times out it is STILL a request. A request is not sent blindly in to an abyss, it is sent to a specific IP regardless of whether or not the server at that IP is responsive or not. – John – 2012-07-31T20:16:36.193

The request is sent to an IP, but it is not the address of the hop you're trying to identify; it is the address of the destination. You are not directly talking to the hops in between, because they are unknown. You don't know in advance how your packet will be routed. In that sense, you are indeed sending it blindly. When TTL hits zero, this mystery machine will make itself known by returning an error message, but this sort of time out has nothing to do with a server bing unresponsive. Quite the opposite. – Marcks Thomas – 2012-08-01T08:58:28.637