pingコマンドのHTTP版としてWebサーバーの疎通確認や応答時間を測定できるコマンドラインツール
- httping -
ネットワークの疎通確認といえばpingコマンドが定番ですが、ICMP通信が遮断されている環境では疎通確認を行えません。
そこで役立つのが、HTTPレベルでの疎通確認や応答時間を測定できる『httping』です。
本記事では、httpingの概要やpingとの違い、Linux環境へのインストール方法、基本的な使い方を解説します。さらに、送信回数、送信間隔、ポート番号、GETリクエスト、タイムスタンプ表示などの主要オプションについて、具体的なコマンド例を掲載しています。
コピー&ペーストしてすぐに試せる実例を豊富に用意しているため、手を動かしながら学びたい方にも最適です。
httpingの概要
httpingとは
httpingは、WebサーバーにHTTPまたはHTTPSリクエストを送信し、応答にかかった時間(RTT・往復時間)を測定するコマンドラインツールです。一般的なpingに近い形式で結果を表示するため、「HTTP版のping」と位置付けられます。
httpingはWebサーバーのレイテンシ(応答遅延)を測定するプログラムで、バージョン1.0.6以降はスループット(データ転送速度)も測定できるようになりました。現在もGitHub上で開発が継続しており、最新バージョンは4.4.0(*)です。ライセンス形態はオープンソース(AGPL v3.0)を採用しており、主要なLinuxディストリビューションで利用可能です。(* 2026年7月21日現在)
- HTTP/HTTPSリクエストを用いた疎通確認
- Webサーバーの応答遅延(レイテンシ)を測定
- HTTPステータスコード(200、404など)の確認
- トップページだけでなく任意のパスも指定可能
- ネットワーク障害とWebサーバー障害の切り分け
pingとhttpingの違い
| ping | httping | |
|---|---|---|
| 使用するプロトコル | ICMP | HTTPまたはHTTPS |
| OSI参照モデルでの階層 | ネットワーク層(レイヤー3) | アプリケーション層(レイヤー7) |
| 主な確認対象 | ホストやネットワーク機器 | Webサーバー、Webアプリケーション |
| 測定対象 | ホストそのものへの到達性・往復時間 | Webサービスの応答性能 |
| 取得できる付加情報 | RTT(往復時間)のみ | RTT(往復時間)、HTTPステータスコード、転送速度など |
| HTTPリクエストの送信 | できない | できる |
| HTTPステータスコードの確認 | できない | できる |
| URLパス単位の確認 | できない | できる |
| ICMPが遮断された環境での利用 | 不可 | HTTP(S)通信が許可されていれば可能 |
pingとhttpingは、どちらも対象への到達性やRTT(往復時間)を確認するツールですが、使用するプロトコルとレイヤーが異なります。pingがICMPを利用してネットワークレベルの疎通を確認するのに対し、httpingはHTTPリクエストを利用してアプリケーションレベルでWebサービスの応答状況を確認します。
対象ホストがICMPを遮断している場合でも、HTTPまたはHTTPSサービスが稼働していれば、httpingを利用してRTT(往復時間)を測定できます。この仕組みにより、ICMPに依存せず、Webプロトコルを介した疎通確認が可能です。
【参考】pingとhttpingの違いをパケットレベルで比較
当サイトの検証環境で収集した通信パケットを用いて、pingとhttpingの違いを比較します。
- 送信元ホスト:192.168.10.11(ping/httping実行端末)
- 宛先ホスト:192.168.10.106
ping実行時に送受信されるパケット
03:57:05.518806 IP 192.168.10.11 > 192.168.10.106: ICMP echo request, id 25492, seq 1, length 64
03:57:05.519266 IP 192.168.10.106 > 192.168.10.11: ICMP echo reply, id 25492, seq 1, length 64pingではICMP Echo RequestとICMP Echo Replyが送受信され、レイヤー3(ネットワーク層)のICMPを利用して疎通確認が行われていることを確認できます。
httping実行時に送受信されるパケット
03:57:17.361859 IP 192.168.10.11.58838 > 192.168.10.106.80: Flags [S], seq 1216835452, win 64240, options [mss 1460,sackOK,TS val 1833031338 ecr 0,nop,wscale 9], length 0
03:57:17.362305 IP 192.168.10.106.80 > 192.168.10.11.58838: Flags [S.], seq 3910961247, ack 1216835453, win 65160, options [mss 1460,sackOK,TS val 2285708092 ecr 1833031338,nop,wscale 9], length 0
03:57:17.362320 IP 192.168.10.11.58838 > 192.168.10.106.80: Flags [.], ack 1, win 126, options [nop,nop,TS val 1833031338 ecr 2285708092], length 0
03:57:17.362418 IP 192.168.10.11.58838 > 192.168.10.106.80: Flags [P.], seq 1:70, ack 1, win 126, options [nop,nop,TS val 1833031338 ecr 2285708092], length 69: HTTP: HEAD / HTTP/1.0
03:57:17.362707 IP 192.168.10.106.80 > 192.168.10.11.58838: Flags [.], ack 70, win 128, options [nop,nop,TS val 2285708092 ecr 1833031338], length 0
03:57:17.362914 IP 192.168.10.106.80 > 192.168.10.11.58838: Flags [P.], seq 1:243, ack 70, win 128, options [nop,nop,TS val 2285708092 ecr 1833031338], length 242: HTTP: HTTP/1.1 200 OK
03:57:17.362915 IP 192.168.10.106.80 > 192.168.10.11.58838: Flags [F.], seq 243, ack 70, win 128, options [nop,nop,TS val 2285708092 ecr 1833031338], length 0
03:57:17.362920 IP 192.168.10.11.58838 > 192.168.10.106.80: Flags [.], ack 243, win 126, options [nop,nop,TS val 1833031339 ecr 2285708092], length 0
03:57:17.363167 IP 192.168.10.11.58838 > 192.168.10.106.80: Flags [F.], seq 70, ack 244, win 126, options [nop,nop,TS val 1833031339 ecr 2285708092], length 0
03:57:17.363514 IP 192.168.10.106.80 > 192.168.10.11.58838: Flags [.], ack 71, win 128, options [nop,nop,TS val 2285708093 ecr 1833031339], length 0一方、httpingでは、TCPの3ウェイハンドシェイク(SYN → SYN/ACK → ACK)によって接続が確立された後、レイヤ7(アプリケーション層)のHTTPリクエストおよびHTTPレスポンスが送受信されていることを確認できます。
httpingのインストール
httpingのインストール方法は、利用するLinuxディストリビューションによって異なります。
Kali LinuxやUbuntuなどのDebian系ディストリビューションでは、公式リポジトリを通じてhttpingパッケージが提供されています。一方、AlmaLinuxなどのRHEL系ディストリビューションでは、公式リポジトリにhttpingが含まれていない場合があるため、その場合はソースコードからビルドします。
- Debian系ディストリビューション
- Kali Linux 2026.2:有(httping v4.4.0)
- Ubuntu 26.04 LTS:有(httping v4.4.0)
- RHEL系ディストリビューション
- AlmaLinux 10.2:無
※2026年7月21日確認
Debian系の場合
Kali Linux 2026.2やUbuntu 26.04 LTSなどのDebian系ディストリビューションでは、APTを使用してhttpingパッケージをインストールします。Kali Linux、Ubuntuいずれも、httpingの最新バージョン(4.4.0)が提供されています。
パッケージリストの最新化
$ sudo apt updateパッケージ情報の確認
$ apt show httping
Package: httping
Version: 4.4.0-3
Priority: optional
Section: net
Maintainer: Abhijith PA <abhijith@debian.org>
Installed-Size: 124 kB
Depends: libc6 (>= 2.38), libfftw3-double3 (>= 3.3.10), libncurses6 (>= 6), libssl3>
Homepage: http://www.vanheusden.com/httping
Tag: admin::monitoring, implemented-in::c, interface::commandline,
network::scanner, protocol::http, role::program, scope::utility,
uitoolkit::ncurses
Download-Size: 46.3 kB
APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages
Description: ping-like program for http-requests
httping is like ping for HTTP. It sends requests to a hostname or a remote
URL and it shows you how long it takes to connect, send a HTTP request and
retrieve the reply (only the header).
.
It supports SSL as well as various different ways to use it.インストール前にパッケージ情報を確認します。実際に表示される内容は、使用しているディストリビューション、リポジトリの更新状況、インストール時期によって異なります。(上記は、Kali Linuxのパッケージ情報です。)
インストール状況の確認
$ apt list --installed | grep httping念のため、インストール状況を確認します。インストールされていない場合、何も出力されません。
httpingのインストール
$ sudo apt install httpingパッケージ管理システムを利用してインストールすることで、OpenSSL、ncurses、FFTW3などの依存ライブラリも自動的に解決されるため、環境構築にかかる手間を大幅に削減できます。
RHEL系の場合
RHEL系ディストリビューションでは、まずDNFでパッケージを検索します。例えば、AlmaLinux 10.2の場合、標準リポジトリや追加リポジトリ(EPELリポジトリなど)にhttpingパッケージが含まれていません(2026年7月21日時点)。
AlmaLinux 10.2(当サイトの検証環境)の場合
# (参考)有効なリポジトリ一覧
$ dnf repolist --enabled
repo id repo の名前
appstream AlmaLinux 10 - AppStream
baseos AlmaLinux 10 - BaseOS
crb AlmaLinux 10 - CRB
epel Extra Packages for Enterprise Linux 10 - x86_64
extras AlmaLinux 10 - Extras
# httpingパッケージを検索
$ dnf search httping
一致する項目はありませんでした。その場合、GitHub上で公開されているソースコードを取得し、CMakeを使用してビルドする必要があります。詳細は、httpingの公式GitHubをご覧ください。
インストール後の確認
確認コマンドの出力内容は、ディストリビューションやインストール方法によって異なる場合があります。
実行ファイルのパス確認
最初に実行ファイルのパスを確認します。
$ command -v httping
/usr/bin/httpingバージョン確認
インストールされたhttpingのバージョンを確認するには、-Vオプションを使用します。
$ httping -V
HTTPing v4.4.0, (C) 2003-2023 folkert@vanheusden.com
* SSL support included (-l)
* ncurses interface with FFT included (-K)
* TFO (TCP fast open) support included (-F)ヘルプ
httpingで使用できるオプションは、--helpオプションで確認できます。
$ httping --help
HTTPing v4.4.0, (C) 2003-2023 folkert@vanheusden.com
* SSL support included (-l)
* ncurses interface with FFT included (-K)
* TFO (TCP fast open) support included (-F)
*** where to connect to ***
-g x / --url URL to ping (e.g. -g http://localhost/)
-h x / --hostname hostname to ping (e.g. localhost) - use either -g or -h
-p x / --port portnumber (e.g. 80) - use with -h
-6 / --ipv6 use IPv6 when resolving/connecting
-l / --use-ssl connect using SSL. pinging an https URL automatically enables this setting
*** proxy settings ***
-x x / --proxy x should be "host:port" which are the network settings of the http/https proxy server.
ipv6 ip-address should be "[ip:address]:port"
〜 以下、省略 〜httpingコマンドでは、URL、ホスト名、ポート番号、実行回数、送信間隔、GETリクエスト、ステータスコード表示などが指定可能です。
httpingの基本的な使い方
-gまたは--urlオプションを使用すると、ターゲット(宛先ホスト)をURL形式で指定できます。ホスト名またはIPアドレスで指定する場合は、-hまたは--hostnameオプションを使用します。
$ httping -g http://example.com/ # URL
$ httping -h example.com # ホスト名
$ httping -h 192.0.2.1 # IPアドレスhttpingコマンドを実行すると、ターゲットに対してHEADリクエストを1秒間隔で送信し続け、各リクエストに対するRTT(往復時間)をミリ秒単位で表示します。送信を終了するには、Ctrl+Cを押します。Ctrl+Cで停止するまで継続的に実行される点は、一般的なpingコマンドと同様です。
実行結果の例(当サイトの検証環境の場合)
$ httping -g http://192.168.10.106/
PING 192.168.10.106:80 (/):
connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.22 ms
connected to 192.168.10.106:80 (246 bytes), seq=1 time= 1.78 ms
connected to 192.168.10.106:80 (246 bytes), seq=2 time= 1.69 ms
connected to 192.168.10.106:80 (246 bytes), seq=3 time= 1.93 ms
connected to 192.168.10.106:80 (246 bytes), seq=4 time= 1.49 ms
^CGot signal 2
--- http://192.168.10.106/ ping statistics ---
5 connects, 5 ok, 0.00% failed, time 4581ms
round-trip min/avg/max = 1.2/1.6/1.9 msコマンド終了時には、それまでの成功回数、失敗率、RTT(往復時間)の最小値・平均値・最大値などの統計情報が表示されます。
URLを直接指定する場合、トップページだけでなく任意のパスも指定できます。
$ httping -g http://example.com/dir/sample.htmlパスを指定することで、Webサーバー全体の疎通確認だけではなく、特定のWebページやアプリケーションのエンドポイントが応答するか確認できます。
httpingはHTTPだけでなく、HTTPS接続にも対応しています。
$ httping -g https://example.com/ # オプション省略
$ httping -l -g https://example.com/ # -lのみ指定
$ httping -l -g https://example.com/ -p 443 # -l, -pを指定-l:SSL接続-p 443:宛先ポート番号
URLスキームにhttpsを指定すると、-lと-p 443が自動的に適用されるため、これらのオプションは省略可能です。
ホスト名・IPアドレス指定の場合、HTTPS接続はできないかも。。。
$ httping -l -h example.com
using "http://" with SSL enabled (-l)
errno=0 which means Success (if applicable)
$ httping -l -h example.com -p 443
using "http://" with SSL enabled (-l)
errno=0 which means Success (if applicable)主要オプションのコマンド例
本セクションでは、httpingの主要オプションを実際に実行し、その結果を1つずつ確認していきます。
- プローブパケットの送信回数(-c、--count)
- プローブパケットの送信間隔(-i、--interval)
- ポート番号を指定(-p、--port)
- GETリクエストを送信(-G、--get-request)
- HTTPステータスコードを表示する(-s、--show-statuscodes)
- タイムスタンプを表示する(--timestamp、--ts)
- ncursesユーザーインターフェース(-K、--ncurses、--gui)
- 色付きで表示する(-Y、--colors)
コマンド実行は自身が管理するサーバー、または許可を得た環境で実施してください。特に短い間隔で多数のリクエストを送信すると、対象サーバーに過度な負荷を与える可能性があります。
- 送信元ホスト(httping実行端末)
- Kali Linux 2026.2
- 192.168.10.11
- httping v4.4.0
- 宛先ホスト
- Ubuntu Server 26.04 LTS
- 192.168.10.106
プローブパケットの送信回数
HTTPリクエストの送信回数は、-cまたは--countオプションで指定します。
$ httping -g http://192.168.10.106/ -c 5
PING 192.168.10.106:80 (/):
connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.24 ms
connected to 192.168.10.106:80 (246 bytes), seq=1 time= 1.32 ms
connected to 192.168.10.106:80 (246 bytes), seq=2 time= 3.76 ms
connected to 192.168.10.106:80 (246 bytes), seq=3 time= 1.58 ms
connected to 192.168.10.106:80 (246 bytes), seq=4 time= 1.71 ms
--- http://192.168.10.106/ ping statistics ---
5 connects, 5 ok, 0.00% failed, time 5029ms
round-trip min/avg/max = 1.2/1.9/3.8 ms上記コマンドの場合、HTTPリクエストを5回送信した後、自動的に終了します。
プローブパケットの送信間隔
HTTPリクエストの送信間隔は、-iまたは--intervalオプションで指定します。(単位:秒)
$ httping -g http://192.168.10.106/ -c 5 -i 3
PING 192.168.10.106:80 (/):
connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.20 ms
connected to 192.168.10.106:80 (246 bytes), seq=1 time= 1.62 ms
connected to 192.168.10.106:80 (246 bytes), seq=2 time= 2.20 ms
connected to 192.168.10.106:80 (246 bytes), seq=3 time= 1.64 ms
connected to 192.168.10.106:80 (246 bytes), seq=4 time= 1.22 ms
--- http://192.168.10.106/ ping statistics ---
5 connects, 5 ok, 0.00% failed, time 15045ms
round-trip min/avg/max = 1.2/1.6/2.2 msデフォルトでは1秒間隔でHTTPリクエストを送信しますが、対象サーバーへの負荷を抑えたい場合や、逆に短時間で多くのデータを収集したい場合にこの値を調整します。
ポート番号を指定
接続先のTCPポート番号を指定する場合、-pまたは--portオプションを指定します。
$ httping -g http://192.168.10.106/ -c 3 -p 8080
PING 192.168.10.106:8080 (/):
connected to 192.168.10.106:8080 (246 bytes), seq=0 time= 1.26 ms
connected to 192.168.10.106:8080 (246 bytes), seq=1 time= 2.18 ms
connected to 192.168.10.106:8080 (246 bytes), seq=2 time= 1.66 ms
--- http://192.168.10.106/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3035ms
round-trip min/avg/max = 1.3/1.7/2.2 msデフォルトでは80番ポート(HTTPSの場合は443番ポート)が使用されますが、Webサーバーが標準ポート以外で稼働している場合、-pオプションでポート番号を指定します。
GETリクエストを送信
httpingは、デフォルトではHEADメソッドを使用してHTTPリクエストを送信します。HEADメソッドは、レスポンスボディを含まずヘッダー情報のみを取得するため、通信量を抑えつつRTT(往復時間)を測定できます。一方、-Gまたは--get-requestオプションを指定すると、HEADメソッドの代わりにGETメソッドでHTTPリクエストを送信します。
$ httping -g http://192.168.10.106/test/sample.html -c 3 -G
PING 192.168.10.106:80 (/test/sample.html):
connected to 192.168.10.106:80 (250 bytes), seq=0 time= 1.21 ms
connected to 192.168.10.106:80 (250 bytes), seq=1 time= 1.69 ms
connected to 192.168.10.106:80 (250 bytes), seq=2 time= 1.52 ms
--- http://192.168.10.106/test/sample.html ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3007ms
round-trip min/avg/max = 1.2/1.5/1.7 msHEADリクエストとGETリクエストの主な違いは、次のとおりです。
| HEADリクエスト | GETリクエスト | |
|---|---|---|
| レスポンスヘッダー | 取得する | 取得する |
| レスポンスボディ | 取得しない | 取得する |
| 通信量 | 少ない | コンテンツサイズに依存する |
| 主な用途 | 軽量な疎通確認 | 実際のコンテンツ取得を含む確認 |
-bオプションを指定すると、データ転送速度(KB/s)も確認できます。
$ httping -g http://192.168.10.106/test/sample.html -c 3 -G -b
PING 192.168.10.106:80 (/test/sample.html):
connected to 192.168.10.106:80 (250 bytes), seq=0 time= 1.86 ms 132184KB/s
connected to 192.168.10.106:80 (250 bytes), seq=1 time= 2.71 ms 84295KB/s
connected to 192.168.10.106:80 (250 bytes), seq=2 time= 2.30 ms 176246KB/s
--- http://192.168.10.106/test/sample.html ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3009ms
round-trip min/avg/max = 1.9/2.3/2.7 ms
Transfer speed: min/avg/max = 84295.518263/130908.880534/176246.357069 KBHTTPステータスコードを表示する
-sまたは--show-statuscodesオプションを指定すると、各HTTPリクエストに対してWebサーバーが返したHTTPレスポンスステータスコード(200、301、404、500など)を表示できます。
正常の場合
$ httping -g http://192.168.10.106/ -c 3 -s
PING 192.168.10.106:80 (/):
connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.21 ms 200 OK
connected to 192.168.10.106:80 (246 bytes), seq=1 time= 2.04 ms 200 OK
connected to 192.168.10.106:80 (246 bytes), seq=2 time= 1.94 ms 200 OK
--- http://192.168.10.106/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3137ms
round-trip min/avg/max = 1.2/1.7/2.0 msアクセス権限がない場合
$ httping -g http://192.168.10.106/test/ -c 3 -s
PING 192.168.10.106:80 (/test/):
connected to 192.168.10.106:80 (163 bytes), seq=0 time= 1.20 ms 403 Forbidden
connected to 192.168.10.106:80 (163 bytes), seq=1 time= 1.88 ms 403 Forbidden
connected to 192.168.10.106:80 (163 bytes), seq=2 time= 1.40 ms 403 Forbidden
--- http://192.168.10.106/test/ ping statistics ---
3 connects, 0 ok, 100.00% failed, time 3031ms存在しないパスを指定した場合
$ httping -g http://192.168.10.106/test2/ -c 3 -s
PING 192.168.10.106:80 (/test2/):
connected to 192.168.10.106:80 (163 bytes), seq=0 time= 1.23 ms 404 Not Found
connected to 192.168.10.106:80 (163 bytes), seq=1 time= 1.66 ms 404 Not Found
connected to 192.168.10.106:80 (163 bytes), seq=2 time= 1.63 ms 404 Not Found
--- http://192.168.10.106/test2/ ping statistics ---
3 connects, 0 ok, 100.00% failed, time 3009msタイムスタンプを表示する
--timestampまたは--tsオプションを指定すると、各測定結果の先頭にタイムスタンプを表示できます。
$ httping -g http://192.168.10.106/ -c 3 --timestamp
PING 192.168.10.106:80 (/):
06:15:26.247 connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.21 ms
06:15:27.253 connected to 192.168.10.106:80 (246 bytes), seq=1 time= 2.96 ms
06:15:28.255 connected to 192.168.10.106:80 (246 bytes), seq=2 time= 1.80 ms
--- http://192.168.10.106/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3010ms
round-trip min/avg/max = 1.2/2.0/3.0 msこのオプションは、tcpdumpやWebサーバーのアクセスログと測定結果を突き合わせる際に有効です。例えば、tcpdumpなどのパケットキャプチャツールと併用してhttpingを実行する場合、httping側の実行結果とキャプチャログのタイムスタンプを照合することで、どのプローブがどの通信パケットに対応するかを正確に特定できます。
また、RTT(往復時間)の変化を時系列で分析する際にも、タイムスタンプが付与されていることで、特定の時間帯における応答遅延やエラー発生の傾向を定量的に把握しやすくなります。
日付も表示する場合は、-vオプションを追加します。
$ httping -g http://192.168.10.106/ -c 3 --timestamp -v
Connecting to host 192.168.10.106, port 80 and requesting file /
PING 192.168.10.106:80 (/):
2026/07/21 06:15:33.283 connected to 192.168.10.106:80 (246 bytes), seq=0 time= 1.65 ms toff=17999716 age=184556
2026/07/21 06:15:34.286 connected to 192.168.10.106:80 (246 bytes), seq=1 time= 1.31 ms toff=17999714 age=184557
2026/07/21 06:15:35.290 connected to 192.168.10.106:80 (246 bytes), seq=2 time= 1.76 ms toff=17999709 age=184558
--- http://192.168.10.106/ ping statistics ---
3 connects, 3 ok, 0.00% failed, time 3010ms
round-trip min/avg/max/sd = 1.3/1.6/1.8/0.2 msncursesユーザーインターフェース
-Kまたは--ncurses、--guiオプションを指定すると、httpingの実行結果をncurses(テキストベースのユーザーインターフェース)形式で表示します。
$ httping -g http://192.168.10.106/ -Kこのオプションを使用すると、ターミナル上にリアルタイムでグラフや統計情報が視覚的に表示され、RTT(往復時間)の推移や統計値(最小値・最大値・平均値など)を直感的に確認できます。

ncursesユーザーインターフェースを終了するには、Ctrl+Cを使用します。
色付きで表示する
-Yまたは--colorsオプションを指定すると、httpingの実行結果が色付きで表示されます。

