Why traceroute don’t work

networkingtcp

I have some questions about why traceroute doesn't works in some condition. Though I understand how it works, I can't figure out some questions. Like,

$traceroute www.google.com
 1  * * *
 2  * * *
......

There are '*'. When I use ICMP stead for UDP, I got those below:

$traceroute www.google.com -I
 1  * * *
 2  * * *
 3  222.42.254.130 (222.42.254.130)  7.980 ms  10.785 ms  4.920 ms
 4  222.42.254.129 (222.42.254.129)  4.363 ms  8.141 ms  5.849 ms
 5  bogon (10.2.1.1)  7.957 ms  7.787 ms  8.321 ms
 6  61.237.121.97 (61.237.121.97)  25.341 ms  24.895 ms  28.725 ms
 7  61.237.123.66 (61.237.123.66)  23.738 ms  24.172 ms  23.916 ms
 8  221.4.120.173 (221.4.120.173)  23.096 ms  24.539 ms  20.827 ms
 9  221.4.6.61 (221.4.6.61)  58.516 ms  60.035 ms  63.200 ms
10  120.80.0.73 (120.80.0.73)  60.991 ms  59.520 ms  59.853 ms
11  219.158.19.69 (219.158.19.69)  59.771 ms  59.192 ms  59.072 ms
12  219.158.22.249 (219.158.22.249)  89.185 ms  87.928 ms  89.582 ms
13  219.158.22.158 (219.158.22.158)  102.195 ms  103.409 ms  106.153 ms
14  219.158.35.114 (219.158.35.114)  218.816 ms  224.845 ms  218.470 ms
15  203.208.62.15 (203.208.62.15)  212.560 ms  208.640 ms *
16  chrome.google.com (203.208.46.1)  210.655 ms *  216.369 ms

I wonder why the first and second hop is still unknown. I have tried to set icmp rate with -z 500, but it's useless.
So my questions are below:

  1. Why did I get some hops while I use ICMP?
  2. How can I get the first two hops?

I have searched for that, but I got nothing useless. I connect to the Internet through a route without any firewall. Thank you for your help.

Best Answer

As the Traceroute is based on ICMP Echo requests, then it seems like the first two routes in your way (probably your own premises firewalls) are configured to Drop/Block ICMP echo requests. Thats is why Traceroute is unable to see the actual response from the first two, but proper response beyond that.