如何在windows机器不安装agent可以上传文件,远程执行命令等,通过wmi,samba协议
很多情况下,我们想要通过代码脚本的方式去完成直接在远程操作windows机器,获取信息,或者上传执行一些文件之类的。那么通常情况下我们需要在客户机部署一个探针,也就是所谓的agent。也就是一个服务在上面跑,我们才能进行通信。
但是在这里我想告诉大家一个好事情,那就是完全可以不用安装任何。
只要确保135,445端口的开放,当然了默认这些都是有开放的噢。
然后我们接下来以python脚本的方式来进行一段测试。在Linux上安装python模块,然后远程操作windows机器
首先,我们需要安装两个插件(需有装python的前提噢)
当然了 ,这两个可能会依赖一些其他的东西,这个大家自行去查找一下包安装一下吧。
然后安装好之后呢。我们可以用命令进行一下测试远程连接windows的操作。
如下:检查网卡
wmic -U Administrator%password //10.168.3.221 "SELECT Name FROM Win32_PerfFormattedData_Tcpip_NetworkInterface"
看到没有呢。
然后我们用python的方式去执行一下。
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
import io
import wmi_client_wrapper as wmi
import os
import time
reload(sys)
sys.setdefaultencoding('utf-8')
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
host = "10.168.3.23"
user = "Administrator"
pwd = "20111bar"
try:
wmic = wmi.WmiClientWrapper(username=user,password=pwd,host=host)
data = wmic.query("SELECT BytesReceivedPersec,BytesSentPersec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface")#CPU个数
if(len(data) > 0):
for d in data:
print d['Name'].decode("utf-16le",'ignore').encode("utf-8")
except Exception,e:
print e;
查看结果:
更多深入了解或疑问请关注小编博客,定期更新,定期解答,谢谢大家