Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
1  
If 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 Jul 31 '12 at 19:15
    
If a request is timing out a request has been MADE, WHERE is that request sent to? –  John Jul 31 '12 at 20:00
1  
The 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 Jul 31 '12 at 23:33
add comment

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer
    
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 Jul 31 '12 at 20:16
    
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 Aug 1 '12 at 8:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.