1 前言
Tk是一个轻量级的跨平台图形用户界面开发工具。前段时间有使用TKinter开发了一些小程序,这次在原有TK的基础上开发一款查询linux系统网卡实时流量小工具,并返回实时流量信息。
2 准备工作
(1)安装paramiko
D:test>pip install paramiko
3 部分功能代码
(1)创建一个canvas,这里可以设置一个会话框的大小
import tkinter as tk
import requests
from tkinter import messagebox
HEIGHT = 700
WIDTH = 800
root = tk.Tk()
canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()
(2)ip地址校验
def isIP(ip):
p = re.compile('^((25[0-5]|2[0-4]d|[01]?dd?).){3}(25[0-5]|2[0-4]d|[01]?dd?)$')
if p.match(ip):
return True
else:
return False
(3)返回实时流量内容
def response_flow(arr_test):
try:
str_loc = "实时流量:n"
for arr_s in arr_test:
str_loc += arr_s + "n"
except:
str_loc = "查询异常,请稍后再查!"
return str_loc
(4)连接ssh服务
def get_speed(ip, passwd):
arr_test = []
if ip == "" or passwd == "":
messagebox.showinfo("提示", "ip地址或密码不能为空!")
if isIP(ip) == False:
messagebox.showinfo("提示", "请输入正确的ip地址!")
else:
'''
ip:对应要连接的服务器ip
port:对应连接服务器的端口
username:对应访问服务器的用户名
passwd:对应访问服务器的密码
'''
try:
port = 22
username = 'root'
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()
s.connect(ip, port, username, passwd)
......
(5)判断获取速率脚本是否存在
def is_exist(s):
str = "ll -h /home/disk|grep getSpeed.sh|wc -l"
# print(s.exec_command(str))
stdin, stdout, stderr = s.exec_command(str)
flag = stdout.read().decode()
return flag
(6)ip地址或ssh密码输入错误会提示
(7)ip地址校验提示
(8)输入ip地址和ssh密码可以查询到实时流量
欢迎关注「技术分享交流」公众号 ,如果有建议或者疑问的话,欢迎大家评论留言,如果喜欢公众号文章的话可以点【在看】,您的鼓励就是我的动力哈!!!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...