4 points par GN⁺ 2023-07-02 | 1 commentaires | Partager sur WhatsApp
  • Un outil qui affiche les résultats de ping sous forme de graphique, en visualisant les temps de ping de plusieurs hôtes
  • Avec le flag --cmd, il affiche sous forme de graphique le temps d’exécution d’une commande au lieu de pinger des hôtes
  • S’exécute sous la forme gping [host] ; avec --cmd, il est possible de cibler une commande comme curl google.com
  • Prend en charge les notations abrégées de régions cloud comme aws:eu-west-1 et aws:ca-central-1 ; actuellement, seul aws est pris en charge
  • La plage d’affichage du graphique, l’intervalle d’exécution, la version IP, l’interface réseau, le mode graphique, les couleurs et la suppression du graphique après la fermeture sont réglables via des options
    • La valeur par défaut de --watch-interval est de 0,2 s pour ping et de 0,5 s pour cmd
    • La valeur par défaut de --buffer est de 30 s
    • --color prend en charge le format #RRGGBB et des noms de couleurs prédéfinis
  • Prend en charge Windows, Mac et Linux, avec des méthodes d’installation via Homebrew, MacPorts, Scoop, Chocolatey, Fedora COPR, Cargo, Arch Linux, Alpine Linux, Ubuntu/Debian, Gentoo, FreeBSD, Docker, Flox et gah
  • L’installation via Cargo nécessite rustc 1.67.0 ou supérieur

