PythonでPingの確認を行う

こんにちは筆者です。RaspberryPiとL-02Cにハマりまして必須と思われるPingを送信して確認するプログラムを作りたいと思います。

pypingを使う

Pythonでpingを送りたいのならosを使うかsubprocessを使うかのどちらかだけだと思っていたが実はpypingというものがあるらしい。シンプルで簡単なので今回はこちらを試してみた。

pipでpypingをインストールする。

$sudo pip install pyping

お好きなエディタ(viとかnanoとか)を使ってping.pyを作ります。この構成では到達を確認するものです。

$vi ping.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import pyping

#確認したいアドレス
host = "192.168.11.1"
RPing = pyping.ping(host)

if RPing.ret_code == 0:
    print("到達を確認しました。")

else:
    print("到達を確認できませんでした。")

以上が基本的な構成となっています。

色々使ってみる

GoogleにPingを送る場合で色々やってみた。たぶんPingを3回ほど送信して最大値と最小値、そして平均値を求めていると思う。

$vi ping.py
#!/usr/bin/python
# -*- coding: utf-8 -*-

import pyping

#確認したいアドレス
host = "www.google.com"
RPing = pyping.ping(host)

#送り先
print "ADD:"+str(RPing.destination)
#送り先IP
print "AIP:"+str(RPing.destination_ip)
#最大往復秒
print "MAX:"+str(RPing.max_rtt)+"ms"
#最小往復秒
print "MIN:"+str(RPing.min_rtt)+"ms"
#平均往復秒
print "AVG:"+str(RPing.avg_rtt)+"ms"

必ず管理者権限を使って実行してください。Windows Pythonでも同じことが言えます。

$sudo python ping.py
ADD:www.google.com
AIP:216.XXX.XXX.XXX
MAX:109.266ms
MIN:98.217ms
AVG:103.011ms

死活監視にも使えますので是非使ってみて下さい。以上、忘備録でした。

以上

名前とアドレスは任意です。ご自由にコメントを。

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中