您好,登錄后才能下訂單哦!
要在Linux上使用Python腳本監控網絡服務質量,你可以使用ping
命令和subprocess
庫來執行ping操作并獲取結果
import subprocess
import time
def ping(host, timeout=2):
try:
result = subprocess.run(
["ping", "-c", "1", "-W", str(timeout), host],
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
check=True,
)
return True
except subprocess.CalledProcessError:
return False
def monitor_network_quality(hosts, interval=60):
while True:
for host in hosts:
if ping(host):
print(f"{host} is reachable.")
else:
print(f"{host} is not reachable.")
time.sleep(interval)
if __name__ == "__main__":
hosts_to_monitor = ["8.8.8.8", "example.com"]
monitor_network_quality(hosts_to_monitor)
這個腳本定義了一個ping
函數,它使用subprocess.run
執行ping命令。如果ping成功,函數返回True,否則返回False。
monitor_network_quality
函數接受一個主機列表和一個監控間隔(默認為60秒)。它會無限循環地對每個主機執行ping操作,并打印出主機是否可達的信息。
在__main__
部分,我們定義了一個要監控的主機列表,然后調用monitor_network_quality
函數開始監控。
請注意,這個腳本需要root權限才能運行,因為它使用了ICMP協議,而在某些系統上,只有root用戶才能發送和接收ICMP數據包。要以root權限運行腳本,請在終端中輸入sudo python3 network_monitor.py
(假設腳本名為network_monitor.py
)。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。