1 commentaires

 
GN⁺ 2023-07-02
Avis Hacker News
  • Le fait de pouvoir passer plusieurs hôtes en même temps et de les tracer sur le même graphique est vraiment excellent
    Par exemple, gping mydomain.com google.com est très utile pour vérifier rapidement si le problème vient de mon Wi‑Fi ou de mon hébergeur

    • mtr (Matt's traceroute) est aussi un excellent outil pour ce genre d’usage
      Il n’a pas de sortie graphique, mais il affiche la connectivité, la latence, la perte de paquets et la variabilité pour les hôtes entre mon IP et la destination
      https://www.bitwizard.nl/mtr/
      Lien mentionné plus haut par westurner dans ce fil : https://news.ycombinator.com/item?id=36549005
    • On peut aussi passer des commandes au lieu d’hôtes. Par exemple en exécutant curl google.com
  • mtr fait aussi du traceroute : https://en.wikipedia.org/wiki/MTR_(software)
    Il est souvent utilisé pour résoudre des problèmes réseau, et montre la liste des routeurs traversés, le temps moyen d’aller-retour jusqu’à chacun d’eux, ainsi que la perte de paquets, ce qui permet d’identifier quel lien entre routeurs est à l’origine de la latence ou des pertes globales
    Scapy a une fonctionnalité qui permet une visualisation 3D d’un traceroute unique avec vpython. À l’université, j’avais essayé de la modifier pour superposer plusieurs traceroutes, et je me demandais si un chemin donné restait stable sur toute la séquence de paquets du traceroute : https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer...
    Pour éviter d’exécuter un outil nécessitant root afin de fabriquer des paquets de couche 2, on peut utiliser setcap : setcap CAP_NET_RAW /use/bin/python-scapy
    Le traceroute ne relie-t-il pas parfois les points de manière inappropriée ?

    • J’exécute mtr via un exporter Prometheus. J’utilise probablement https://github.com/mgumz/mtr-exporter
      Je l’ai configuré pour faire du traceroute vers 1.1.1.1 et 8.8.8.8, puis je regarde les graphiques dans Prometheus
      J’ai mis cela en place après que l’accès Internet chez moi, là où se trouve mon ordinateur, a été très instable pendant plusieurs jours
      J’ai aussi fait une vidéo des graphiques : https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
    • Ce graphique 3D est vraiment impressionnant. C’est presque assez futuriste et dynamique pour que j’aie envie de l’utiliser comme économiseur d’écran
    • MTR faisait déjà cela il y a 30 ans, donc je ne vois pas trop ce qui a été ajouté ici. Cela dit, j’essaierai bien l’export 3D, merci du partage
  • J’aime bien le graphique et la prise en charge de plusieurs hôtes
    Comme le HTTPS peut atteindre davantage d’endroits que l’ICMP, souvent bloqué sur les derniers sauts derrière les pare-feu de datacenter, une fonction bash utilisant gping + cmd + curl pourrait être très utile
    Les mesures ICMP peuvent être trompeuses, car la plupart des systèmes d’exploitation appliquent une limitation de débit, et beaucoup de routeurs traitent l’ICMP en basse priorité selon la charge CPU du backplane, sans rapport avec leur capacité réelle à transférer les paquets
    Sur un hôte ayant à la fois une adresse IPv4 et une adresse IPv6, il semble que -4 affiche une adresse IPv4 mais envoie en réalité les ping vers l’adresse IPv6. Est-ce que d’autres constatent la même chose ? Version 1.8.0

  • Comme outil vaguement lié, celui-ci est aussi un « ping avec graphique », mais dans un autre style : https://github.com/denilsonsa/prettyping

  • Demande de fonctionnalité : du son
    Il arrive rarement qu’on ait besoin d’un retour pendant qu’on tripote un câble. J’avais déjà bricolé un petit outil ad hoc pour ça, mais c’était en gros un wrapper très rudimentaire autour de ping
    Voyez la puissance de pingu : https://pastebin.com/qTfdZ7C8

    • L’utilitaire standard ping a déjà un ping sonore avec -a. Il fait sonner la cloche du terminal à chaque réponse
    • Peux-tu ajouter cette proposition comme issue GitHub ? J’aime bien l’idée et je peux regarder sérieusement si c’est ajoutable
  • Pertinent et très important : https://www.cloudflare.com/learning/network-layer/what-is-mt...
    Il faut absolument comprendre ce que MTR montre réellement et pourquoi

  • J’aime bien gping, mais j’aimerais plus d’informations de fond ou une manpage
    La documentation fournie n’explique pas grand-chose. Par exemple, difficile de savoir ce que signifie t/o et comment les valeurs sont calculées, et la page GitHub n’aide pas beaucoup non plus

    • Oui, c’est clairement quelque chose que je veux améliorer. Le projet est devenu beaucoup plus utilisé que prévu à l’origine, donc la documentation a un peu manqué
      Pour info, t/o signifie timeouts
  • Autres choses à regarder : ministat, gnuplot, https://www.brendangregg.com/dtkshdemos.html

  • Le bing qui était un « outil de mesure probabiliste de bande passante », et non pas un moteur de recherche, me manque
    Il pouvait indiquer la bande passante entre deux liens réseau quelconques, indépendamment du fait que moi et la cible soyons séparés par un lien à bande passante limitée. J’étais moi-même connecté via un modem 33,6 Kbps à quelques sauts de distance, et je pouvais quand même mesurer la vitesse de liaisons backbone T-3 ou OC-48
    Il semble ne pas avoir duré et avoir été abandonné, et les distributions Linux populaires ont aussi cessé de le proposer en paquet. Je ne connais pas d’autre outil permettant de faire les mêmes mesures

  • Avant IPv6, à l’époque, le geoip d’IPv4 fonctionnait plutôt bien, et il existait sur Windows un outil proche de traceroute appelé NeoTrace Pro qui pouvait afficher des IP sur une carte
    Si je me souviens bien, il incluait aussi une sorte de carte de ping qui repingait chaque équipement intermédiaire
    Aujourd’hui, tous les équipements intermédiaires ne répondent plus, et il y a trop d’overlays opérateur et de gestion de flux SDN pour qu’une IP corresponde facilement à une position physique précise. Ce n’est plus comme à l’époque de la téléphonie filaire, quand de petites entreprises achetaient une classe C et mettaient le numéro de téléphone de l’entreprise dans la base ARIN

    • C’était peut-être un outil similaire à pingplotter ?