Déjà fais des traceroute normaux et pas en forcant des protocoles, des ports, etc.
Oui chef ^^ j'ai 12 ans.
---
Sinon vous pouvez si vous le souhaitez "copier/coller" le code source HTML/CSS (et JAVASCRIPT) de cette page "
mtr-tcp_443.html" ainsi que de celle-ci "
mtr-traceroute.html" et modifier les valeurs javascript "urls []" avec vos retours "JSON" et nom de serveurs. J'ai TOUT mis (dans un seul fichier HTML pour avoir comme une page HTML dynamique ; apprendre les "requests et réponses fetch") que je puisse utiliser sans PHP ; pour avoir des données "à jour"

C'est un bon départ pour les retours des disponibilté des services via MTR avec rendu HTML. Ci-cela peut vous servir

Ceci est la commande par default qui retourne le résultat "MTR" :
mtr dns.google -6 -c 3 -brwz -T -P 443 --json > /var/www/html/infos/my-traceroute/mtr-json-result_srv.fr_TO_dns.google_tcp_443_ipv6.json
const urls = [
{
servers: "srv-fr",
description: "MTR from this server",
mtrs: [
{
id: 1,
name: "srv-ca (Canada, Montreal)",
url:
{
ipv4: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_srv.ca_tcp_443_ipv4.json",
ipv6: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_srv.ca_tcp_443_ipv6.json",
},
},
{
id: 2,
name: "dns.google (Mountain View)",
url:
{
ipv4: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_dns.google_tcp_443_ipv4.json",
ipv6: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_dns.google_tcp_443_ipv6.json",
},
},
{
id: 3,
name: "lafibre.info (France, Paris)",
url:
{
ipv4: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_lafibre.info_tcp_443_ipv4.json",
ipv6: "https://srv.fr.domain.tld/infos/my-traceroute/mtr-json-result_srv.fr_TO_lafibre.info_tcp_443_ipv6.json",
},
}
]
},
{
servers: "srv-ca",
description: "MTR from this server",
mtrs: [
{
id: 1,
name: "gate-fr (France, Valdeblore)",
url:
{
ipv4: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_gate.fr_tcp_443_ipv4.json",
ipv6: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_gate.fr_tcp_443_ipv6.json",
},
},
{
id: 2,
name: "dns.google (Mountain View)",
url:
{
ipv4: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_dns.google_tcp_443_ipv4.json",
ipv6: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_dns.google_tcp_443_ipv6.json",
},
},
{
id: 3,
name: "lafibre.info (France, Paris)",
url:
{
ipv4: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_lafibre.info_tcp_443_ipv4.json",
ipv6: "https://srv.ca.domain.tld/infos/my-traceroute/mtr-json-result_srv.ca_TO_lafibre.info_tcp_443_ipv6.json",
},
}
]
}
];
J'utilise la commande Linux "jq" pour ajouter des informations au fichier JSON - le script est le suivant :
# cat /root/mtr-command.sh
# ---------------------------------------------------------------------------------------------
#!/bin/bash
# Owner : ZW3B’s LAB3W : The Web’s Laboratory ; Engineering of the Internet
# Author : O.Romain.Jaillet-ramey (orj AT lab3w.fr)
# Date Created : 2026-01-05
# Date Modified : 2026-08-12
# Description : "mtr" script with JSON output and added output variables – My ICMP traceroute.
# More : Render HTML output (copy/paste) and change the "urls" variables "/var/www/html/infos/my-traceroute/mtr-traceroute.html".
# You could share "your" HTML page, hosted on your servers, with the relevant IT support teams.
# man 8 mtr
# man 0 jq
# MTR : My Traceroute
# Other example : mtr -o 'J M X LSR NA B W V' -wzbc 50 addr_IP
# ┌───┬─────────────────────┐
# │ L │ Loss ratio │
# ├───┼─────────────────────┤
# │ D │ Dropped packets │
# ├───┼─────────────────────┤
# │ R │ Received packets │
# ├───┼─────────────────────┤
# │ S │ Sent Packets │
# ├───┼─────────────────────┤
# │ N │ Newest RTT(ms) │
# ├───┼─────────────────────┤
# │ B │ Min/Best RTT(ms) │
# ├───┼─────────────────────┤
# │ A │ Average RTT(ms) │
# ├───┼─────────────────────┤
# │ W │ Max/Worst RTT(ms) │
# ├───┼─────────────────────┤
# │ V │ Standard Deviation │
# ├───┼─────────────────────┤
# │ G │ Geometric Mean │
# ├───┼─────────────────────┤
# │ J │ Current Jitter │
# ├───┼─────────────────────┤
# │ M │ Jitter Mean/Avg. │
# ├───┼─────────────────────┤
# │ X │ Worst Jitter │
# ├───┼─────────────────────┤
# │ I │ Interarrival Jitter │
# └───┴─────────────────────┘
# Example: -o "LSD NBAW X"
# ----
HST="srv.fr.domain.tld"
TITLE="MTR";
DATE=$(TZ="Europe/Paris" date +"%Y-%m-%d %H:%M:%S GMT%z")
# --------------------
# MTR --count 3 ~= 10 seconds
DESC="My Traceroute (over ICMP)"
mtr dns.google -4 -c 3 -brwz --json | jq --arg date "$DATE" --arg title "$TITLE" --arg desc "$DESC" --arg server "$HST" '.report.infos |= . + { "server": $server, "title": $title, "desc", $desc, "date": $date, "file": "mtr-json-result_srv-fr_TO_srv-ca_ipv4.json" }' > /var/www/html/infos/my-traceroute/mtr-json-result_srv-fr_TO_dns.google_ipv4.json
mtr dns.google -6 -c 3 -brwz --json | jq --arg date "$DATE" --arg title "$TITLE" --arg desc "$DESC" --arg server "$HST" '.report.infos |= . + { "server": $server, "title": $title, "desc", $desc, "date": $date, "file": "mtr-json-result_srv-fr_TO_srv-ca_ipv4.json" }' > /var/www/html/infos/my-traceroute/mtr-json-result_srv-fr_TO_dns.google_ipv6.json
DESC="My Traceroute (over TCP) on port 443 (HTTPS)"
mtr dns.google -4 -c 3 -brwz -T -P 443 --json | jq --arg date "$DATE" --arg title "$TITLE" --arg desc "$DESC" --arg server "$HST" '.report.infos |= . + { "server": $server, "title": $title, "desc", $desc, "date": $date, "file": "mtr-json-result_srv-fr_TO_srv-ca_ipv4.json" }' > /var/www/html/infos/my-traceroute/mtr-json-result_srv-fr_TO_dns.google_tcp_443_ipv4.json
mtr dns.google -6 -c 3 -brwz -T -P 443 --json | jq --arg date "$DATE" --arg title "$TITLE" --arg desc "$DESC" --arg server "$HST" '.report.infos |= . + { "server": $server, "title": $title, "desc", $desc, "date": $date, "file": "mtr-json-result_srv-fr_TO_srv-ca_ipv4.json" }' > /var/www/html/infos/my-traceroute/mtr-json-result_srv-fr_TO_dns.google_tcp_443_ipv6.json
Personnelement j'ai fait 2 fichiers ; pour les 2 types de traceroutes.
Que je lance toutes les 5 minutes :
# crontab -l
# m h dom mon dow command
#minute (0-59)
#| hour (0-23)
#| | day of the month (1-31)
#| | | month of the year (1-12)
#| | | | day of the week (0-6 with 0=Sun)
#| | | | | commands
#| | | | | |
#---------------------------------------------------------------------------------------------------
# --------------------
# A Traceroute
# MTR over ICMP
*/5 * * * * sh /root/mtr-command-one.sh 2>/dev/null 2>&1
# MTR over TCP 443
*/5 * * * * sleep $(shuf -i 60-60 -n1) ; sh /root/mtr-command-tcp-443-one.sh 2>/dev/null 2>&1
@+
---
Il y a 2,3 variables à modifier ou supprimer ; si çà peut vous servir ;-)
var host="locahost";
if(
// SRV-CA
window.location.hostname == "srv.xn--e77hd.xn--hwgz2tba.st"
|| window.location.hostname == "srv.ca.xn--hwgz2tba.st"
|| window.location.hostname == "srv.ca.xn--hwgz2tba.st"
|| window.location.hostname == "158.69.126.137"
|| window.location.hostname == "2607:5300:60:9389::1"
) {
var host="srv-ca";
}
if(
// SRV-FR
window.location.hostname == "srv.xn--j77hya.xn--hwgz2tba.st"
|| window.location.hostname == "srv.fr.xn--hwgz2tba.st"
//|| window.location.hostname == "109.210.49.186"
|| window.location.hostname == "2a01:cb1d:6aa:b400:1ab3::1"
) {
var host="srv-fr";
}
if(
// HST-FR
window.location.hostname == "hst.xn--j77hya.xn--hwgz2tba.st"
|| window.location.hostname == "hst.fr.xn--hwgz2tba.st"
|| window.location.hostname == "147.79.115.130"
|| window.location.hostname == "2a02:4780:28:5295::1"
) {
var host="hst-fr";
}
console.log(host);
---
J'ai créais ces pages Wiki sur mon GitHub ; dernièrement ; avec une phrase d'introduction 
🇪🇺 To begin with, I would like to share my expertise with you (GitHub programmers, among others) regarding the configuration of international networks for IPv6 (Internet Protocol version 6). Specifically, I will cover the optimal configuration for utilizing the IPv6 Multicast Addresses Space https://www.iana.org/assignments/ipv6-multicast-addresses within your applications, ensuring maximum network-level security while simultaneously enhancing visibility within the local environment IPv6 ; RFC 7346: IPv6 Multicast Address Scopes https://www.rfc-editor.org/info/rfc7346/
🇫🇷 Pour commencer je vais vous faire, à vous (les programmeurs de GitHub entres autres) un don sur mes connaissances dans la configuration des réseaux Internationaux pour Protocole de communication en version 6, l'IPv6 et de sa configuration la plus adapté pour utiliser l'[Espace d'adressage de multidiffusion IPv6 https://www.iana.org/assignments/ipv6-multicast-addresses depuis nos/vos applications pour quelles soient les mieux sécurisées au niveau du réseau et en même temps plus visible dans l'environnement IPv6 local ; RFC 7346: Portées des adresses de multidiffusion IPv6 https://www.rfc-editor.org/info/rfc7346/
### Last Network's Pages 🤠 on my GitHub !
- MY ISP's BOX : BOX.🇫🇷.◕‿◕.ST - https://github.com/LAB3W/docs/wiki/BOX.%F0%9F%87%AB%F0%9F%87%B7.%E2%97%95%E2%80%BF%E2%97%95.ST) `00FF::FFFF/56`
- MY ROUTER : GATE.🇫🇷.◕‿◕.ST - https://github.com/LAB3W/docs/wiki/GATE.%F0%9F%87%AB%F0%9F%87%B7.%E2%97%95%E2%80%BF%E2%97%95.ST) `XX::1/64`
- AN SERVER : SRV.🇫🇷.◕‿◕.ST - https://github.com/LAB3W/docs/wiki/SRV.%F0%9F%87%AB%F0%9F%87%B7.%E2%97%95%E2%80%BF%E2%97%95.ST) `XX:1AB3::1/70`
Qu'en pensez-vous ? il faut vraiment que j'essaie !
---
En plus ; je ne crois pas vous en avoir informé sur ce forum :
Si vous souhaitez tester "
ip(6)tables -L -vn" de ma configuration SRV.🇫🇷.◕‿◕.ST "
firewall-ipv6.conf" et "
firewall.conf" - CF : "/
infos/" ou celle de SRV.🇨🇦.◕‿◕.ST

Il faut adapter à vos configurations !
C'est cette doc adaptée "ZW3B ¿How to? 'Or' ¿What to do? , OS GNU/Linux, Security,
Comment-faire un réseau IPv6 ? Firewall ICMPv6 ; il manque
des nouvelles fonctions me semble t'il pleins de choses et le ULA est ouvert fc00::/7 ; regardez les ".conf" c'est mieux !
Note de Moi-même : Un exemple rapide de mon script
firewall-ipv6.sh.
Si çà peut vous servir aussi ;-)
---
Note du 22/08/2026 :
Vous ne pouvez pas accéder à ces sites Web ; on est bien d'accord ?
http://[fee0::1]/ - FQDN LOCAL : 🦢.🇨🇦.ip❤10.ws
http://[fee1::1]/ - FQDN LOCAL : 🦢.🇫🇷.ip❤10.ws
http://[fee4::1]/ - FQDN LOCAL : 🦢.🇦🇺.ip❤10.ws
http://[fee5::1]/ - FQDN LOCAL : 🌓.🇫🇷.ip❤10.ws
FQDN : Fully Qualified Domain Name
Merci pour vos réponses ; Et vous autres (aussi et surtout), vous les FAI/ISP ? Pouvez vous écouter ma communication

de ces adresses privées de sites strongSwan v6.
Github Internet Protocol securised 🦢 strongswan / Discussions /
🔑 How to configure strongSwan v6 Post-Quantum Cryptography NIST compliant #2731