pingコマンドの使い方|オプション一覧・結果の見方と応答がない時の切り分け

pingコマンドの使い方

pingコマンドは、ICMPのエコー要求を送り、相手から応答が返るかと往復時間を確かめるコマンドです。Windowsは既定で4回・32バイトを送り、Linuxは-cで回数を決めないと止めるまで送り続けます。応答が無いときに最初に見るのは、表示されたメッセージの種類です。

この記事でわかること

  • Windows・Linux・Cisco IOSで既定の回数・サイズ・待ち時間がどう違うか
  • -i と -t のように、OSで意味が入れ替わるオプションの見分け方
  • 時間・TTL・損失率など結果の各項目の読み方
  • 応答が無いときのメッセージ別の原因と、次に打つコマンド
  • DFビットを立てたpingで経路のMTUを探す手順

一次情報: Microsoft Learn「ping」(参照)/Linux man-pages「ping(8)」(参照)/Cisco「Understand Ping and Traceroute Commands」(参照)※2026年9月時点

pingやtracertで障害の場所を絞る作業は、監視・運用の現場で毎日のように出てきます。監視から構築側へ進む道筋を段階ごとにまとめたのが、次の記事です。

目次

pingコマンドとは?届くかどうかと往復時間を測るコマンド

pingコマンドとは、相手にICMPのエコー要求を送り、エコー応答が返るまでの時間を表示するコマンドです。ICMPの仕様(RFC 792)では、エコー要求がタイプ8、エコー応答がタイプ0と決まっています。

ひと言でいえば「そこまで届いて、返ってこられるか」を見る道具です。Microsoftの資料でも、接続性・到達可能性・名前解決のトラブルシューティングに使う主要なコマンドと位置づけられています。

pingでわかること・わからないこと
見えるもの見えないもの
相手までIPで届き、戻ってこられるかWebやメールなど、特定のポートが開いているか
往復時間(ミリ秒)とそのばらつきどのルーターを通ったか(tracertの役割)
送った数に対して失われた割合応答しない理由が「停止」か「ICMPの遮断」か
応答パケットのTTL(経路の手がかり)アプリケーションが正常に動いているか

特に右下の2つは誤解が多いところです。pingが返らない=相手が止まっている、とは限らない。ファイアウォールでICMPを通さない設定は、サーバーでもクラウドでもよく見かけます。

逆に、pingが通ってもWebサイトが開けないことはあります。pingはICMPで、HTTPSはTCPの443番を使うので、通り道が別だからです。

OSごとに既定の動きが違う

同じpingでも、何もオプションを付けないときの動き方はOSで違います。ここを知らずに比べると、「Linuxだと終わらない」「Ciscoだと5発しか打たない」と戸惑います。

オプションなしで実行したときの既定値(2026年9月時点の公式資料)
項目WindowsLinux(iputils)Cisco IOS
送る回数4回止めるまで続く5回
データサイズ32バイト56バイト100バイト
応答の待ち時間4,000ミリ秒-W で秒単位に指定2秒
止め方自動で終わるCtrl+C自動で終わる

出典は、WindowsがMicrosoft Learn「ping」、Linuxがman-pages「ping(8)」、Cisco IOSがシスコの拡張pingの解説です。LinuxはICMPヘッダー8バイトを足して、64バイトとして表示されます。

オプションなしで打ったときの既定の動き

Windows
回数
4回で自動終了
サイズ
32バイト
待ち時間
4,000ミリ秒
送り続ける
-t を付ける
Linux(iputils)
回数
止めるまで続く(-cで指定)
サイズ
56バイト(表示は64)
間隔
1秒
止め方
Ctrl+C
Cisco IOS
回数
5回で自動終了
サイズ
100バイト
待ち時間
2秒
細かい指定
引数なしのpingで拡張pingへ

図:同じpingでも、回数・サイズ・待ち時間はOSごとに違う

pingコマンドの書き方とよく使うオプション

基本の形は「ping 宛先」だけです。宛先はIPアドレスでもホスト名でも構いません。

ping 192.0.2.10
ping www.example.com

ここからは目的別に、WindowsとLinuxのオプションを並べます。Windowsは「-n」でも「/n」でも受け付けます。

目的別オプション対応表(Windows/Linux)
やりたいことWindowsLinux補足
回数を決める-n 10-c 10Windowsの既定は4回
止めるまで送り続ける-t何も付けないWindowsは Ctrl+Break で途中集計
データサイズを変える-l 1472-s 1472Windowsの上限は65,500バイト
分割を禁止する(DF)-f-M doMTU調べに使う
TTLを指定する-i 64-t 64文字が入れ替わる点に注意
応答の待ち時間-w 1000(ミリ秒)-W 1(秒)単位が違う
送る間隔指定なし-i 0.5(秒)一般ユーザーは2ミリ秒未満にできない
IPv4/IPv6を指定-4/-6-4/-6名前で指定するときに効く
IPから名前を引く-a既定で表示Linuxは -n で数値のみ

