「Pythonで死活監視がしたい」
「Pythonからpingを使って疎通確認をしたい」
このような場合には、Ping3の利用をおススメします。
この記事では、PythonライブラリでPing3について解説しています。
本記事の内容
- Ping3とは?
- Ping3のシステム要件
- Ping3のインストール
- Ping3の動作確認
それでは、上記に沿って解説していきます。
Ping3とは?
Ping3は、ICMPメッセージを扱えるPythonライブラリです。
ソケットを利用して、Pythonからpingが可能となります。
そのため、OSを問わずにPythonでpingを実行できます。
同じようなことができるライブラリには、pingsが存在しています。
しかし、pingsは一切メンテナンスがされていません。
そして、Python 3.8以降ではそのままでは利用もできない状態です。
ただ、pingsのソースを変更すれば動くようです。
でも、ライブラリのソースは出来る限りで変更したくありません。
そのような状況において、Ping3は活発にメンテナンスされています。
以上、Ping3について説明しました。
次は、Ping3のシステム要件を確認します。
Ping3のシステム要件
現時点(2021年9月)でのPing3の最新バージョンは、3.0.2となります。
この最新バージョンは、2021年8月26日にリリースされています。
結構、高い頻度で更新されているようです。
サポートOSに関しては、記載がありません。
とりあえず、実際に動いたモノを以下にあげておきます。
- Windows 10
- Ubuntu 20.04 LTS
そして、サポート対象となるPythonのバージョンはPython 3以降となります。
Python 3であれば、何でもOKとのことです。
検証で用いているのは、次のバージョンになります。
>python -V Python 3.9.6
ここまで見る限り、Ping3のシステム要件はあって無いようなモノと言えます。
ただし、root権限がないとPing3を利用できないOSが存在します。
OSによっては、rootで実行したプロセスしかICMPメッセージを送信できないということです。
以上、Ping3のシステム要件の説明でした。
次は、Ping3をインストールしていきます。
Ping3のインストール
まずは、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.2.4 setuptools 58.0.4
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、Ping3のインストールです。
Ping3のインストールは、以下のコマンドとなります。
pip install ping3
インストールは、一瞬で終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ---------- ------- ping3 3.0.2 pip 21.2.4 setuptools 58.0.4
Ping3が依存するパッケージは、存在していません。
その意味では、既存環境への導入は敷居が低いと言えます。
以上、Ping3のインストールを説明しました。
最後は、Ping3の動作確認を行います。
Ping3の動作確認
Ping3は、以下の形式で利用が可能です。
- コマンドラインツール
- PythonのAPI(モジュール)
コマンドラインツールとしては、「ping」コマンドと大差がありません。
そもそも、Pythonのプログラムから利用することに意味があります。
今回は、PythonのAPIとして利用することにより、動作確認を行います。
その際に利用するのは、以下のコードとなります。
from ping3 import ping target = 'example.com' result = ping(target) print(result)
上記を実行すると、次の結果が表示されます。
0.11581921577453613
数字は、秒単位です。
つまり、0.115秒を表しています。
ミリ秒であれば、115ミリ秒となります。
以上、Ping3の動作確認を説明しました。