yun で ping という単語を何気なく検索してみたら、世の中にはいろいろな ping があることがわかりました。
今回試してみた ping は以下の6種。
- httping
- smtpping
- dhcping
- dnsping
- tcping
- ioping
簡単なシステム監視等のシステムを組むときに使えそうなコマンドばかりです。
以下、使い方メモ。
† httping
その名のとおり HTTP のレスポンスを測るコマンド。
プロジェクトのウェブはhttping で、コードは GitHub のflok99/httping: Ping with HTTP requests, see http://www.vanheusden.com/httping/ にあります。
使い方は URL を渡すだけで OK。
$ httping http://www.yahoo.co.jpPING www.yahoo.co.jp:80 (/):connected to 182.22.121.252:80 (673 bytes), seq=0 time=101.74 msconnected to 182.22.121.123:80 (673 bytes), seq=1 time= 32.02 msconnected to 182.22.96.251:80 (673 bytes), seq=2 time= 86.12 msconnected to 182.22.96.242:80 (673 bytes), seq=3 time= 34.26 msconnected to 182.22.121.252:80 (673 bytes), seq=4 time= 31.82 msconnected to 182.22.121.123:80 (673 bytes), seq=5 time= 37.17 msconnected to 182.22.96.251:80 (673 bytes), seq=6 time= 34.48 ms^CGot signal 2--- http://www.yahoo.co.jp/ ping statistics ---7 connects, 7 ok, 0.00% failed, time 6830msround-trip min/avg/max = 31.8/51.1/101.7 ms
† smtpping
こちらは SMTP サーバへの ping。
これも GitHub にhalonsecurity/smtpping: A simple, portable tool for measuring SMTP server delay, delay variation and throughput. というリポジトリがあります。
使い方はメールアドレスとメールサーバをコマンドラインで渡してやります。
このコマンドの注意すべき点は、コマンドラインで指定したメールアドレス宛に実際にメールが飛んでしまうこと。
以下の例だと本当に7件テストメールが届くので、うっかり他人のメールアドレスを指定しないようにしましょう。
$ smtpping hoge@example.jp @smtpserver.example.comPING hoge@example.jp ([999.999.999.999]:25): 10295 bytes (SMTP DATA)seq=1, connect=14.86 ms, helo=46.83 ms, mailfrom=60.85 ms, rcptto=74.92 ms, datasent=128.76 ms, quit=142.75 msseq=2, connect=14.33 ms, helo=39.79 ms, mailfrom=54.90 ms, rcptto=69.03 ms, datasent=129.91 ms, quit=144.17 msseq=3, connect=14.98 ms, helo=46.88 ms, mailfrom=61.92 ms, rcptto=76.00 ms, datasent=132.72 ms, quit=145.78 msseq=4, connect=15.51 ms, helo=46.72 ms, mailfrom=60.80 ms, rcptto=74.14 ms, datasent=130.20 ms, quit=144.68 msseq=5, connect=15.46 ms, helo=30.87 ms, mailfrom=45.83 ms, rcptto=59.95 ms, datasent=115.47 ms, quit=129.73 msseq=6, connect=15.33 ms, helo=34.88 ms, mailfrom=49.91 ms, rcptto=64.94 ms, datasent=123.63 ms, quit=138.80 ms^Cseq=7, connect=15.51 ms, helo=41.93 ms, mailfrom=55.90 ms, rcptto=71.01 ms, datasent=128.05 ms, quit=140.90 ms--- 999.999.999.999 SMTP ping statistics ---7 e-mail messages transmittedconnect min/avg/max = 14.33/15.14/15.51 msbanner min/avg/max = 16.63/26.77/32.75 mshelo min/avg/max = 30.87/41.13/46.88 msmailfrom min/avg/max = 45.83/55.73/61.92 msrcptto min/avg/max = 59.95/70.00/76.00 msdata min/avg/max = 73.86/85.22/90.98 msdatasent min/avg/max = 115.47/126.96/132.72 msquit min/avg/max = 129.73/140.97/145.78 ms
† dhcping
これは DHCP サーバへの ping。
プロジェクトは Sourceforge で公開 (MavEtJu's tools - Browse /dhcping/1.2 at SourceForge.net) されています。
インストールはできたのですが、なぜかうまく疎通が取れませんでした。
† dnsping
dns に対する ping。
Pythonでできた、dnsdiag というプロジェクトに含まれているスクリプトです。
これは yum ではインストールできないので、GitHub のプロジェクトのページから落としてビルドしました。
使い方は DNS サーバと解決したい名前を渡すだけ。
$ ./dnsping.py -s 8.8.8.8 sailane.cles.netdnsping.py 8.8.8.8: hostname=sailane.cles.net rdatatype=A45 bytes from 8.8.8.8: seq=0 time=15.382 ms44 bytes from 8.8.8.8: seq=1 time=21.688 ms45 bytes from 8.8.8.8: seq=2 time=24.647 ms45 bytes from 8.8.8.8: seq=3 time=31.532 ms --- 8.8.8.8 dnsping statistics ---4 requests transmitted, 4 responses received, 0% lostmin=15.382 ms, avg=23.312 ms, max=31.532 ms, stddev=6.705 ms
† tcping
tcp に対する ping なのかと思ってインストールしたのですが、ポートが開いてるかどうかを表示するだけのコマンドでした。
これはちょっと拍子抜け。
$ tcping sailane.cles.net 80sailane.cles.net port 80 open.
† ioping
ioping はディスクに対する I/O を測るコマンドで、疎通と言うよりはどちらかというとベンチマークソフトでしょうか。
GitHub にプロジェクトのページkoct9i/ioping: simple disk I/0 latency measuring tool があります。
使い方は試行回数、データ量、パスを指定するだけです。
# ioping -c 4 -s 10MB /root10 MiB from /root (xfs /dev/mapper/centos_mahnya-root): request=1 time=36.4 ms10 MiB from /root (xfs /dev/mapper/centos_mahnya-root): request=2 time=22.7 ms10 MiB from /root (xfs /dev/mapper/centos_mahnya-root): request=3 time=22.7 ms10 MiB from /root (xfs /dev/mapper/centos_mahnya-root): request=4 time=23.1 ms--- /root (xfs /dev/mapper/centos_mahnya-root) ioping statistics ---4 requests completed in 3.11 s, 38 iops, 380.9 MiB/smin/avg/max/mdev = 22.7 ms / 26.3 ms / 36.4 ms / 5.88 ms