同じ文字で意味が変わる「-i」と「-t」

表の中でいちばん事故が起きやすいのが「-i」と「-t」です。Windowsの-iはTTL、Linuxの-iは送る間隔。「-t」も、Windowsでは送り続ける指定で、LinuxではTTLの指定になります。

WindowsのつもりでLinuxに「ping -t 10.0.0.1」と打つと、10.0.0.1がTTLの値として読まれ、意図どおりには動きません。OSをまたいで作業する日は、手を動かす前に一度ヘルプを出すと安全です。

ping /?        (Windows)
ping -h        (Linux)

Cisco IOSは「拡張ping」で細かく指定する

Cisco IOSのルーターでは、特権EXECモードで引数を付けずに「ping」と打つと、対話形式で項目を聞いてくる拡張pingになります。シスコの解説によると、既定値は次のとおりです。

Cisco IOS 拡張pingの主な項目と既定値
項目既定値よく変える場面
Repeat count5瞬断を見るときに増やす
Datagram size100MTUを確かめるとき
Timeout in seconds2遠い拠点で待ち時間を延ばす
Source address or interface指定なしLAN側から出したことにして戻り経路を試す
Set DF bit in IP header?noMTUを確かめるとき
Sweep range of sizesnサイズを変えながら一気に試す

送信元を指定できるのが拡張pingの強みです。ルーターから普通にpingを打つと、出ていくインターフェースのIPが送信元になります。それが通っても、LAN側の端末から見た戻りの経路が正しいとは限りません。

pingの結果の見方|時間・TTL・損失率の読み方

pingの出力で見る場所は3つです。応答が返った行の「時間」と「TTL」、最後に出る統計の「損失」です。下はWindowsの日本語表示の出力例で、アドレスは説明用の値にしています。

192.0.2.10 に ping を送信しています 32 バイトのデータ:
192.0.2.10 からの応答: バイト数 =32 時間 =3ms TTL=61
192.0.2.10 からの応答: バイト数 =32 時間 =2ms TTL=61
192.0.2.10 からの応答: バイト数 =32 時間 =4ms TTL=61
192.0.2.10 からの応答: バイト数 =32 時間 =3ms TTL=61

192.0.2.10 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 2ms、最大 = 4ms、平均 = 3ms
出力の各項目の意味
表示意味見るポイント
バイト数 =32応答のデータ部分の大きさ送ったサイズと同じか
時間 =3ms往復にかかった時間平常時の値と比べて増えていないか
TTL=61応答が届いた時点の残り寿命急に変わったら経路が変わった合図
損失 = 0 (0% の損失)返ってこなかった割合1発でも落ちるなら回数を増やして再確認
最小・最大・平均往復時間の統計最大だけ跳ねるなら混雑や瞬断の疑い

TTLから経路の長さを読む

TTLは、ルーターを1台通るたびに1ずつ減る値です。送り手が最初に付ける値はOSで決まっていて、Linuxの既定は64です(Linuxカーネル文書 ip-sysctl)。Windowsは128、ネットワーク機器は255を初期値にしているものが多くあります。

返ってきたTTLが61なら、初期値64から3減った、つまり3台ほど経由したと読めます。ただし初期値は設定で変えられるので、TTLの数字は「推定の手がかり」までにとどめてください。普段と比べて急に変わったときに、経路の切り替わりを疑う使い方が実務的です。

Linuxの出力とCisco IOSの記号

Linuxでは、応答1行が「64 bytes from 192.0.2.10: icmp_seq=1 ttl=61 time=3.12 ms」の形で出ます。最後に「4 packets transmitted, 4 received, 0% packet loss」と、往復時間の最小・平均・最大が続く形です。

Cisco IOSは1発ごとに記号を1文字で出します。「!!!!!」と並べば5発とも応答ありです。記号の意味は、シスコの解説で次のように定義されています。

Cisco IOS のping出力記号
記号意味
!応答を受け取った
.応答を待つ間にタイムアウトした
U宛先到達不能(Destination Unreachable)を受け取った
Q送信元抑制(相手が混雑)
M分割できなかった(Could not fragment)
?不明なパケット
&パケットの寿命切れ

「.!!!!」のように1発目だけ落ちる形は、構築の現場でよく見ます。最初の1発を送る間に、ルーターがARPで相手のMACアドレスを調べているのが典型的な理由です。2発目以降が揃って返るなら、慌てなくて大丈夫です。

pingが返ってこないときの切り分け|メッセージ別の原因

応答が無いときは、まず表示されたメッセージを読みます。メッセージの種類で、止まっている場所が自分・途中・相手のどこかをかなり絞れます。

