PythonwでPing処理(Google Colaboratory)
pingとは
利用モジュール
ping3のインストール方法
#ping3のインストール
pip install ping3 |
|
Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting ping3 Downloading ping3-4.0.3-py3-none-any.whl (13 kB) Installing collected packages: ping3 Successfully installed ping3-4.0.3 |
***
Pingの機能
# 遅延時間を秒単位で返します。
from ping3 import ping, verbose_ping ping('yahoo.com’) |
|
0.04111957550048828 |
***
# ホスト不明の場合(解決できない場合)、Falseを返します。
from ping3 import ping, verbose_ping ping('not.exist.com’) |
|
False |
***
# タイムアウトした場合(応答がない場合)は、Noneを返します。
from ping3 import ping, verbose_ping ans = ping(“224.0.0.0") print(ans) |
|
None |
***
# タイムアウトを10秒に設定します。デフォルトのタイムアウトは4秒です。
from ping3 import ping, verbose_ping ping('yahoo.com’, timeout=10) |
|
0.07707810401916504 |
***
# 遅延時間をミリ秒単位で返します。デフォルトの単位は秒で表します。
from ping3 import ping, verbose_ping ping('yahoo.com’, unit=’ms’)v |
|
41.79525375366211 |
***
# 複数のインタフェースの送信元 IP アドレスを設定します。デフォルトのsrc_addrはバインドしない場合はNoneです。
from ping3 import ping, verbose_ping ping('example.com’, src_addr=’192.168.1.15′) |
|
0.215697261510079666 |
***
# LINUXのみ。複数のネットワークインターフェイスのソースインターフェイスを設定します。デフォルトのインターフェースは、バインディングなしのNoneです。
from ping3 import ping, verbose_ping ping('yahoo.com’, interface=’eth0′) |
|
0.07749342918395996 |
***
# パケットのTime-To-Liveを5に設定します。5回ジャンプしてもターゲットホストに到達しない場合, パケットは廃棄される. デフォルトのttlは64です。
from ping3 import ping, verbose_ping ping('yahoooo.com’, ttl=5)v |
|
False |
***
# ICMPパケットのペイロードを56バイトに設定する.ICMPパケットの総サイズは, 8 (ヘッダ) + 56 (ペイロード) = 64バイトとなります. デフォルトは56です。
from ping3 import ping, verbose_ping ping('yahoo.com’, size=56) |
|
0.07742500305175781 |
***
# Pingを4回連続で打ちます。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’) |
|
ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms |
***
# タイムアウトを10秒に設定します。デフォルトのタイムアウトは4で4秒です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, timeout=10) |
|
ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms |
***
# 6回Pingを打ちます。デフォルトは4回です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, count=6) |
|
ping 'yahoo.com’ … 77ms ping 'yahoo.com’ … 41ms ping 'yahoo.com’ … 41ms ping 'yahoo.com’ … 40ms ping 'yahoo.com’ … 42ms ping 'yahoo.com’ … 41ms |
***
# Pingを延々と打ち続けます。(0は無限ループを意味する) "ctrl + c"で停止します。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, count=0) |
|
ping 'yahoo.com’ … 60ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 59ms … |
※但し、Google Colaboratoryは"ctrl + c"ではなく、"ctrl + m + i"で実行を中断できます。
***
# 複数のインタフェースの送信元 IP アドレスから Ping を実行します。デフォルトの src_addr は None です。
from ping3 import ping, verbose_ping verbose_ping('example.com’, src_addr=’192.168.1.15′) |
|
ping 'example.com’ from '192.168.1.15’ … 215ms ping 'example.com’ from '192.168.1.15’ … 216ms ping 'example.com’ from '192.168.1.15’ … 219ms ping 'example.com’ from '192.168.1.15’ … 217ms |
***
# LINUXのみ。ネットワークインターフェイス 'wifi0’ から Ping を実行します。デフォルトのインターフェースはNoneです。
from ping3 import ping, verbose_ping verbose_ping('example.com’, interface=’wifi0′) |
|
ping 'example.com’ from '192.168.1.15’ … 215ms ping 'example.com’ from '192.168.1.15’ … 216ms ping 'example.com’ from '192.168.1.15’ … 219ms ping 'example.com’ from '192.168.1.15’ … 217ms |
***
# 遅延時間を秒単位で表示します。デフォルトの単位はミリ秒の “ms “です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, unit=’s’) |
|
ping 'yahoo.com’ … 0s ping 'yahoo.com’ … 0s ping 'yahoo.com’ … 0s ping 'yahoo.com’ … 0s |
***
# TTL を 5 に設定します。デフォルトは64です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, ttl=5) |
|
ping 'yahoo.com’ … Error ping 'yahoo.com’ … Error ping 'yahoo.com’ … Error ping 'yahoo.com’ … Error |
***
# 各パケット間で 5 秒間待機する。デフォルトは0です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, interval=5) |
|
ping 'yahoo.com’ … 75ms ping 'yahoo.com’ … 57ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 56ms |
***
# ICMPペイロードを56バイトに設定します。デフォルトは56です。
from ping3 import ping, verbose_ping verbose_ping('yahoo.com’, size=56) |
|
ping 'yahoo.com’ … 79ms ping 'yahoo.com’ … 59ms ping 'yahoo.com’ … 56ms ping 'yahoo.com’ … 56ms |
***