python简单的监控脚本-利用socket、psutil阻止远…
2019-03-10 11:52:32来源:博客园 阅读 ()
python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序
psutil是一个跨平台的库(http://code.google.com/p/psutil/),能够轻松的实现获取系统运行的进程和系统利用率(CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。
psutil是第三方库需要安装。pip install psutil
利用socket,psutil实现阻止远程主机运行特定的程序,本例的黑名但是直接写死的,也可以加载一个黑名单文件,方便以后扩展
客户端:
#控制进程,客户端 import sys import psutil import socket import time server=sys.argv[1] s=socket.socket() while 1: try: s.connect((server,1234)) #建立tcp连接 break except: time.sleep(5) data=s.recv(1024).decode() #接收服务器发送的黑名单 blacklist=data.split(",") #str-->list print(blacklist) s.close() #接受到黑名单,关闭资源 while 1: pids=psutil.pids() #pids所有进程的进程id (list) for i in pids: try: if psutil.Process(i).name() in blacklist: #psutil.Process().name() 进程ID对应的程序名 psutil.Process(i).terminate() #terminate 关闭程序 except: pass time.sleep(1)
服务端:
##控制进程,服务端 import sys import psutil import socket import time from threading import Thread s=socket.socket() s.bind(("0.0.0.0",1234)) s.listen(5) blacklist=['Calculator.exe','QQ.exe'] msg=','.join(blacklist) def tcplink(sock,addr): #把黑名单发送给客户端 sock.send(msg.encode()) print(addr,'OK!') sock.close() while 1: con,addr=s.accept() ts=[] t=Thread(target=tcplink,args=(con,addr)) #创建线程来处理tcp连接 ts.append(t) t.start() for i in ts: i.join()
测试:
运行QQ和计算器,发现刚运行就被关闭了。
原文链接:https://www.cnblogs.com/yuzly/p/10473662.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:python 正则表达式
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash