首先是几个准备工作:
1.打开本机和目标主机的telnet功能,这里需要注意一点的是,讲目标主机用户添加到telnetGroup里面。
2.本机和目标机都要安装python
下面看代码:
# coding=utf8
import telnetlib
import threading
import os
import time
Host = '你自己的目标机ip'
username = 'test'
password = 'GWatt1234!@#'
class myThread(threading.Thread):
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
def run(self):
print "Starting " + self.name
main()
print "Exiting " + self.name
def main():
print("init telnet.")
tn = telnetlib.Telnet(Host)
print("init telnet finish.")
print("connecting......")
time.sleep(1)
print("begin login.")
tn.read_until('login: ')
tn.write(username + '\r\n')
tn.read_until('password: ')
tn.write(password + '\r\n')
print("login finish.")
time.sleep(1)
pid = os.getpid()
print("current pid:%s" % pid)
tn.read_until('test')
print("start gts2main.")
tn.write('python e:\python_js\start_gts.py' + '\r\n')
time.sleep(0.5)
print("start gts2main success.")
while 1:
# 这里进行输入获取是为了让线程阻塞,当主进程停止时调用进程结束,所以这里要阻塞,也可以使用sleep阻塞
input_info = raw_input("enter info:")
if input_info == "stop":
break
else:
print("input invalid, place input stop.")
pass
print("stop gts2main success.")
if __name__ == '__main__':
t = myThread(1, "Thread-1", 1)
t.start()
t.join()
程序相当于模拟telnet进行登录,主要方法是read_util,这是你期望的到什么结果就往里面写,如果有就显示,没有的话可以设置超时时间。
我们这里是去调用目标主机中的python文件,然后再用python的os和os.system来执行windows命令,应为os有很友好的功能函数。
目标机器python文件代码:
# coding=utf8
import os
os.chdir('E:\Server\Main Server')
os.system('start 应用程序名称')
总结,本机调用远程机器脚本文件,使用本地脚本来执行各种操作,修改起来也方便。