美文网首页
python通过telnet远程执行目标机exe程序

python通过telnet远程执行目标机exe程序

作者: KillerManA | 来源:发表于2016-08-09 14:20 被阅读305次

    首先是几个准备工作:
    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 应用程序名称')
    

    总结,本机调用远程机器脚本文件,使用本地脚本来执行各种操作,修改起来也方便。

    相关文章

      网友评论

          本文标题:python通过telnet远程执行目标机exe程序

          本文链接:https://www.haomeiwen.com/subject/ejkdsttx.html