Gping - グラフ付きの ping
(github.com/orf)pingの結果をグラフで表示するツールで、複数ホストの ping 時間を可視化する--cmdフラグを使うと、ホストへの ping の代わりにコマンドの実行時間をグラフで表示するgping [host]の形式で実行し、--cmd使用時はcurl google.comのようなコマンドを対象に指定できるaws:eu-west-1、aws:ca-central-1のようなクラウドリージョンの省略表記をサポートし、現在サポート対象はawsのみ- グラフの表示範囲と実行間隔、IP バージョン、ネットワークインターフェース、グラフィック方式、色、終了後のグラフ削除をオプションで調整できる
--watch-intervalのデフォルト値は ping 0.2秒、cmd 0.5秒--bufferのデフォルト値は30秒--colorは#RRGGBB形式と指定された色名をサポートする
- Windows、Mac、Linux をサポートし、Homebrew、MacPorts、Scoop、Chocolatey、Fedora COPR、Cargo、Arch Linux、Alpine Linux、Ubuntu/Debian、Gentoo、FreeBSD、Docker、Flox、gah のインストール経路を提供する
- Cargo でのインストールには
rustc1.67.0 以上が必要
1件のコメント
Hacker News のコメント
複数のホストを同時に渡すと、同じグラフに描いてくれるのが本当に良い
たとえば
gping mydomain.com google.comは、「自分の Wi-Fi の問題なのか、ホスティング事業者の問題なのか」をすばやく確認するのにとても便利グラフ表示はないが、自分の IP と宛先の間にあるホストについて、接続性、遅延、パケットロス、ばらつきを示してくれる
https://www.bitwizard.nl/mtr/
このスレッドで westurner が先に触れていたリンク: https://news.ycombinator.com/item?id=36549005
curl google.comを実行するような形mtr は traceroute も実行する: https://en.wikipedia.org/wiki/MTR_(software)
ネットワーク障害の切り分けによく使われ、通過するルーターの一覧と、各ルーターまでの平均ラウンドトリップ時間、パケットロスを表示するので、全体の遅延や損失の原因がどのルーター間リンクにあるのか把握できる
Scapy には、vpython で 1 回の traceroute の経路を3D 可視化する機能がある。大学時代に複数の traceroute を流して、すべての経路を重ねて描くよう改造してみたことがあり、traceroute のパケットシーケンス全体を通して特定の経路が安定しているのか気になっていた: https://scapy.readthedocs.io/en/latest/usage.html#tcp-tracer...
レイヤー 2 パケットを作るために root が必要なツールの実行を避ける方法として、
setcapを使える:setcap CAP_NET_RAW /use/bin/python-scapytraceroute が点を不適切につないでしまうことはないのだろうか?
1.1.1.1 と 8.8.8.8 に traceroute を実行するよう設定してあり、Prometheus でグラフを見ている
自宅のインターネットが数日間かなり不安定だったあとで、この構成を作ることになった
グラフについての動画も作った: https://video.nstr.no/w/hjTH3Vggn2fvpTrQitMmVP
グラフと複数ホスト対応が気に入っている
HTTPS は、データセンターのファイアウォールの後ろにある最後の数ホップでよく遮断される ICMP よりも多くの場所に到達できるので、
gping + cmd + curlを使う bash 関数もかなり有用かもしれないICMP の数値は誤解を招くことがある。たいていの OS はレート制限をかけるし、多くのルーターはバックプレーン CPU の負荷に応じて ICMP を低優先度で処理するが、これは実際のパケット転送能力とは無関係
IPv4 と IPv6 の両方のアドレスを持つホストに
-4を使うと、表示上は IPv4 アドレスを見せつつ、実際にはIPv6 アドレスに ping を送っているように見える。他の人もそうだろうか? バージョンは 1.8.0ゆるく関連するツールとして、これも「グラフ付き ping」だが性格は異なる: https://github.com/denilsonsa/prettyping
機能要望: 音
ケーブルをいじりながらフィードバックが必要になることがたまにある。その用途向けに即席ツールを作ったことはあるが、実質的には ping をラップした雑なツール
pinguの力を見よ: https://pastebin.com/qTfdZ7C8pingユーティリティにも、すでに-aによる音の鳴る pingがある。応答のたびにターミナルベルを鳴らす関連していて非常に重要: https://www.cloudflare.com/learning/network-layer/what-is-mt...
MTR が実際に何を表示しているのかと、その理由を必ず理解しておくべき
gping は好きだが、もっと掘り下げた情報や manpage が欲しい
付属のドキュメントは説明があまり多くない。たとえば
t/oが何なのか、値がどう計算されているのか分かりづらく、GitHub ページもあまり助けにならないちなみに
t/oは timeouts のこと一緒に見るとよいもの: ministat、gnuplot、https://www.brendangregg.com/dtkshdemos.html
検索エンジンではなく「確率的帯域測定ツール」だった bing が懐かしい
自分と対象の間の制限された帯域幅とは無関係に、任意の 2 つのネットワークリンク間の帯域幅を教えてくれた。自分自身は 33.6Kbps モデム回線で数ホップ離れてつながっていたのに、T-3 や OC-48 バックボーンリンクの速度を測定できた
長くは続かず放棄されたようで、主要な Linux ディストリビューションもパッケージ提供をやめてしまった。同じ測定ができる別のツールは知らない
IPv6 以前の昔は、IPv4 の geoip がかなり機能していて、Windows には IP を地図上に表示できる traceroute 風ツール NeoTrace Pro があった
記憶では、中間装置ごとに再度 ping を打つ ping マップのような機能も入っていた
今ではすべての中間装置が応答するわけでもなく、キャリアのオーバーレイや SDN のフロー管理も多すぎて、IP を特定の物理位置に対応付けるのが難しい。小さな会社が Class C を買って ARIN データベースに会社の電話番号を載せていた固定電話のような時代とは違う