#1791·trippy

trippy does not reach destination against QUIC targets

Author: ifd3fCreated Apr 17, 2026Updated Aug 16, 2026
Labelsenhancementudpipv6ipv4corequic

Describe the bug

When you trace towards a HTTP/3 server using trippy (i.e. 443/udp), the destination hop will be ???. This happens on IPv4 and IPv6; against Facebook, Google, and Cloudflare; and on MacOS and Linux.

To Reproduce

bash
for dst in facebook.com google.com cloudflare.com; do
  for ver in 4 6; do
    sudo ./trip --target-port=443 --udp --first-ttl=7 --mode=markdown --max-samples=10 --max-ttl=64 -$ver $dst | tee /tmp/out-$ver-$dst.md
  done
done

Expected behavior

The last hop reaches the destination instead of ???

Screenshots

Markdown tables returned by trippy from that command (VERY LONG)
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 172.30.2.229 172.30.2.229 0.0 10 10 5.1 3.9 2.8 5.1 0.8
8 206.197.187.62 as13335.sfmix.org 20.0 10 8 5.1 12.1 5.1 35.8 8.0
9 172.68.188.96 172.68.188.96 0.0 10 10 9.0 11.0 4.7 20.2 4.9
172.68.188.115 172.68.188.115
172.68.188.119 172.68.188.119
172.68.188.80 172.68.188.80
172.68.188.22 172.68.188.22
172.68.188.98 172.68.188.98
172.68.188.94 172.68.188.94
10 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 172.30.9.121 172.30.9.121 60.0 10 4 10.8 252.5 10.8 363.3 140.4
8 206.197.187.92 as32934.sfmix.org 0.0 10 10 7.7 8.0 4.2 14.9 2.9
9 157.240.46.114 po121.asw04.sjc1.tfbnw.net 0.0 10 10 9.2 7.2 4.4 10.8 2.1
31.13.24.38 po121.asw01.sjc1.tfbnw.net
157.240.112.86 po121.asw02.sjc1.tfbnw.net
10 163.77.253.66 163.77.253.66 0.0 10 10 4.1 7.4 4.1 11.2 2.5
129.134.116.137 usw02.sjc6.tfbnw.net
163.77.253.65 163.77.253.65
11 163.77.194.200 163.77.194.200 0.0 10 10 7.1 10.2 7.1 14.4 2.4
163.77.194.179 163.77.194.179
163.77.252.179 163.77.252.179
163.77.194.174 163.77.194.174
163.77.244.93 163.77.244.93
163.77.194.202 163.77.194.202
129.134.119.92 msw1ac.01.sjc6.tfbnw.net
163.77.244.97 163.77.244.97
163.77.244.95 163.77.244.95
12 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 172.30.9.121 172.30.9.121 0.0 10 10 2.9 9.9 2.9 53.2 12.9
8 208.76.187.13 cr1-200p-a-be100.bb.spectrumnet.us 0.0 10 10 6.7 12.6 6.0 43.1 9.7
9 192.175.30.217 be4.cr4-11greatoaks.bb.as11404.net 0.0 10 10 9.7 11.0 5.8 33.1 6.7
10 209.85.168.110 209.85.168.110 0.0 10 10 8.4 10.6 6.7 23.0 4.1
11 142.251.231.97 142.251.231.97 0.0 10 10 6.9 9.1 6.9 12.9 1.6
142.251.231.101 142.251.231.101
12 142.251.241.103 142.251.241.103 0.0 10 10 6.0 7.5 6.0 8.8 0.9
142.251.241.105 142.251.241.105
13 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 2607:f598:b010::1 2607:f598:b010::1 0.0 10 10 3.1 4.9 3.1 8.2 1.9
8 2001:504:30::ba01:3335:2 as13335.sfmix.org 30.0 10 7 55.3 21.1 5.0 55.3 16.7
9 2400:cb00:1232:3:: 2400:cb00:1232:3:: 0.0 10 10 7.9 12.1 6.0 33.4 6.5
2400:cb00:467:3:: 2400:cb00:467:3::
2400:cb00:4:3:: 2400:cb00:4:3::
2400:cb00:464:3:: 2400:cb00:464:3::
2400:cb00:466:3:: 2400:cb00:466:3::
2400:cb00:465:3:: 2400:cb00:465:3::
10 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 2607:f598:b010::1 2607:f598:b010::1 0.0 10 10 8.0 9.9 3.1 47.4 12.5
8 2001:504:30::ba03:2934:2 as32934.sfmix.org 0.0 10 10 4.9 9.1 4.1 38.8 9.9
9 2620:0:1cff:dead:beef::3e48 po121.asw02.sjc1.tfbnw.net 0.0 10 10 4.1 8.0 4.1 28.7 6.9
2620:0:1cff:dead:beef::c2 po121.asw01.sjc1.tfbnw.net
2620:0:1cff:dead:beef::2064 po121.asw04.sjc1.tfbnw.net
10 2620:0:1cff:dead:beef::82a3 po1000.usw04.sjc6.tfbnw.net 0.0 10 10 4.1 7.5 4.1 19.3 4.2
2620:0:1cff:dead:beef::82a9 po1001.usw03.sjc6.tfbnw.net
2620:0:1cff:dead:beef::82ab po1001.usw04.sjc6.tfbnw.net
2620:0:1cff:dead:beef::82a1 po1000.usw03.sjc6.tfbnw.net
2620:0:1cff:dead:beef::82b7 po1003.usw02.sjc6.tfbnw.net
2620:0:1cff:dead:beef::82bb po1003.usw04.sjc6.tfbnw.net
2620:0:1cff:dead:beef::829f po1000.usw02.sjc6.tfbnw.net
2620:0:1cff:dead:beef::82b9 po1003.usw03.sjc6.tfbnw.net
11 2620:0:1c00:c::1b3 be6.msw1bc.01.sjc6.tfbnw.net 0.0 10 10 12.7 9.6 6.7 13.5 2.1
2620:0:1c00:c::1c7 be8.msw1ax.01.sjc6.tfbnw.net
2620:0:1c00:c::91 be2.msw1aq.01.sjc6.tfbnw.net
2620:0:1c00:c::ab be7.msw1ac.01.sjc6.tfbnw.net
2620:0:1c00:c::1ab be6.msw1ba.01.sjc6.tfbnw.net
2620:0:1c00:c::1ad be5.msw1bb.01.sjc6.tfbnw.net
2620:0:1c00:c::135 be4.msw1ar.01.sjc6.tfbnw.net
2620:0:1c00:c::169 be3.msw1au.01.sjc6.tfbnw.net
2620:0:1c00:c::185 be3.msw1bb.01.sjc6.tfbnw.net
2620:0:1c00:c::137 be8.msw1ar.01.sjc6.tfbnw.net
12 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0
Hop IPs Addrs Loss% Snt Recv Last Avg Best Wrst StdDev
7 2607:f598:b010::1 2607:f598:b010::1 0.0 10 10 3.2 4.3 3.2 6.8 0.9
8 2607:f060:c000::1 2607:f060:c000::1 0.0 10 10 8.5 35.0 7.6 77.1 23.4
9 2001:4860:1:1::686 2001:4860:1:1::686 20.0 10 8 12.7 8.6 7.1 12.7 1.8
10 2001:4860:0:1::63db 2001:4860:0:1::63db 0.0 10 10 6.4 8.7 6.4 13.8 2.0
2001:4860:0:1::63df 2001:4860:0:1::63df
11 2001:4860:0:1::69c1 2001:4860:0:1::69c1 0.0 10 10 6.1 8.2 6.1 10.1 1.4
2001:4860:0:1::69bf 2001:4860:0:1::69bf
12 ??? ??? 100.0 10 0 ??? 0.0 ??? ??? 0.0

Environment Info

  • OS: MacOS aarch64, Linux x86_64
  • Trippy version: 0.13.0
  • Installation method: precompiled binaries on trippy.rs
  • Terminal / Console: not relevant

Additional context

pcap.zip contains a packet capture run on MacOS. The payload sent (36 zeroes) doesn't even seem to yield a response from the server. Dmitry Butskoy's traceroute variant does yield a response, however, though the payload it sends is not a QUIC packet either -- it's @ABCDEF... up the ASCII character set until it reaches the payload length.

I think a viable solution to this issue could be to make PayloadPattern an enum, and add a variant that's just an simple QUIC initialization handshake, and use that either when the user provides it explicitly as a CLI flag, or implicitly when 443/udp is detected as the destination. I would be happy to contribute such a change.