4 Punkte von GN⁺ 2023-07-02 | 1 Kommentare | Auf WhatsApp teilen
  • Ein Tool, das ping-Ergebnisse als Graph anzeigt und die Ping-Zeiten mehrerer Hosts visualisiert
  • Mit dem Flag --cmd wird statt Host-Pings die Ausführungszeit eines Befehls als Graph dargestellt
  • Wird in der Form gping [host] ausgeführt; bei Verwendung von --cmd kann ein Befehl wie curl google.com als Ziel angegeben werden
  • Unterstützt abgekürzte Bezeichnungen für Cloud-Regionen wie aws:eu-west-1 und aws:ca-central-1; derzeit wird nur aws unterstützt
  • Anzeigebereich des Graphen, Ausführungsintervall, IP-Version, Netzwerkschnittstelle, Grafikmodus, Farben und das Löschen des Graphen nach dem Beenden können per Optionen angepasst werden
    • --watch-interval hat standardmäßig 0,2 Sekunden für Ping und 0,5 Sekunden für Cmd
    • --buffer ist standardmäßig 30 Sekunden
    • --color unterstützt das Format #RRGGBB und vordefinierte Farbnamen
  • Unterstützt Windows, Mac und Linux und bietet Installationswege für Homebrew, MacPorts, Scoop, Chocolatey, Fedora COPR, Cargo, Arch Linux, Alpine Linux, Ubuntu/Debian, Gentoo, FreeBSD, Docker, Flox und gah
  • Für die Installation über Cargo wird rustc 1.67.0 oder höher benötigt

1 Kommentare

 
GN⁺ 2023-07-02
Hacker-News-Kommentare
  • Besonders gut gefällt mir, dass mehrere Hosts gleichzeitig im selben Graphen dargestellt werden
    Zum Beispiel ist gping mydomain.com google.com sehr nützlich, um schnell zu prüfen: „Liegt es an meinem WLAN oder am Hosting-Anbieter?“

    • mtr (Matt's traceroute) ist für diesen Zweck ebenfalls ein hervorragendes Tool
      Es hat keine Graph-Ausgabe, zeigt aber für die Hosts zwischen meiner IP und dem Ziel Konnektivität, Latenz, Paketverlust und Schwankungen an
      https://www.bitwizard.nl/mtr/
      Der Link, den westurner in diesem Thread zuvor erwähnt hat: https://news.ycombinator.com/item?id=36549005
    • Statt Hosts kann man auch Befehle übergeben. Zum Beispiel lässt sich curl google.com ausführen
  • mtr führt ebenfalls traceroute aus: https://en.wikipedia.org/wiki/MTR_(software)
    Es wird häufig zur Fehlersuche im Netzwerk verwendet und zeigt die Liste der durchlaufenen Router sowie die durchschnittliche Round-Trip-Time und den Paketverlust bis zu jedem Router an, sodass man erkennen kann, welcher Link zwischen Routern für die Gesamtlatenz oder den Verlust verantwortlich ist
    Scapy hat eine Funktion, die mit vpython den Pfad eines einzelnen traceroute in 3D visualisiert. An der Uni habe ich einmal daran herumgebastelt, mehrere traceroutes laufen zu lassen und alle Pfade übereinanderzuzeichnen; ich wollte wissen, ob ein bestimmter Pfad über die gesamte traceroute-Paketsequenz hinweg stabil ist: https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer...
    Um zu vermeiden, Tools als root auszuführen, die zum Erzeugen von Layer-2-Paketen Root-Rechte brauchen, kann man setcap verwenden: setcap CAP_NET_RAW /use/bin/python-scapy
    Vielleicht verbindet traceroute die Punkte auf unangemessene Weise?

    • Ich lasse mtr als Prometheus exporter laufen. Ich glaube, ich verwende https://github.com/mgumz/mtr-exporter
      Es ist so konfiguriert, dass es traceroute zu 1.1.1.1 und 8.8.8.8 ausführt, und ich sehe mir die Graphen in Prometheus an
      Diese Konfiguration habe ich eingerichtet, nachdem die Internetverbindung bei mir zu Hause über mehrere Tage sehr instabil war
      Ich habe auch ein Video der Graphen gemacht: https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
    • Dieser 3D-Graph ist wirklich beeindruckend. Ich hätte fast Lust, ihn in einem futuristischen Stil dynamisch zeichnen zu lassen und als Bildschirmschoner zu verwenden
    • MTR konnte das schon vor 30 Jahren, daher ist mir nicht ganz klar, was hier zusätzlich dazukommt. Den 3D-Export muss ich aber trotzdem einmal ausprobieren; danke fürs Teilen
  • Mir gefallen der Graph und die Nutzung mehrerer Hosts
    Da HTTPS an mehr Stellen erreichbar ist als ICMP, das auf den letzten Hops hinter Firewalls in Rechenzentren oft blockiert wird, könnte auch eine Bash-Funktion mit gping + cmd + curl ziemlich nützlich sein
    ICMP-Werte können irreführend sein: Die meisten Betriebssysteme drosseln sie, und viele Router behandeln ICMP je nach CPU-Last auf der Backplane mit niedriger Priorität; das hat aber nichts mit der tatsächlichen Fähigkeit zur Paketweiterleitung zu tun
    Wenn man bei einem Host mit sowohl IPv4- als auch IPv6-Adresse -4 verwendet, scheint es in der Anzeige zwar die IPv4-Adresse zu zeigen, tatsächlich aber die IPv6-Adresse anzupingen. Ist das bei anderen auch so? Version ist 1.8.0

  • Ein lose verwandtes Tool, ebenfalls „ping mit Graph“, aber mit anderem Charakter: https://github.com/denilsonsa/prettyping

  • Feature-Wunsch: Sound
    Es kommt selten vor, dass man an Kabeln herumhantiert und Feedback braucht. Für diesen Zweck habe ich mir einmal ein spontanes Tool gebaut, aber im Grunde war es nur ein grober Wrapper um ping
    Seht die Macht von pingu: https://pastebin.com/qTfdZ7C8

    • Das Standard-Utility ping hat mit -a bereits einen hörbaren Ping. Bei jeder Antwort gibt es einen Terminal-Bell aus
    • Könntest du diesen Vorschlag als GitHub-Issue hinzufügen? Er gefällt mir, und ich kann mir genau ansehen, ob ich ihn hinzufügen kann
  • Verwandt und sehr wichtig: https://www.cloudflare.com/learning/network-layer/what-is-mt...
    Man muss unbedingt verstehen, was MTR tatsächlich zeigt und warum

  • Ich mag gping, würde mir aber ausführlichere Informationen oder eine manpage wünschen
    Die mitgelieferte Dokumentation erklärt nicht viel. Zum Beispiel ist schwer herauszufinden, was t/o bedeutet und wie die Werte berechnet werden, und die GitHub-Seite hilft auch nicht besonders weiter

    • Stimmt, das möchte ich unbedingt verbessern. Da das Projekt deutlich stärker genutzt wird, als ursprünglich erwartet, ist die Dokumentation etwas knapp
      Zur Info: t/o bedeutet timeouts
  • Dinge, die man sich ebenfalls ansehen kann: ministat, gnuplot, https://www.brendangregg.com/dtkshdemos.html

  • Ich vermisse bing, das kein Suchmaschine, sondern ein „probabilistisches Bandbreiten-Messwerkzeug“ war
    Es konnte die Bandbreite zwischen zwei beliebigen Netzwerklinks anzeigen, unabhängig von der begrenzten Bandbreite zwischen mir und dem Ziel. Obwohl ich selbst über eine 33,6-Kbps-Modemverbindung ein paar Hops entfernt verbunden war, konnte es die Geschwindigkeit von T-3- oder OC-48-Backbone-Links messen
    Es scheint nicht lange überlebt zu haben und wurde aufgegeben; auch beliebte Linux-Distributionen haben aufgehört, Pakete dafür anzubieten. Ich kenne kein anderes Tool, das dieselbe Messung durchführen kann

  • In der Zeit vor IPv6 funktionierte GeoIP für IPv4 noch recht gut, und unter Windows gab es ein traceroute-ähnliches Tool namens NeoTrace Pro, das IPs auf einer Karte anzeigen konnte
    Soweit ich mich erinnere, enthielt es auch eine Art Ping-Karte, bei der jedes Zwischengerät erneut angepingt wurde
    Heute antworten längst nicht mehr alle Zwischengeräte, und es gibt so viele Carrier-Overlays und SDN-Flow-Management, dass sich eine IP kaum noch einem konkreten physischen Ort zuordnen lässt. Das ist nicht mehr wie in der Festnetz-Ära, als kleine Firmen Class-C-Netze kauften und ihre Telefonnummer in die ARIN-Datenbank eintrugen

    • War das ein ähnliches Tool wie pingplotter?