4

I am testing traceroute command on my virtualbox ubuntu and windows subsystem ubuntu 18.0. None of them works. They show only stars. But when I test windows command tracert on the same computer, it works well. Can anyone help me? Thanks. Below is the Ubuntu traceroute output

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  _gateway (10.0.2.2)  0.377 ms  0.375 ms  0.363 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *

============

Solved. add -I option to use ICMP. see traceroute shows just * * * in linux ( in a virtual machine ), although displays all IPs in windows correctly

0

1 Answer 1

6

The default for Linux traceroute is to send UDP packets; the default for Windows is to send ICMP packets.

Some routers may/will block ICMP packets - but both varieties of traceroute can be configured to send ICMP/UDP/TCP packets. It is suggested that you specify port 443 for UDP/TCP usage and you will likely need root access for TCP packets.

e.g. sudo traceroute -T 8.8.8.8 -p 443

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called "lft". It gives a nicer response:-

sudo lft 8.8.8.8

Tracing .....**********
TTL LFT trace to dns.google (8.8.8.8):80/tcp
 1  router (192.168.1.1) 0.6ms
**  [neglected] no reply packets received from TTLs 2 through 3
 4  128.hiper04.sheff.dial.plus.net.uk (195.166.143.128) 5.7ms
 5  core1-BE1.colindale.ukcore.bt.net (195.99.125.132) 5.5ms
 6  194.72.16.204 6.0ms
 7  109.159.253.195 6.1ms
**  [80/tcp no reply from target]  Try advanced options (use -VV to see packets).
4
  • Thanks for your reply. I tried your command. I tried sudo traceroute -T 8.8.8.8 -p 443 on Ubuntu, it outputs ``` traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 _gateway (10.0.2.2) 0.601 ms 0.291 ms 0.266 ms 2 dns.google (8.8.8.8) 13.641 ms 19.794 ms 21.774 ms ``` if I use sudo traceroute 8.8.8.8 -p 443, it just outputs star as before. On the same computer, if I test tracert on windows command, the output is normal. It seems we need do some setting on Ubuntu before running traceroute? or is there any other reason?
    – nlite
    Sep 4, 2020 at 20:42
  • Most of the time a plain traceroute domain-name works normally. Indeed I tried a traceroute 8.8.8.8 from a Debian VM running on a LMDE PC and it worked for me. Perhaps you have a firewall or ISP "issue"? ?? Sep 4, 2020 at 22:29
  • Then why sudo traceroute -T 8.8.8.8 -p 443 output dns.google.com etc., not just ***, and also tracert output correctly?
    – nlite
    Sep 5, 2020 at 2:57
  • 1
    Because port 443 is the standard https port, I assume that google would not try to block TCP traffic on this port. Sep 6, 2020 at 13:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .