诚意
诚意如你,当一诚的态度对待

导航

 

【模拟ssh】

使用subprocess模块

 

案例:

 

 1 服务端:
 2 
 3 import socket
 4 import subprocess
 5 
 6 server = socket.socket()
 7 server.bind(('127.0.0.1',8811))
 8 server.listen(5)
 9 
10 while 1:
11     conn,addr = server.accept()
12     while 1:
13         try :
14             cmd = conn.recv(1024).decode('utf8')
15             if cmd == 'exit':
16                 break
17                 
18             res = subprocess.Popen(cmd,    #执行系统命令
19                                    shell=True,
20                                    stderr = subprocess.PIPE,
21                                    stdout = subprocess.PIPE
22                                    )
23             out = res.stdout.read()  #这是执行结果的正确信息
24             err= res.stderr.read()   #这是执行结果的错误信息
25             conn.send(out)
26         except Exception as e :
27             break
28     conn.close()
服务端

 

 

 1 客户端:
 2 
 3 import subprocess
 4 
 5   import socket
 6 
 7   
 8 
 9 cli = socket.socket()
10 
11 cli.connect(('127.0.0.1',8811))
12 
13   
14 
15 cmd = input(">>>")
16 
17 cli.send(cmd.encode('gbk'))
18 
19 data = cli.recv(1024)
20 
21   print(data.decode('gbk'))
客户端 
posted on 2018-09-04 22:01  诚意  阅读(135)  评论(0)    收藏  举报