Pingコマンドが完了しないようです。それは成功しているという意味ですか?


10

リモートIPにpingしています。Pingコマンドについてはほとんど知りません。IPに対してpingを実行すると、何度も実行されます... -tオプションを使用していません。

Me$ ping 137.30.124.104
PING 137.30.124.104 (137.30.124.104): 56 data bytes
64 bytes from 137.30.124.104: icmp_seq=0 ttl=62 time=3.378 ms
64 bytes from 137.30.124.104: icmp_seq=1 ttl=62 time=3.825 ms
64 bytes from 137.30.124.104: icmp_seq=2 ttl=62 time=4.882 ms
64 bytes from 137.30.124.104: icmp_seq=3 ttl=62 time=1.822 ms
64 bytes from 137.30.124.104: icmp_seq=4 ttl=62 time=4.572 ms
....
64 bytes from 137.30.124.104: icmp_seq=290 ttl=62 time=3.273 ms

つまり、IPへのpingが成功したということですか。それとも、それは試行錯誤して再試行していますか?どうすれば停止できますか?


4
はい、pingに成功しました。Ctrl-Cで停止できます。
Faheem Mitha 2013年

7
Unixライクは、デフォルトのpingように停止しませんwindows
Gilles Quenot 2013年

@sputnickええ、それが私を混乱させていました
bernie2436

私の答えでそれをどのように制御できるか見てください!
slm

回答:


17

これがpingコマンドの動作方法です。カウントスイッチを使用して制御でき-cます。

$ ping -c 2 skinner
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=1 ttl=64 time=1.00 ms
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

--- skinner.bubba.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.001/1.069/1.138/0.075 ms

出力の内訳

このような行は、他のホストに正常にpingしていることを意味します。

64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

これらの行は、ホストとpingしようとしているホストの間で発生する各「ping」の詳細を示しています。

6列目

この値を含む列は、これicmp_req=2がどのICMPパケットであるかを示しています。このpingコマンドは、ネットワークパケットを作成します。多くの種類があり、おそらくTCPまたはUDPパケットについて聞いたことがあるでしょう。別のタイプはICMPです。ICMPは携帯電話ネットワークのSMSに似ています。主な目的は、ネットワーク上でのコマンドと制御です。

7列目

興味深い第3列はTTL=64です。TTL-「別名:存続可能時間」は、パケットがタイムアウトするまでに最大64ノードのみを通過することを意味します。したがって、システムがシステムから64ホップ以上離れている場合は、TTLを大きくしない限り、pingを実行できません。

8列目

この列には、pingが発生するのにかかった時間(ミリ秒単位)が表示されます。これは次のような列になりますtime=1.13 ms

他の列はかなり自明です。

Pingバージョン

異なるpingコマンドは、さまざまなUnixで異なる方法で実装されます。したがって、バージョンに注意を払う必要があります。

$ ping -V
ping utility, iputils-sss20100418

私はFedora 14、Linuxシステムを使用しています。


1

slmの答えはすばらしいですが、ホストが生きている(そして到達可能で、pingに応答している)かどうかをすばやく確認したい場合は、のfping代わりに使用できますping。ホストにpingを送信し、少しの間応答を待ちます。 fpingの終了コードは、成功または失敗を報告します。

例えば

cas @ ganesh:〜$ fping kali
カリは生きています
cas @ ganesh:〜$エコー$?
0

cas @ ganesh:〜$ fping durga 
ICMPホストに到達できないICMPエコーが203.xx.xxx.1からドゥルガに送信されました(203.xx.xxx.14)
ICMPホストに到達できないICMPエコーが203.xx.xxx.1からドゥルガに送信されました(203.xx.xxx.14)
ICMPホストに到達できないICMPエコーが203.xx.xxx.1からドゥルガに送信されました(203.xx.xxx.14)
ICMPホストに到達できないICMPエコーが203.xx.xxx.1からドゥルガに送信されました(203.xx.xxx.14)
ドゥルガーは到達不可能です
cas @ ganesh:〜$エコー$?
1

「ICMP Host Unreachable」メッセージは、stderrを/ dev / nullにリダイレクトすることで破棄できます。例えば:

cas@ganesh:~$ fping durga 2>/dev/null 
durga is unreachable
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.