Windowsのメッセージ別|原因と次に打つコマンド
表示(日本語/英語)起きていること次の一手
要求がタイムアウトしました。/Request timed out.応答が待ち時間内に戻らないtracertで途中まで届くか見る
宛先ホストに到達できません。/Destination host unreachable.経路が無い、または同じネットワーク内で相手のMACが引けない応答元のIPを見て、ipconfig・arp -a
転送中に TTL が期限切れになりました。/TTL expired in transit.途中でTTLが0になったtracertで同じIPが繰り返し出るか(ループ)
Ping 要求ではホスト ○○ が見つかりませんでした。名前をIPに変換できないIPで打ち直し、nslookupで確認
一般エラーです。/General failure.自分の端末から送り出せていないNICの状態・VPN・セキュリティソフト
パケットの断片化が必要ですが、DF が設定されています。DFを立てたサイズが経路のMTUを超えたサイズを下げて通る値を探す

「宛先ホストに到達できません」は、誰が返してきたかで意味が変わります。応答元が自分のIPなら、自分の端末が相手を見つけられていません。応答元が途中のルーターなら、そのルーターが先の経路を持っていない状態です。

「IPで打つと通るのに、名前で打つと失敗する」ケースは、名前解決の問題です。Microsoftの資料も、この場合はhostsファイル・DNS・NetBIOSのどれで名前を引いているかを確かめるよう案内しています。

応答が無いときのメッセージは4つの場所に分かれる

  • pingが返らない
    • 自分の端末一般エラーです/応答元が自分の『宛先ホストに到達できません』→ ipconfig・arp -a
    • 途中の経路応答元がルーターの『到達できません』/TTL期限切れ(ループ)/DFでの断片化エラー → tracert
    • 相手または遮断要求がタイムアウトしました → 途中まで届くかをtracertで確認。ICMPを通さない設定も多い
    • 名前解決ホストが見つかりませんでした/IPなら通る → nslookupでDNSを確認

図:メッセージの種類で、止まっている場所を自分・途中・相手・名前解決に分ける

近い順に打って、止まる場所を探す

メッセージだけで決め切れないときは、自分に近い相手から順にpingを打つのが近道です。どこで返らなくなるかで、見るべき場所が決まります。

  1. ping 127.0.0.1。自分のTCP/IPが動いているか。ここで失敗するなら端末の設定を疑う
  2. 自分のIPアドレス。NICにアドレスが付いているか。ipconfigで確かめた値を使う
  3. デフォルトゲートウェイ。同じネットワークの出口まで届くか。失敗ならケーブル・スイッチ・VLAN
  4. 外部のIPアドレス。社外やDNSサーバーまで届くか。失敗ならルーター・回線・ファイアウォール
  5. ホスト名。名前で届くか。IPで通って名前で失敗するならDNS

この順番で見ると、「全部おかしい」状態から「3番目で止まるので、ゲートウェイまでの区間」まで一気に狭まります。障害連絡を受けたとき、最初の5分でやることとして、覚えておいて損はありません。

MTUを調べる|DFビットを立てたpingで通るサイズを探す

VPNやトンネルを挟むと、大きいパケットだけ通らない現象が起きます。Webの一部だけ開かない、ファイル転送だけ止まる、といった症状です。このときは、分割禁止(DF)を立てたpingで、通る最大サイズを探します。

ping -f -l 1472 192.0.2.10      (Windows)
ping -M do -s 1472 192.0.2.10   (Linux)

指定するのはデータ部分のサイズです。IPv4では、IPヘッダー20バイトとICMPヘッダー8バイトが上に乗ります。

データサイズと経路MTUの関係(IPv4)
指定するデータサイズ+ICMPヘッダー+IPヘッダー経路MTU
1472バイト8バイト20バイト1500バイト
1464バイト8バイト20バイト1492バイト
1400バイト8バイト20バイト1428バイト

1472で「断片化が必要ですが、DF が設定されています」が出たら、値を下げて通る境目を探します。通った最大値に28を足した数が、その経路で通せるMTUです。1500より小さい値が出たら、途中にトンネルやPPPoEが挟まっている可能性が高いと見当がつきます。

DFを立てたpingで経路のMTUを求める

  • 大きいパケットだけ通らない症状のときに使います。
  • 11472バイト・DFありで打つWindowsは ping -f -l 1472、Linuxは ping -M do -s 1472
  • 2断片化のエラーなら値を下げる通る値と通らない値の境目を探す
  • 3通った最大値+28=経路MTUICMPヘッダー8バイト+IPヘッダー20バイト。1472なら1500

1500より小さい値なら、途中にトンネルやPPPoEが挟まっている可能性が高い。

図:通った最大のデータサイズに28を足すと、その経路のMTUになる(IPv4)

