自动分析局域网内网速慢的电脑---结合IPERF,TASK SCHEDULE,PYTHON,MAIL

2023-05-16

今天写的。

用IPERF作测试局域网速度的工具。

用AD域组策略推送给客户端,

xcopy /y \\XXX\XXX\Iperf\*.* c:\Iperf\*.*

然后,客户端会在每次LOGON的执行测试网速的BAT文件,并将结果存放在服务器指定的LOG目录下面。

c:\Iperf\Iperf3.exe -c x.x.x. > \\X.X.X.X\Iperf\log\%computername%.txt

之后,PYTHON上场。

分析指定目录下的每一个文件里的每一行,

将指定列表中的数字与提前指定的基线作比较。

分出不同的电脑列表。

然后发给指定邮件地址。

最后,指定WINDOWS计划任务或是LINUX CRONTAB JOB。

搞定。


 1 #!/usr/bin/env python
 2 import sys
 3 import os.path
 4 from smtplib import SMTP
 5 import datetime
 6 
 7 
 8 folder = 'D:\Iperf\Log\\'
 9 msg_low_sh = ''
10 msg_normal = ''
11 msg_low_us = ''
12 msg_nodata = ''
13 for filename in os.listdir (folder):
14     #print(filename)
15 
16     fp = open(folder + filename,'r')
17     
18     for i, line in enumerate(fp):
19         if (i == 0 and line == "") or (len(line) < 3 ):
20             msg_nodata += filename + ".have now data.\n"
21         elif (i == 6):
22             speednumber = line.split()
23             if (float(speednumber[6])) < 300 and (float(speednumber[6])) > 8:
24                msg_low_sh += filename + ". Low Speed at ShangHai: " + speednumber[6] + "Mbits. We should notice this machine.\n"
25             if (float(speednumber[6])) <1.0:
26                msg_low_us += filename + "Low Speed at US: " + speednumber[6] + "Mbits. We should notice this machine.\n"
27             else:
28               msg_normal += filename + ". Normal Speed: " + speednumber[6] + "Mbits.\n"
29     fp.close()
30 #print (msg_low_sh)
31 #print (msg_low_us)
32 #print (msg_normal)
33 #print (msg_nodata)
34 
35 text_file = open("LANSpeedOutput.txt", "w")
36 
37 text_file.write(msg_low_sh)
38 text_file.write(msg_low_us)
39 text_file.write("\n\n\n")
40 text_file.write(msg_normal)
41 text_file.write("\n\n\n")
42 text_file.write(msg_nodata)
43 
44 text_file.close()
45 
46 debuglevel = 0
47 
48 smtp = SMTP()
49 smtp.set_debuglevel(debuglevel)
50 smtp.connect('X.X.X.X', 25)
51 smtp.login('xxx', 'xxx')
52 
53 from_addr = "<xxx>"
54 to_addr = ["xxx","xxx","xxx"]
55 date = datetime.datetime.now().strftime( "%d/%m/%Y " )
56 fp = open(r'LANSpeedOutput.txt', 'r')
57 
58 subj = "LAN Speed log at "+date
59 message_text = fp.read()
60 
61 msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" % ( from_addr, to_addr, subj, date, message_text )
62 
63 smtp.sendmail(from_addr, to_addr, msg)
64 smtp.quit()  


最后效果图:

具体细节,再慢慢完善。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自动分析局域网内网速慢的电脑---结合IPERF,TASK SCHEDULE,PYTHON,MAIL 的相关文章

