gpingを使ってpingをグラフ化する!

pingの応答時間をターミナル上でグラフ表示するネットワーク調査ツール
- gping -

gpingは、Rustで開発された軽量なネットワーク調査ツールです。pingの応答時間をターミナル上でリアルタイムにグラフ表示し、複数ホストの比較やコマンド実行時間の測定にも対応しています。

本記事では、gpingの概要や従来のpingとの違い、各OSへのインストール方法、基本的な使い方を体系的に解説します。さらに、gpingの実行結果を画面付きで解説しているため、実際の操作をイメージしながら理解を深められます。

目次

gpingの概要

gpingとは

gping(Graphical Ping)は、ネットワークの応答時間をリアルタイムのグラフで表示するネットワーク診断ツールです。一般的なpingと同様に、指定したホストへパケットを送信し、応答にかかった時間を継続的に測定します。

Rustで実装されており、開発者はTom Forbes氏(GitHubアカウント:orf)です。
公式GitHub:https://github.com/orf/gping

通常は対象ホストから応答が返ってくるまでの時間を測定します。--cmdオプションを使用すると、ネットワークの応答時間ではなく、指定したコマンドの実行時間を継続的に測定することもできます。

主な特長

  • 測定した応答時間をターミナル上にグラフとして表示する
  • 複数ホストの応答時間を測定し、1つのグラフに色分けして描画できる
  • 通常のpingだけでなく、--cmdオプションを使って任意のコマンドの実行時間をグラフ化できる
  • Rust言語で書かれており、Linux、macOS、Windowsに対応
  • ターミナル上で動作するため、GUI環境がないサーバーでも利用できる
  • IPv4・IPv6に対応している
  • ネットワークインターフェースやグラフの色、実行間隔などを指定できる
  • MITライセンスのもとで公開されているオープンソースソフトウェア

gpingは応答時間を測定するため、一定間隔で継続的にパケットを送信します。極端に短い送信間隔で長時間パケットを送信し続けると、ネットワークや対象機器に不要な負荷を与える可能性があります。自分が管理する環境、または管理者から許可を得た環境でのみ使用してください。

従来のpingとの違い

pinggping
主な用途疎通確認や応答時間の確認応答時間の傾向や変動の可視化
導入方法OSに標準搭載別途インストールが必要
表示形式数値を1行ずつ表示応答時間をグラフ表示
遅延の変化出力を読み取って判断するグラフから視覚的に判断できる
複数ホストの実行1コマンド1ホスト複数ホストを同時に表示できる
コマンド実行時間の測定不可--cmdオプションで対応

従来のpingは、宛先アドレス、TTL、応答時間を1行ずつ出力します。詳細な数値を確認する用途には適していますが、応答時間がどのように変化しているかを直感的に把握するには、出力結果を追い続ける必要があります。

pingの実行例

$ ping -c 5 192.168.10.106
PING 192.168.10.106 (192.168.10.106) 56(84) bytes of data.
64 bytes from 192.168.10.106: icmp_seq=1 ttl=64 time=0.549 ms
64 bytes from 192.168.10.106: icmp_seq=2 ttl=64 time=0.549 ms
64 bytes from 192.168.10.106: icmp_seq=3 ttl=64 time=0.563 ms
64 bytes from 192.168.10.106: icmp_seq=4 ttl=64 time=0.643 ms
64 bytes from 192.168.10.106: icmp_seq=5 ttl=64 time=0.618 ms

--- 192.168.10.106 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4102ms
rtt min/avg/max/mdev = 0.549/0.584/0.643/0.038 ms

一方、gpingは応答時間の推移をグラフとして表示します。遅延の増減や周期的な変動を視覚的に確認できるため、ネットワーク状態の傾向を把握しやすい点が特徴です。

gpingの実行例

gpingの実行結果の画面

リリース履歴

gpingはオープンソースソフトウェアとしてGitHub上で開発されており、機能追加や不具合修正に伴って継続的にバージョンが更新されています。公式GitHubのReleasesページでは、1.15系、1.16系、1.17系、1.18系、1.19系、1.20系など、複数のバージョンが公開されています。

近年の主なリリース

バージョンリリース日備考
1.20.42026年6月25日最新版(2026年8月6日時点)
1.20.22026年6月15日
1.20.12025年8月15日
1.19.02024年12月18日
1.19.02024年11月17日

gpingのインストール

  • Kali Linuxの場合
  • Ubuntuの場合
  • Dockerの場合
  • WindowsやmacOSなど、その他OSの場合

Kali Linuxの場合

Kali Linux 2026.2にはgpingが標準でインストールされていませんが、公式リポジトリからAPT経由でインストールできます。

STEP

パッケージリストの更新

$ sudo apt update
STEP

パッケージ情報の確認

$ apt show gping
Package: gping
Version: 1.20.4-1
Built-Using: rust-ahash (= 0.8.12-4.1), rust-lazy-regex (= 3.4.2+20251114-1), rustc (= 1.95.0+dfsg1-2)
Static-Built-Using: rust-ahash (= 0.8.12-4.1), rust-aho-corasick (= 1.1.4-1), rust-allocator-api2 (= 0.2.21-1), rust-ans>
Priority: optional
Section: utils
Source: rust-gping
Maintainer: Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
Installed-Size: 3,856 kB
Depends: libc6 (>= 2.39), libgcc-s1 (>= 4.2)
Homepage: https://github.com/orf/gping
Download-Size: 1,088 kB
APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
Description: ping, but with a graph
 gping is a graphical tui interface for the ping(1) command. It's completely
 written in rust.
 It comes with the following features:
  - Graph the ping time for multiple hosts
  - Graph the execution time for commands via the --cmd flag
  - Custom colours
STEP

gpingのインストール

$ sudo apt install gping
STEP

インストール後の確認

# 実行パスの確認
$ command -v gping
/usr/bin/gping

# バージョンの確認
$ gping -V
gping 1.20.4

Ubuntuの場合

Ubuntu 26.04 LTSでは、gpingはプリインストールされていませんが、公式リポジトリからインストールできます。基本的な導入手順は、前述のKali Linuxと同様です。

ただし、Ubuntuのバージョンが古い場合、公式リポジトリでgpingが提供されていないことがあります。その場合は、Azluxリポジトリを追加することでインストールできます。具体的な手順は、公式GitHubをご確認ください。

Dockerの場合

ホストOSにgpingパッケージをインストールしたくない場合は、Dockerコンテナを使用します。検証環境を一時的に用意したい場合や、ホスト環境への変更を最小限に抑えたい場合に有効です。

【前提条件】Dockerがインストール済みであること

最初に、Dockerのインストール状況を確認します。

$ docker -v
Docker version 29.7.1, build e9452d6

UbuntuにDockerをインストールする場合は、「UbuntuにDockerをインストール」をご覧ください。

Docker環境でgpingを起動する場合、以下のコマンドを実行します。

$ docker run --rm -ti --network host ghcr.io/orf/gping:gping-v1.20.4 example.com
  • docker run:Dockerイメージからコンテナを作成して起動する。
  • --rm:コンテナ停止時(gping終了時)に、そのコンテナを自動的に削除する。
  • -t:擬似ターミナル(TTY)を割り当てる。
  • -i:標準入力を開いたままにする。
  • --network host:コンテナがホストOSのネットワーク名前空間を直接使用する。
  • ghcr.io/orf/gping:gping-v1.20.4:実行するDockerイメージ。
  • example.com:コンテナ内で実行されるgpingに渡す引数(宛先ホスト)

上記のコマンドを実行すると、gpingのDockerイメージを取得してコンテナを起動し、指定したホストに対してgpingを実行します。実行終了後、コンテナは自動的に削除されます。

上記コマンドでは、2026年8月6日時点の最新バージョン(1.20.4)を指定しています。

WindowsやmacOSなど、その他OSの場合

WindowsおよびmacOSの主要なパッケージマネージャーに対応しており、WindowsではScoopやChocolatey、macOSではHomebrewやMacPortsからインストールできます。このほか、Fedora、Arch Linux、Alpine Linux、Gentoo、FreeBSDなど、幅広い環境向けのパッケージが提供されています。

OSごとのインストール手順は、公式GitHubをご確認ください。

gpingの使い方

gpingの基本構文
$ gping [オプション] 対象ホスト or コマンド

対象ホストには、ホスト名またはIPアドレスを指定します。

基本的な使い方

最もシンプルな実行例

$ gping example.com
$ gping 192.0.2.1

gpingを実行すると、対象ホストへの応答時間がターミナル上にグラフで表示されます。時間の経過に伴う遅延の変化を視覚的に確認できるため、一時的な遅延や通信品質のばらつきを把握しやすくなります。実行を終了するには、qキーまたはEscキー、Ctrl + Cを押します。

対象ホストではなくコマンドを指定すると、そのコマンドの実行時間をグラフ化できます。詳細は後述の『コマンドの実行時間をグラフ化する』で解説しています。

実行画面のサンプル

gpingの実行結果の画面

グラフの上部には、対象ホストと直近の応答時間、最小、最大、平均などの統計値が表示されます。

複数のホストを同時に確認する

gpingでは、対象ホストをスペース区切りで複数指定できます。

コマンド例

$ gping 192.168.10.254 192.168.20.253 192.168.30.107

実行結果

gping 192.168.10.254 192.168.20.253 192.168.30.107の実行結果

それぞれが色分けされ、同一のグラフ上に重ねて描画されるため、複数のネットワーク機器やサーバーの状態を比較できます。この比較は、遅延の原因を切り分ける際に有効です。

  • 特定のホストだけ遅い → そのホストまたは経路上の問題
  • すべてのホストが同時に遅い → 端末側の問題、または共通するネットワーク経路の問題

「なんとなく遅い」という曖昧な状態を、客観的なグラフとして共有できる形に変えられます。

ヘルプ

使用できる引数やオプションを確認するには、-hまたは--helpオプションを使用します。

$ gping -h

オプション一覧

オプション概要
--cmdホストへPingを送る代わりに、指定したコマンドの実行時間をグラフ化する
-n, --watch-interval <WATCH_INTERVAL>実行間隔(単位:秒)※小数可
[デフォルト: pingは0.2 秒、--cmdは0.5 秒]
-b, --buffer <BUFFER>グラフに表示する時間幅 [デフォルト:30秒]
-4IPv4でPingを実行する
-6IPv6でPingを実行する
-i, --interface <INTERFACE>パケット送信に使用するインターフェース
-s, --simple-graphics点字文字ではなく、ドット文字を使ってグラフを描画する
--vertical-margin <VERTICAL_MARGIN>グラフの上下の余白 [デフォルト:1]
--horizontal-margin <HORIZONTAL_MARGIN>グラフの左右の余白 [デフォルト:0]
-c, --color <color>グラフの線の色
--cleargping終了後、ターミナル上のグラフを消去する
--ping-args [<PING_ARGS>...]内部で呼ばれるpingコマンドに渡す引数
-h, --helpヘルプを表示
-V, --versionバージョンを表示

各オプションを実際に実行してみた

ここからは、各オプションを実際に実行しながら挙動を確認していきます。掲載している実行結果は、Kali Linux環境でgpingを実行したものです。

gping実行環境
  • Kali Linux 2026.02
  • gping 1.20.4

なお、本記事ではVirtualBox上に構築した仮想環境内でgpingを実行しています。学習・検証を目的とする場合であっても、他者が管理する機器への継続的なパケット送信は、不正アクセスやサービス妨害とみなされる可能性があります。必ず、ご自身が管理する環境で実施してください。

コマンドの実行時間をグラフ化する

gpingは、ICMPによる応答時間だけでなく、指定したコマンドの実行時間もグラフ化できます。コマンドの実行時間を測定する場合、--cmdオプションを使用します。

$ gping --cmd 'コマンド'

コマンド全体をクォートで囲んでください。囲まない場合、gpingの引数として処理されます。

--cmdに指定したコマンドは繰り返し実行されます。ファイルの削除やデータの更新など、システムの状態を変更させるコマンドは指定しないでください。

例)sleepコマンドの実行時間を測定

コマンド例

$ gping --cmd 'sleep 0.5'

例として、sleepコマンドの実行時間を測定します。上記コマンドを実行すると、sleep 0.5が一定間隔で繰り返され、コマンドの完了までに要した時間がグラフに表示されます。

実行結果

gping --cmd 'sleep 0.5'の実行結果

例)複数のコマンドの実行時間を比較

コマンド例

$ gping --cmd 'sleep 0.5' 'sleep 1'

複数のコマンドの実行時間を比較することも可能です。この例では、sleep 0.5sleep 1の実行時間を同じ画面上で比較できます。

実行結果

gping --cmd 'sleep 0.5' 'sleep 1'の実行結果

実行間隔

gpingは、一定の間隔でICMP Echo Requestを送信し、対象ホストの応答時間を測定します。

デフォルト値
  • 通常のping測定:0.2秒
  • --cmd使用時:0.5秒

測定間隔を変更する場合は、-nまたは--watch-intervalオプションを指定します。(小数も可)

$ gping -n 0.5 192.168.10.106    # 0.5秒間隔の場合

測定間隔を短くすると細かな変化を確認できますが、測定対象やネットワークへの通信回数も増加します。

グラフに表示する秒数(横軸)