Cisco IOSなら、拡張pingで「Set DF bit in IP header?」をyesにし、「Sweep range of sizes」でサイズを変えながら一度に試せるので便利です。

現場で使うpingの組み合わせ

pingは単発で打つより、作業と組み合わせたときに本領を発揮します。構築・運用保守の現場でよく使うのは、次のような形です。

作業と組み合わせる使い方

  • 切り替え作業中に -t を流しっぱなしにする。冗長化の切り替えやケーブルの差し替えで、何発落ちたかから瞬断の長さを見積もる
  • 送信元を変えて打つ。Cisco IOSの拡張pingでLAN側のIPを送信元にし、戻りの経路まで確かめる
  • 終了コードで判定する。Linuxのpingは応答が1つも無いと終了コード1を返すので、監視スクリプトの死活判定に使える

-tを流しながらの作業では、1秒ごとの応答が途切れた本数がそのまま目安になります。Linuxの既定の間隔は1秒です(man ping)。Windowsの-tもほぼ1秒ごとに送るので、「6発落ちた=6秒前後止まった」と読めます。

ただし、止めずに送り続けるpingや、Linuxの-f(フラッド)は相手に負荷をかけます。自社の管理範囲の外にあるサーバーへ向けて長時間打つのは避けてください。

よくある質問

pingは通るのにWebサイトが開けないのはなぜですか?

pingはICMPで届くかを見るだけで、Webが使うTCPの443番が通るかは見ていません。ICMPが通ってもファイアウォールでHTTPSが止まっていたり、Webサーバー自体が止まっていたりすれば開けません。ポートが待ち受けているかは、netstatなどの別のコマンドで確かめます。

pingを途中で止めるにはどうすればいいですか?

WindowsでもLinuxでも Ctrl+C で止まり、そこまでの統計が表示されます。Windowsで -t を付けて送り続けている場合は、Ctrl+Break を押すと止めずに途中の統計だけを表示できます。

pingの時間が何ミリ秒なら正常ですか?

決まった基準値はありません。同じ建物の中と遠い拠点では、平常時の値そのものが違うからです。平常時に同じ宛先へ打った値を控えておき、それと比べて増えていないか、最大値だけ跳ねていないかで判断するのが確実です。

pingが返らないとき、相手のサーバーは止まっていますか?

止まっているとは限りません。サーバーやクラウドのファイアウォールでICMPを通さない設定はよくあります。tracertで途中まで届いているか、相手のサービスのポートに接続できるかを合わせて確かめてから判断してください。

IPv6でpingするにはどうすればいいですか?

WindowsでもLinuxでも「-6」を付けると、IPv6で送ります。IPv6アドレスを直接書く場合は付けなくても動きます。ホスト名で指定したときに、IPv4とIPv6のどちらで送るかを固定したい場面で使うオプションです。

まとめ

  • pingは、ICMPで相手まで届いて戻れるかと往復時間を見るコマンド
  • 既定値はOSで違う。Windowsは4回、Linuxは止めるまで、Cisco IOSは5回
  • -i と -t はWindowsとLinuxで意味が入れ替わる。OSをまたぐ日は先にヘルプを出す
  • 応答が無いときはメッセージを読み、自分に近い相手から順に打って止まる場所を探す
  • DFを立てたpingで、通る最大サイズに28を足せば経路のMTUがわかる

pingで「届かない」ことが分かったら、次は「どこで止まっているか」です。途中の経路を1台ずつ表示するtracertと組み合わせると、障害の場所をさらに狭められます。

これからネットワークエンジニアを目指す方は、学習と転職の順番を先に決めておくと遠回りが減ります。CCNAの取得から内定まで、未経験から進む道のりを5つの段階で整理した記事です。

未経験からネットワークエンジニアになる最短ルートを見る


免責事項

※本記事はMicrosoft・シスコシステムズの公式ドキュメント、Linuxのマニュアル、RFCなどの公開情報をもとに整理したものです。コマンドの表示や既定値は、OSのバージョンや機器の設定によって変わる場合があります。業務で使う機器では、所属先の手順とベンダーの最新資料をあわせてご確認ください。


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

この記事を書いた人

Tanabeです。新卒でSIerに入り、ネットワークの設計から構築、運用保守、クラウド移行まで10年やってきました。その間に転職を3回、CCNPも取りました。

正直に言うと、資格を取っても年収はすぐには上がりませんでした。1回目の転職は失敗、2回目でようやく150万円上がり、3回目で今の事業会社に落ち着いた。動いてみて分かったのは、資格の有無より「現場で何を任されてきたか」で評価が決まる、ということです。

エージェントの言葉を鵜呑みにして、危うく後悔しかけた経験もあります。だからこそ、自分がやらかした失敗をそのまま書いて、同じ回り道をしなくて済むように残しています。転職を考え始めた人が、条件で損をしないための材料にしてもらえたら嬉しいです。

目次