【模拟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')) |

浙公网安备 33010602011771号