随机推荐

  • SVG.js 元素操作整理(一)

    一 属性操作Attributes var draw 61 SVG 39 svg1 39 size 300 300 attr 属性操作 设置属性的值 var rect 61 draw rect 100 100 rect attr 39 x 3
  • JS 比较两个数组是否相等 是否拥有相同元素

    Javascript怎么比较两个数组是否相同 xff1f JS怎么比较两个数组是否有完全相同的元素 xff1f Javascript不能直接用 61 61 或者 61 61 61 来判断两个数组是否相等 xff0c 无论是相等还是全等都不行
  • Win11 安卓子系统安装过程

    1 环境要求 xff1a 系统为windows 11版本为22000 xx或者以上版本 xff1b 建议系统内存为16G或者以上 xff1b 2 安装windows虚拟化支持 功能 进入设置 应用 可选功能 更多 Windows 功能 xf
  • java 取小数点后两位 不四舍五入,怎么做

    java 取小数点后两位 不四舍五入 怎么做 正常版 正常版 import java text DecimalFormat import java math RoundingMode DecimalFormat formater 61 ne
  • 华为硬件研发笔试题

    华为硬件笔试题1 一 选择 13个题目 没有全部抄下来 涉及的课程有电路 模拟电路 数字电路 信号与系统 微机原理 网络 数字信号处理 1 微分电路 2 CISC RISC 3 数据链路层 二 填空 10个题目 没有全部抄下来 涉及的课程有
  • es6数组去重(连重复的对象也可以去掉)

    1 xff0c 去除简单类型 ES6中新增了Set数据结构 xff0c 类似于数组 xff0c 但是 它的成员都是唯一的 xff0c 其构造函数可以接受一个数组作为参数 xff0c 如 xff1a span class hljs built
  • MySQL中varchar,varbinary的区别

    2019独角兽企业重金招聘Python工程师标准 gt gt gt MySQL中varchar xff0c varbinary的区别 varchar是可变长度字符类型 如果对应的数据库排序规则是utf8 general ci xff0c 那
  • 是谁发明了光纤?光纤的发明发展历史

    一 光纤通信的发展历史 1880年 xff0c 亚历山大 贝尔Alexander Graham Bell发明了 光话机 1887年 xff0c 英国科学家Charles Vernon Boys在实验室里拉出了第一条光纤 1938年 xff0
  • vs 2010 专业版 密钥

    YCFHQ 9DWCY DKV88 T2TMH G7BHP 转载于 https www cnblogs com daretodream archive 2013 04 02 2995147 html
  • 公历,阴历转换

    公历 xff0c 阴历转换 static inline void ValidCtrCheck ThsDivineCalendar new ThsDivineCalendar NULL fastcall ThsDivineCalendar T
  • pytorch---情感分析

    前言 xff1a 这个系列一共有8个部分 主要参考了github上的几个代码 使用工具有torchtext xff0c pytorch 数据集主要是烂番茄电影评论数据集https www kaggle com c sentiment ana
  • 【three.js练习程序】旋转物体自身

    lt DOCTYPE html gt lt html gt lt head gt lt meta charset 61 34 utf 8 34 gt lt title gt ceshi lt title gt lt script type
  • Linux系统检查查看桌面环境

    Linux的桌面系统系统多达十几种 xff0c 像gnome kde mate cinnamon lxde xfce jwm等 比较常用的一般是gnome kde xfce等 那么如何判断Linux系统安装了哪种桌面环境组件呢 xff1f
  • Ubuntu18.04.4 安装xrdp 远程桌面

    因为工作的关系 xff0c 需要远程桌面使用Linux xff0c 安装了最新的Ubuntu18 04 4版本 参考了网上一堆的VNC和安装xubuntu等 xff0c 都不是自己想要的 xff0c ubuntu原生的桌面就非常的好 只是安
  • 小米手机android_id如何查看,一篇文章看懂如何通过手机上小米社区查Mi ID?

    作为小米社区的老用户都知道 xff0c 早先在老的小米社区App或者电脑版个人主页就可以直接查看到用户的Mi ID 而现在的新版本小米社区无论是App版本或者电脑端都无法再直接地查看到个人或者其他人Mi ID 本期Flashcer就和大家分
  • 使用寄存器点亮LED——编程实战

    stm32的编程和stc89c51还是存在着很多思想上的不同的 xff0c 在51单片机中 xff0c 我们点亮LED灯 xff0c 只用给对应IO高低电平就可以了 xff0c 而stm32中 xff0c 就一个简单的GPIO xff0c
  • 【转载】取消Debian系统自动锁屏

    Linux的自动锁屏功能 xff0c 会在你离开屏幕的两分钟 xff0c 甚至更短的时候内 xff0c 将屏幕锁住 xff0c 需要输入密码才能进入Linux系统 可按下图设置 xff0c 关掉Linux自动锁屏功能 System gt P
  • 如何cout输出CString对象?

    CString str 61 34 HeyLook 34 char pch 61 new char str GetLength 43 1 pch 61 str GetBuffer str GetLength 43 1 str Release
  • python中Tuple详解

    python中Tuple详解 另外 还有一个和list 很像的数据tuple 中文叫元组 他和list的主要区别就是 tuple是一开始就定义好的 即 assign first 之后就永远不能被改变了 所以 一般全局比较重要的数据 我们都是
  • 自动分析局域网内网速慢的电脑---结合IPERF,TASK SCHEDULE,PYTHON,MAIL

    今天写的 用IPERF作测试局域网速度的工具 用AD域组策略推送给客户端 xff0c xcopy y XXX XXX Iperf c Iperf 然后 xff0c 客户端会在每次LOGON的执行测试网速的BAT文件 xff0c 并将结果存放