-bまたは--bufferは、グラフに表示する時間範囲(横軸)を秒単位で指定するオプションです。(デフォルト:30秒)

コマンド例

# 直近60秒分の測定結果をグラフに表示する場合
$ gping -b 60 192.168.10.106

実行結果

gping -b 60 192.168.10.106の実行結果

なお、-bで指定するのはグラフに表示する秒数(横軸)です。測定時間ではありません。

インターネットプロトコル(IPv4、IPv6)

IPv4とIPv6の両方に対応している環境では、使用するプロトコルによって通信経路や応答時間が異なる場合があります。オプションを明示的に指定すると、対象プロトコルの通信状況を確認できます。

  • IPv4環境の通信状況を確認する場合、-4オプションを指定。
  • IPv6環境の通信状況を確認する場合、-6オプションを指定。

コマンド例

$ gping -4 ubuntu.labo.test    # IPv4環境の場合

実行結果

gping -4 ubuntu.labo.testの実行結果

ネットワークインターフェース

-iまたは--interfaceは、パケット送信に使用するネットワークインターフェースを指定するオプションです。複数のネットワークインターフェースを持つ端末で、通信経路を指定する場合に使用します。

例えば、次のような環境が該当します。
  • 有線LANと無線LANを同時に接続している
  • VPNインターフェースが存在する
  • 複数のNICを搭載している
$ gping -i eth0 192.168.10.106

使用可能なインターフェースは、ip -br addressコマンドなどで確認できます。インターフェースの確認方法は、ネットワークインターフェース(NIC)確認コマンドをご覧ください。

点字の代わりにドット文字を使用する

-sまたは--simple-graphicsは、グラフの描画に点字(Braille)文字ではなく、単純なドット文字を使用するオプションです。

コマンド例

$ gping -s 192.168.10.106

実行結果

gping -s 192.168.10.106の実行結果

グラフの上下の余白

グラフの上下に余白を設ける場合、--vertical-marginオプションを指定します。(デフォルト:1)

コマンド例

$ gping --vertical-margin 5 192.168.10.106    # 余白を広げる場合(例えば5を設定)
$ gping --vertical-margin 0 192.168.10.106    # 余白をなくす場合

それぞれの実行結果は以下のとおりです。

余白を広げる場合

gping --vertical-margin 5 192.168.10.106の実行結果

余白をなくす場合

gping --vertical-margin 0 192.168.10.106の実行結果

グラフの左右の余白

グラフの左右に余白を設ける場合、--horizontal-marginオプションを指定します。(デフォルト:0)

コマンド例

$ gping --horizontal-margin 10 192.168.10.106

実行画面

gping --horizontal-margin 10 192.168.10.106の実行結果

グラフに色を割り当てる

-cまたは--colorは、グラフに使用する色を指定するオプションです。色名に加えて、#RRGGBB形式の16進数RGBカラーコードも使用できます。

指定できる色名

black, red, green, yellow, blue, magenta, cyan, gray, dark-gray, light-red, light-green, light-yellow, light-blue, light-magenta, light-cyan, white

コマンド例

$ gping -c green 192.168.10.106
$ gping -c '#00ff88' 192.168.10.106
$ gping -c blue,'#fbff00' 192.168.10.101 192.168.10.106
$ gping -c yellow -c '#00b0ff' 192.168.10.101 192.168.10.106

16進指定はシングルクォートで囲みます。複数のホストを指定した場合は、指定した順序に従って色が割り当てられます。

実行結果(gping -c blue,'#fbff00' 192.168.10.101 192.168.10.106 の場合)

gping -c blue,'#fbff00' 192.168.10.101 192.168.10.106の実行結果

終了時にターミナルからグラフを消去する

既定の動作では、gpingを終了した後もグラフの描画結果がターミナル上に残ります。--clearを付けると終了時に画面がクリアされ、ターミナル上からグラフが消去されます。

$ gping --clear 192.168.10.106

内部で実行されるpingに引数を渡す

--ping-argsは、gpingが内部で呼び出すpingへ引数を渡すオプションです。gpingが標準で提供していない細かな制御を行いたい場合に使用します。(例.実行回数の指定、パケットサイズの変更、TTLの指定など)

例)実行回数を10回に設定

$ gping --ping-args='-c 10' 192.168.10.106

指定できる引数(オプション)は、OSやpingの実装によって異なります。同じオプションであっても、LinuxとmacOS、BSD系OS、Windowsでは意味や単位が異なる場合があります。

デフォラボ

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次