python 网络监控(python监控主机网络)

1年前 (2023-09-06)阅读80回复0
谢绳武
谢绳武
  • 注册排名10017
  • 经验值0
  • 级别
  • 主题0
  • 回复0
楼主

Python 是一种简单易学,功能强大的编程语言。它被广泛应用于监控主机网络、数据分析、机器学习等领域。接下来,本文将为您介绍如何使用 Python 监控主机网络。

# 导入需要用到的库
import psutil
import time
# 监控主机网络带宽
def monitor_network():
network_io_counters = psutil.net_io_counters()
bytes_sent = network_io_counters.bytes_sent
bytes_recv = network_io_counters.bytes_recv
time.sleep(1)
network_io_counters = psutil.net_io_counters()
bytes_sent_per_second = network_io_counters.bytes_sent - bytes_sent
bytes_recv_per_second = network_io_counters.bytes_recv - bytes_recv
return bytes_sent_per_second, bytes_recv_per_second
# 监控主机网络
while True:
sent, recv = monitor_network()
print(f"Sent: {sent} bytes/second")
print(f"Recv: {recv} bytes/second")

以上代码使用了 psutil 库来获取主机的网络信息,实现了一个简单的网络流量监测程序。它会定期地计算网络数据的传输速率,并输出到控制台。

当然,如果您想将监测结果保存到文件中,只需要稍微修改上面的代码:

# 导入需要用到的库
import psutil
import time
# 监控主机网络带宽
def monitor_network():
network_io_counters = psutil.net_io_counters()
bytes_sent = network_io_counters.bytes_sent
bytes_recv = network_io_counters.bytes_recv
time.sleep(1)
network_io_counters = psutil.net_io_counters()
bytes_sent_per_second = network_io_counters.bytes_sent - bytes_sent
bytes_recv_per_second = network_io_counters.bytes_recv - bytes_recv
return bytes_sent_per_second, bytes_recv_per_second
# 监控主机网络
while True:
sent, recv = monitor_network()
with open('network_stats.txt', 'a') as f:
f.write(f"Sent: {sent} bytes/second\n")
f.write(f"Recv: {recv} bytes/second\n")
time.sleep(5)

修改后的代码会把监测结果保存到一个名为 “network_stats.txt” 的文件中,并且每 5 秒钟更新一次监测数据。

通过本文的介绍,相信您已经了解了如何使用 Python 监控主机网络。在实际应用中,您可以根据自己的需求进行修改,将监测结果显示到网页上,或者绘制成图表进行数据分析。

本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。

本文地址:https://www.pyask.cn/info/1355.html

0
回帖

python 网络监控(python监控主机网络) 期待您的回复!

取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息